推荐开源项目: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 的工作流程是:

  1. 你把目标(URL、代码仓库路径)给 Strix
  2. Strix 调用 LLM API(OpenAI/Anthropic/Google 等)来分析目标、生成攻击策略
  3. 在 Docker 沙箱里执行攻击操作
  4. 输出报告

这里面有几个隐私关键点:

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
2
3
4
5
6
7
8
9
10
11
12
# 必填:选择 LLM 模型和 API Key
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="sk-your-api-key-here"

# 可选:如果你用自定义 API 地址
export LLM_API_BASE="your-api-base-url"

# 可选:如果你想用搜索增强能力
export PERPLEXITY_API_KEY="your-api-key"

# 可选:控制 AI 的思考深度(默认 high,快速扫描用 medium)
export STRIX_REASONING_EFFORT="high"

配置会被自动保存到 ~/.strix/cli-config.json,不用每次都重新输入。

方式二:Docker

1
docker pull usestrix/strix

方式三:Homebrew(macOS)

1
brew install usestrix/tap/strix

运行你的第一次扫描

1
2
3
4
5
# 基本用法:扫描一个网站
strix --target https://your-app.com

# 带自定义指令
strix --target https://your-app.com --instruction "寻找关键漏洞"

第一次运行时会自动拉取沙箱 Docker 镜像,可能需要几分钟。

高级用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 灰盒测试(带认证信息)
strix --target https://your-app.com \
--instruction "使用账号 user:pass 进行认证测试"

# 多目标测试(源码 + 部署应用)
strix -t https://github.com/org/app -t https://your-app.com

# 白盒测试(本地源码目录)
strix --target ./app-directory --scan-mode standard

# 聚焦特定类型的漏洞
strix --target api.your-app.com \
--instruction "聚焦业务逻辑缺陷和 IDOR 漏洞"

# 通过文件提供详细指令(如测试范围、排除项)
strix --target api.your-app.com \
--instruction-file ./instruction.md

# 非交互模式(适合服务器和 CI/CD)
strix -n --target https://your-app.com

CI/CD 集成(GitHub Actions)

.github/workflows/ 里加一个 workflow 就行:

1
2
3
4
5
- name: Strix Security Scan
uses: usestrix/strix-action@v1
with:
target: ${{ github.workspace }}
llm_api_key: ${{ secrets.LLM_API_KEY }}

扫描结果会自动标记 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 或者自部署的本地模型也是不错的平衡点。