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)的报告。

- **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, 代码安全审计, 反取证, 安全评估, 应用安全, 逆向工具, 错误基检测, 静态代码分析