自动poc工具
推荐开源项目:Strix —— 开源 AI 渗透测试工具,自动挖洞还能出报告
做了几年安全相关的工作,捣鼓过不少渗透测试工具。从 Nessus 到 Burp Suite,从 OpenVAS 到 Nuclei,各有各的长处,但都有一个通病——误报太多。
你花一整个下午跑了一把扫描,出来几百个”疑似漏洞”,挨个验证下来发现大部分都是虚惊一场。真正能用的发现没几个,时间倒是耗进去不少。
后来同事甩给我一个项目:usestrix/strix,说这是目前开源圈子里做的比较认真的 AI 渗透测试工具。我试了一下,觉得确实值得写一篇认真聊聊。
Strix 是什么?
官方的说法是”开源 AI 渗透测试工具”,但更准确地说,它是一个由 AI Agent 驱动的自动化渗透测试框架。
你给它一个目标(网址、源码仓库、API),它不会像传统扫描器那样只是走一遍签名库。它会像真正的黑客一样——先侦察、再分析、然后尝试利用漏洞,最后给你出带有 PoC(验证利用代码)的报告。如果它报告了一个漏洞,那就是它确实”黑进去了”。
项目技术栈以 Python 为主(91.6%),配合 Docker 沙箱运行。最新的版本是 v1.0.4,Apache-2.0 协议,在 GitHub 上有 51 个贡献者,更新很活跃。
有什么特别之处?
1. 多 Agent 协作架构
传统工具通常是一个扫描引擎跑到底。Strix 用的是”Graph of Agents(多 Agent 图)”架构——多个专门的 AI 渗透测试 Agent 并行工作,有的负责侦察,有的负责利用,有的负责提权。它们之间会共享发现,串联漏洞利用链,像一支红队一样协作。
2. 真的去验证漏洞,而不是猜测
这是它和我用过的其他工具最大的区别。Strix 不是根据签名去匹配”这里看起来像是 SQL 注入”,而是真的去注入语句,看能不能拿到数据。验证成功才出报告,验证失败就不报。这个逻辑叫”Proof-by-Exploitation”——没有成功利用,就不算漏洞。
3. 能出 PoC 还能自动修
检出漏洞之后,Strix 不只是告诉你”这里有个洞”,它会生成可以复现的 PoC 代码,甚至能直接生成修复补丁。对于跑 CI/CD 的团队来说,它还能和 GitHub Actions 集成,每次 PR 自动跑一遍,有漏洞就阻断合并。
4. 覆盖面很广
根据文档,它覆盖的漏洞类型包括:
- 访问控制缺陷:IDOR、越权、认证绕过
- 注入攻击:SQL 注入、NoSQL 注入、命令注入、SSTI
- 服务端漏洞:SSRF、XXE、反序列化、RCE
- 客户端攻击:XSS(存储型/反射型/DOM)、原型链污染、CSRF
- 业务逻辑缺陷:条件竞争、支付篡改、工作流绕过
- 认证与会话:JWT 攻击、会话固定
- 基础设施与云:配置错误、暴露服务
- API 安全:认证缺陷、批量赋值、限流绕过
基本覆盖了 OWASP Top 10 和更多。
适合什么人群?
安全工程师 / 渗透测试人员
日常做安全测试的时候,很多重复劳动可以交给 Strix 来做。它帮你做初步侦察和漏洞验证,你只需要关注它报告里那些确实被利用了的结果,然后做进一步分析。
开发团队(DevSecOps)
如果你的团队没有专门的安全人员,但又想在 CI/CD 里做安全测试,Strix 是比较合适的选择。一条命令就能集成到 GitHub Actions 里,每次 PR 自动测一次。
初创公司 / 小团队
请不起专门的渗透测试团队,但又不希望产品上线后被爆出严重漏洞。Strix 作为一个自动化方案,能在预算有限的情况下提供一个安全基线。
不适合谁?
如果你的目标是合规审计(SOC 2、PCI DSS 之类的),自动化工具只能作为辅助,不能替代人工渗透测试。另外,如果你是安全新手,完全依赖 AI 工具而不去理解漏洞原理,也不是一个好习惯。
隐私方面怎么样?
这部分我特意做了了解。
Strix 的工作流程是:
- 你把目标(URL、代码仓库路径)给 Strix
- Strix 调用 LLM API(OpenAI/Anthropic/Google 等)来分析目标、生成攻击策略
- 在 Docker 沙箱里执行攻击操作
- 输出报告
这里面有几个隐私关键点:
LLM API 的数据去向
Strix 会把目标代码或 URL 相关的信息发送到你配置的 LLM 提供商(比如 OpenAI)来分析。这意味着你的目标信息会经过第三方 LLM 服务商。如果你在测试一个敏感的内部系统,这点需要特别注意。
解决方案有两个:
- 使用本地模型(Ollama、LMStudio 等),不走外网 API
- 使用 Azure OpenAI 或 Vertex AI 等企业级部署,数据不出你的云账号
沙箱隔离
Strix 的所有攻击操作都在 Docker 容器里执行,不会影响到宿主机。这个设计是安全的。
报告数据
Strix 生成的报告默认保存在本地 strix_runs/<run-name>/ 目录下。如果你用官方的云平台(app.strix.ai),数据会经过他们的服务器。如果你自部署 CLI 版本,数据全在你本地。
一句话总结
如果你自部署 Strix CLI,配合本地 LLM 模型使用,数据完全可控。如果你用云平台或者第三方 LLM API,你的目标信息会经过外部服务,需要根据你自己的安全策略评估风险。
部署和使用教程
Strix 的部署方式很灵活,我试了以下几种。
前置条件
- Docker(必须,用于沙箱运行)
- 一个 LLM API Key(OpenAI、Anthropic、Google 等,看你选哪个)
方式一:pip 安装(推荐)
1 | pip install strix-agent |
安装完成后,配置环境变量:
1 | # 必填:选择 LLM 模型和 API Key |
配置会被自动保存到 ~/.strix/cli-config.json,不用每次都重新输入。
方式二:Docker
1 | docker pull usestrix/strix |
方式三:Homebrew(macOS)
1 | brew install usestrix/tap/strix |
运行你的第一次扫描
1 | # 基本用法:扫描一个网站 |
第一次运行时会自动拉取沙箱 Docker 镜像,可能需要几分钟。
高级用法
1 | # 灰盒测试(带认证信息) |
CI/CD 集成(GitHub Actions)
在 .github/workflows/ 里加一个 workflow 就行:
1 | - name: Strix Security Scan |
扫描结果会自动标记 PR,有漏洞就阻断合并。
实际体验
我从拉镜像到跑完第一次扫描,大概花了 15 分钟左右(包括了 Docker 镜像下载时间,首次大约 5GB)。扫描一个中等规模的 Web 应用,跑了大概 40 分钟,发现了 3 个真实漏洞(一个 XSS、一个 IDOR、一个信息泄露)。
好的方面:
- 误报率极低。报出来的漏洞我挨个验证了,基本都是真的。
- 报告质量高。每个漏洞都附带了 PoC 和修复建议,甚至生成了修复代码。
- 指令理解能力强。我让它”只测登录相关的安全点”,它就真的只在登录模块打转。
不太好的方面:
- Token 消耗不小。跑一次扫描,按 GPT-5.4 算大概花了 2-3 美金的 API 费用。对个人用户来说不算便宜。
- 扫描速度一般。因为 AI 要一步步推理,比传统的签名扫描慢不少。
- Docker 镜像很大。首次拉取 5GB,网络不好的话等得有点久。
- 需要一定的学习成本。虽然用法简单,但要配好 LLM 模型、理解各个参数,还是需要一点耐心。
同类项目对比
| 项目 | 类型 | 特点 |
|---|---|---|
| Strix | AI Agent 渗透测试 | 多 Agent 协作、PoC 验证、自动修复、可 CI/CD 集成 |
| Shannon | AI 渗透测试 | 也走 AI Agent 路线,侧重 Web 漏洞验证 |
| Nessus / OpenVAS | 传统漏洞扫描 | 扫描速度快但误报多,无 PoC 验证 |
| Burp Suite Pro | 手动渗透测试辅助 | 功能强大但需要人工操作,自动化较弱 |
| Nuclei | 模板化漏洞扫描 | 轻量且模板丰富,但没有 AI 分析能力 |
Strix 的定位很明确——它是一个AI-native 的渗透测试框架,和传统扫描器走的是不同的路线。它更适合那些愿意用 LLM Token 换更少误报、更高漏洞验证准确率的团队。
最后说几句
Strix 是我目前在开源领域看到的 AI 渗透测试工具里完成度比较高的一个。它的核心设计思路是对的——AI 不应该只是给传统工具加个”智能”的标签,而应该从底层改变漏洞发现和验证的方式。
但也要理性看待:它还不能完全替代人工渗透测试,特别是那些需要复杂业务逻辑理解的场景。不过作为一个自动化安全基线,它做得相当不错了。
如果你在做安全测试或者 DevSecOps 相关的工作,值得花一个下午试试。
项目地址:https://github.com/usestrix/strix
文档:https://docs.strix.ai/
官网:https://strix.ai/
一点提醒:配置 LLM 的时候建议选一个性价比合适的模型,GPT-5.4 效果最好但也最贵,Anthropic Claude Sonnet 或者自部署的本地模型也是不错的平衡点。
