关于 find-security-vulnerabilities-in-code
面向代码库的 Strix 白盒安全审查指南,通过分析源码并尝试真实利用来验证问题。适用于希望获得带概念验证和修复建议的团队,而非仅依赖静态匹配告警。
主要功能
- 01从源码分析路由与授权检查
- 02尝试利用代码中的安全问题
- 03生成概念验证与修复建议
- 04支持本地目录和 GitHub 仓库
适用场景
- 01审查代码库中的授权逻辑
- 02对特定服务或目录进行定向检查
- 03结合运行中的应用验证可利用性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ usestrix/ strix --skill find-security-vulnerabilities-in-code安装后在 Claude Code 中输入/find-security-vulnerabilities-in-code确认已加载。
详细介绍
在代码中查找安全漏洞
使用 Strix 进行白盒安全审查:Agent 会读取源代码,构建路由、风险点和授权检查的模型,然后尝试实际利用漏洞。每条发现都附有概念验证(PoC),因此输出的是一份精简的已验证问题列表,而不是模式匹配扫描器生成的数百条“潜在”问题。
安装、LLM 设置、所有标志和托管云方案详见 penetration-testing-with-strix 技能。如果要在没有 Docker 和 LLM 密钥的情况下运行,同一个二进制文件也能驱动托管平台:先运行 strix cloud login,然后运行 strix cloud scans start ...(详情见 managed-pentesting-with-strix)。
运行
# Local working tree
strix -n -t ./ --scan-mode standard --max-budget 15
# A GitHub repo directly
strix -n -t https://github.com/org/app --max-budget 15
# Monorepo: point at the service that matters, not the whole tree
strix -n -t ./services/checkout --max-budget 20
# Only what a branch changed (whole-repo review is wasteful on a large repo)
strix -n -t ./ --scope-mode diff --diff-base origin/main --max-budget 10
本地路径会以可写方式挂载到沙盒中,因此 Agent 可以修改它。请在干净的检出版本上运行。
有两点可以显著提升结果:
- 提供一个正在运行的应用实例。
-t ./ -t http://host.docker.internal:3000能让 Agent 根据实时行为确认漏洞是否可利用,而不是仅靠静态分析进行推断——这正是“看起来不安全”和已验证发现之间的区别。如果没有正在运行的实例,应将仅基于静态分析得出的发现标记为未确认。 - 限定审查范围。 指定有风险的子目录,并说明重点:
Agent 无法可靠推断租户模型、信任边界以及哪些输入由攻击者控制——请明确告知。strix -n -t ./services/api --max-budget 15 \ --instruction "Focus on the authorization layer in src/auth and every route under src/routes/admin. Multi-tenant app: tenant id comes from the JWT. Flag any query that filters by object id without also filtering by tenant."
审查拉取请求,而非整个代码库
如需对分支或 PR 进行差异范围审查(并阻止存在问题的合并),请使用 ci-security-scanning-with-strix——它涵盖差异范围限定、PR 评论以及向 GitHub code scanning 上传 SARIF。也可以通过 API 使用托管平台直接审查 PR(managed-pentesting-with-strix)。
查看结果
在 strix_runs/<run>/ 中:penetration_test_report.md(从这里开始)、vulnerabilities/*.md(每项发现各一份,附有 PoC 和修复建议)、vulnerabilities.json / .csv、findings.sarif(上传到 code scanning)、run.json。
向用户报告之前,请打开每项发现,并确认 PoC 确实证明了其影响。报告文件和行号,并附上攻击利用方式,以便明确修复位置。
退出码 0 表示在已分析的内容中没有证实任何可利用的问题——并不意味着代码库没有问题。请检查 run.json 中的状态和费用是否超出 --max-budget,如果运行因预算上限而提前结束,请注明哪些路径尚未审查。
配套工具
这是经过攻击利用验证的审查,并非穷尽式清查。请继续使用依赖扫描器(SCA)和密钥扫描,以全面覆盖已知存在 CVE 的依赖项和已提交的凭据;对于这些工具因原理限制而无法发现的逻辑、授权和注入漏洞,则使用本工具。
修复并验证
将结果交给 fix-security-vulnerabilities-with-strix:修复根本原因(修复通用授权辅助函数,而不是单个路由),然后重新运行 Strix,证明攻击利用已不再奏效。