give-jd/deep-security-check

GitHub: give-jd/deep-security-check

为 Claude Code 设计的只读静态安全评估技能,整合 Semgrep、osv-scanner 和 gitleaks 三大扫描器,生成可复现的可靠性评分报告。

Stars: 2 | Forks: 1

# deep-security-check 一个用于 [Claude Code](https://claude.com/claude-code) 的**防御性、只读**安全评估技能。 将其指向本地项目;它会运行三个顶级的开源扫描器,并 返回一份带有**可复现可靠性评分**(0–100, A–F)的报告。 ![deep-security-check 演示:扫描项目,获取可复现的评分](https://raw.githubusercontent.com/give-jd/deep-security-check/main/docs/demo.gif) - **SAST** — [Semgrep](https://semgrep.dev) (`p/default` 规则集) - **SCA** — [osv-scanner](https://github.com/google/osv-scanner) (通过 OSV.dev 检测依赖项 CVE) - **Secrets** — [gitleaks](https://github.com/gitleaks/gitleaks) - **动态测试面** — 一次静态、零流量的检查(`surface.py`),标记出 *动态*测试应该检查的地方(宽松的 CORS、缺失的安全标头、 不安全的 cookie、调试/全绑定配置)。仅为建议性提示 — 它们 不会改变评分,并且在经过授权的 DAST 运行检查之前均未确认。 仅静态分析。它**读取**项目,绝不修改项目。它**不是** 渗透测试,并且**绝不向实时或远程目标发送网络流量**。 仅供防御性使用 — 查找你拥有或被授权检查的代码中的 弱点。动态测试 (DAST) 有意不在可公开 安装的技能范围内;请针对已授权的 staging 目标单独运行它。 ## 安装 ``` /plugin marketplace add give-jd/deep-security-check # once the repo is public /plugin install deep-security-check@give-security ``` 或者,从本地克隆中,将该目录添加为 marketplace: ``` /plugin marketplace add /path/to/security-scan-skill ``` 然后只需询问 Claude:*“就安全性而言,这个项目有多可靠?”*,它就会 调用该技能。 ## 要求 你的 `PATH` 中至少需要有一个扫描器(安装得越多 → 置信度越高): | 工具 | 安装 | |------|---------| | Semgrep | `pipx install semgrep` | | osv-scanner | https://github.com/google/osv-scanner/releases | | gitleaks | https://github.com/gitleaks/gitleaks/releases | Semgrep 的 `p/default` 规则集会在首次运行时从 registry 获取(需要 一次网络连接),然后进行缓存。 受外发限制的环境(代理/白名单)?两个环境变量: `DSC_SEMGREP_CONFIG=` 将 semgrep 指向本地规则集(跳过 registry 检查),而 `DSC_SEMGREP_TIMEOUT=` 限制 semgrep 的运行时间 (默认为 900)。如果无法访问 registry 且未设置本地规则集, semgrep 将被优雅地跳过,并且分数的置信度会反映这一点。 ## 直接使用(不通过 Claude) ``` OUT=$(bash skills/deep-security-check/scripts/scan.sh | grep '^OUT=' | cut -d= -f2) python3 skills/deep-security-check/scripts/score.py --sarif-dir "$OUT" ``` ## 评分 `score.py` 负责计算这个数值,因此它是确定性的,而非模型的推测。从 100 开始, 减去基于所有发现结果的、设有上限的单项严重性惩罚,然后应用上限规则: | 严重性 | 每项惩罚 | 上限 | |----------|-------------|-----| | critical | 25 | 60 | | high | 8 | 30 | | medium | 1.5 | 15 | | low | 0.25 | 6 | 上限规则:任何 **critical** → 评分 ≤ 69 · 任何 **high** → 评分 ≤ 84。 评级:A 90–100 · B 80–89 · C 70–79 · D 60–69 · E 50–59 · F <50。 `assessment_confidence` 报告对分数本身的信任程度:只有在 所有三类扫描器都运行过时才为 `high`;一次性的静态扫描永远无法 替代渗透测试,报告中也指出了这一点。 手动复现该评分标准 — 或者运行 `python3 .../score.py --selfcheck`。 ## 许可证 MIT。
标签:AI编程助手, Claude Code, 代码安全审计, 反取证, 安全评估, 应用安全, 逆向工具, 错误基检测, 静态代码分析