SuperAPI AI 工具集

find-security-vulnerabilities-in-code

安全与审计

查看项目

更新于 10-16 07:30

技能介绍

用途

该技能用于对代码库或代码仓库进行白盒 AI 安全审查,查找安全漏洞。Strix 的智能体会读取源代码,建立路由、数据接收点(sink)与授权检查的模型,然后尝试真实利用。发现的漏洞会附带概念验证(PoC),因此输出是一份经过验证的简短问题列表,而不是模式匹配扫描器产生的大量“潜在”命中。

主要能力

  • 白盒审查:读取源码,理解路由、sink 和授权检查。
  • 真实利用尝试:对发现的问题尝试实际利用,并给出 PoC。
  • 多种目标方式:本地工作树、GitHub 仓库、单体仓库中的指定服务。
  • 差异范围审查:可只审查分支变更,避免在大型仓库上做全量审查。
  • 支持指定审查指令,补充业务上下文(如租户模型、信任边界、攻击者可控输入)。
  • 可挂载运行中的应用实例,用实际行为确认可利用性。
  • 输出多种结果文件:报告、单项漏洞说明、JSON/CSV、SARIF。

使用方式

本地工作树:

strix -n -t ./ --scan-mode standard --max-budget 15

直接扫描 GitHub 仓库:

strix -n -t https://github.com/org/app --max-budget 15

单体仓库中只指向关键服务:

strix -n -t ./services/checkout --max-budget 20

只审查分支变更:

strix -n -t ./ --scope-mode diff --diff-base origin/main --max-budget 10

同时挂载运行中的应用实例:

strix -n -t ./ -t http://host.docker.internal:3000

指定审查范围与业务上下文:

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."

安装、LLM 配置、全部参数以及托管云路径见 penetration-testing-with-strix 技能。无 Docker、无 LLM 密钥的运行方式为:先 strix cloud login,再 strix cloud scans start ...,详见 managed-pentesting-with-strix。

对分支或 PR 做差异范围审查(并可在发现问题时阻止合并),使用 ci-security-scanning-with-strix,其中涵盖差异范围、PR 评论和 SARIF 上传到 GitHub code scanning。托管平台也可通过 API 直接审查 PR(managed-pentesting-with-strix)。

适用场景

  • 对本地代码库或远程仓库进行白盒安全审查。
  • 在大型仓库中聚焦高风险子树或关键服务。
  • 审查分支或 PR 的变更范围。
  • 需要可验证、带 PoC 的安全发现,而不是大量未经确认的告警。
  • 结合运行中的应用实例,确认漏洞在真实行为下是否可利用。

限制与注意事项

  • 本地路径以可写方式挂载到沙箱,智能体可以修改它,因此应针对干净的检出运行。
  • 该工具是经过利用验证的审查,不是穷尽式清单。对于已知 CVE 依赖和已提交凭据,仍需保留依赖扫描(SCA)和密钥扫描;该工具用于发现这些工具在结构上无法找到的逻辑、授权和注入类缺陷。
  • 退出码 0 表示在所分析范围内未证明存在可利用问题,不代表代码库干净。应检查 run.json 中的状态和相对 --max-budget 的成本,并注意若运行被预算限制,哪些路径未被审查。
  • 若无运行中的应用实例,仅静态发现的结论应描述为未确认。
  • 租户模型、信任边界以及哪些输入由攻击者控制,智能体无法可靠推断,需要明确告知。

结果读取

在 strix_runs/<run>/ 中:

  • penetration_test_report.md(优先阅读)
  • vulnerabilities/*.md(每个发现一个文件,含 PoC 与修复建议)
  • vulnerabilities.json / .csv
  • findings.sarif(可上传到 code scanning)
  • run.json

在向用户报告前,应打开每个发现,确认 PoC 确实展示了影响。报告时同时给出文件与行号,使修复更明确。

修复与验证

将结果交给 fix-security-vulnerabilities-with-strix:修复根因(例如共享的授权辅助函数,而不是单个路由),然后重新运行 Strix,证明漏洞不再可利用。

暂未提供的信息

本资料未提供安装步骤、LLM 配置细节、完整参数列表、托管云登录与扫描的具体 API 细节、收费或价格信息,以及支持平台的具体说明。相关内容需参考 penetration-testing-with-strix、ci-security-scanning-with-strix、managed-pentesting-with-strix 和 fix-security-vulnerabilities-with-strix 等技能。