2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
停止合并存在漏洞的 API 代码 —— 使用 Semgrep + Claude AI 自动化拉取请求安全门禁
每个团队都说“合并后我们会修复它”。
他们很少真正做到。
我构建了 vorsken —— 一个 GitHub 动作,用于在包含
API 漏洞的拉取请求到达主分支之前将其拦截。
它将 Semgrep 静态分析与 Claude AI 相结合,直接在拉取请求评论中发布通俗易懂的
裁决:阻止 / 标记 / 通过。
以下是在 5 分钟内将其添加到任何仓库的方法。
功能说明
当拉取请求被打开或更新时:
- Semgrep 使用 OWASP API 安全前十规则扫描更改的文件
- Claude AI 分析发现结果并生成人类可读的报告
- 裁决作为拉取请求评论发布
- “阻止”裁决会导致必需检查失败 —— 从而防止合并
拉取请求已打开
└─▶ Semgrep 使用 OWASP API 前十规则进行扫描
└─▶ Claude AI 用通俗语言解释每项发现
└─▶ 将 阻止 / 标记 / 通过 作为拉取请求评论发布
└─▶ 阻止 = 合并被阻止 ✋
文本
为何不单独使用 Semgrep?
Semgrep 提供规则 ID 和行号。
vorsken 添加了开发人员真正需要的上下文:
| 仅 Semgrep | vorsken | |
|---|---|---|
| 发现位置 | ✅ | ✅ |
| OWASP 类别 | ✅ | ✅ |
| 风险含义 | ❌ | ✅(Claude 解释) |
| 具体修复建议 | ❌ | ✅(Claude 建议) |
| 拉取请求评论 | ❌ | ✅(自动发布) |
| 在“阻止”时阻断合并 | ❌ | ✅ |
设置(5 分钟)
1. 添加您的 Anthropic API 密钥
在您的仓库中:设置 → 机密 → 动作 → 新建仓库机密
- 名称:
ANTHROPIC_API_KEY - 值:
sk-ant-...
还没有密钥?请在 console.anthropic.com 获取。
2. 创建工作流文件
创建 .github/workflows/policy-gate.yml:
name: 策略门禁
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
gate:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: zetide/vorsken@v0.2
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。