
传统的安全扫描工具有个老问题:报告一长串,真正能被利用的漏洞没几个,开发者要花大量时间逐条判断是不是误报。人工渗透测试结论可靠,但周期长、成本高,没法每次提交代码都做一遍。
Strix(usestrix/strix,Apache-2.0 协议,GitHub 上超过 7 万 Star)的思路是让一组 AI agent 像黑客一样实际去攻击你的应用:动态运行代码、找漏洞,再用概念验证(PoC)确认漏洞真的能被利用。它的 README 把这一点概括为"真实的 PoC,而不是误报"。
这篇按实际使用顺序来讲:它能做什么、怎么安装、怎么配置模型、怎么跑第一次扫描,以及怎么接进 GitHub Actions,在每个 Pull Request 上自动跑。

安全提醒:Strix 会对目标发起真实的攻击测试。只扫描你自己拥有、或者已经获得授权测试的应用和环境。
Strix 能做什么
按官方 README 的介绍,Strix 的 agent 自带一整套黑客工具:
- HTTP 代理:拦截、修改、重放请求,基于 Caido 实现;
- 浏览器自动化:多标签页浏览器,用来测试 XSS、CSRF 和认证流程;
- 终端环境:交互式 shell,执行命令并测试;
- Python 运行环境:编写和验证漏洞利用代码;
- 侦察与代码分析:自动做 OSINT 和攻击面梳理,结合静态和动态分析。
能发现的漏洞类型包括访问控制(IDOR、越权)、注入(SQL、命令、模板注入)、服务端漏洞(SSRF、XXE)、客户端漏洞(XSS、原型链污染)、业务逻辑问题(竞态条件、流程绕过)、认证问题(JWT、会话管理)以及 API 安全问题。发现的问题会附带 CVSS 评分、OWASP 分类和修复建议。

多个 agent 会分工协作:有的负责侦察,有的负责具体攻击,互相共享发现,可以并行测试不同的攻击面。
第一步:准备环境并安装
Strix 的扫描跑在 Docker 沙箱里,所以开始前要准备两样东西:
- Docker,并且已经启动。第一次扫描时 Strix 会自动拉取沙箱镜像。
- 一个大模型 API Key。Strix 支持 OpenAI、Anthropic、Google 等多家模型服务。
官方提供脚本安装和 pipx 安装两种方式,这里用 pipx:
pipx install strix-agent
装好后,终端里就有 strix 命令了。以后升级用 pipx upgrade strix-agent。
第二步:配置模型
Strix 通过两个环境变量读取模型配置:STRIX_LLM 指定用哪个模型,LLM_API_KEY 填对应的 Key。官方快速开始推荐通过 Vercel AI Gateway 或 OpenRouter 使用 GLM-5.3:
export STRIX_LLM="vercel_ai_gateway/zai/glm-5.3"
export LLM_API_KEY="your-api-key"
几个配置细节:
- 用本地模型或自建兼容接口时,可以再设置
LLM_API_BASE指定接口地址; - 如果有 ChatGPT 订阅,也可以运行
strix auth login chatgpt登录,再把STRIX_LLM设为官方文档给出的 chatgpt 开头的模型名; - 配置会自动保存到
~/.strix/cli-config.json,下次运行不用重新设置。
第三步:跑第一次扫描
最简单的用法是扫描本地代码目录:
strix --target ./your-app
--target(简写 -t)支持多种目标:本地目录、GitHub 仓库地址、线上网站、OpenAPI/Swagger 文件、Postman 集合。还可以一次传多个目标,比如把代码仓库和测试环境网址一起交给它做白盒测试:
strix -t https://github.com/org/app -t https://staging.example.com
目标多的话,可以写进一个文本文件,用 --target-list 读取。
需要登录才能测的功能,可以用 --instruction 把测试账号和重点交代清楚:
strix --target https://app.com --instruction "Focus on IDOR and auth bypass"
扫描深度用 --scan-mode 控制,有 quick、standard、deep 三档,默认是 deep。想控制花费,可以用 --max-budget 和 --max-turns 给成本和每个 agent 的轮数设上限。
扫描结果保存在当前目录的 strix_runs/<运行名称> 下。想在浏览器里翻看历史扫描,可以运行 strix view 打开本地查看器。
第四步:接入 GitHub Actions
Strix 的无界面模式(-n 或 --non-interactive)是为 CI 准备的:不显示终端界面,只输出结果;发现漏洞时以非零退出码结束,CI 就能据此拦下有问题的 PR。官方 CLI 文档给的 CI 用法:
strix -n --target ./ --scan-mode quick
如果只想在发现高危或严重漏洞时才让流水线失败,加 --fail-on high。低于这个级别的发现仍会写进报告。
一个最小的 GitHub Actions 工作流如下:
name: strix-penetration-test
on:
pull_request:
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Strix
run: pipx install strix-agent
- name: Run Strix
run: strix -n -t ./ --scan-mode quick
这里有两点要注意:
- API Key 放进仓库 Secrets。在仓库的 Settings → Secrets and variables → Actions 里添加
STRIX_LLM和LLM_API_KEY,再在 Run Strix 这一步的env中把它们映射成同名环境变量(写法参照 GitHub Actions 引用 secrets 的标准语法)。不要把 Key 直接写进工作流文件。 - 保留
fetch-depth: 0。在 PR 里运行时,Strix 默认只扫描这次改动的文件(diff-scope),需要完整的 Git 历史来计算改动范围。想强制全量扫描,可以加--scope-mode full。

不想自己管 Docker 和 Key?
如果不想在本地装 Docker、自己准备模型 Key,Strix 还有托管平台 app.strix.ai,可以用 strix cloud 命令在终端里发起云端扫描。开源版完全免费,本地运行,用的是你自己的模型 Key。
什么时候适合用 Strix
- 上线前做一次深度扫描:用
deep模式,把代码仓库和测试环境一起交给它; - 每个 PR 自动跑:在 CI 里用
quick模式加 diff-scope,只看这次改动; - AI 写的代码做一道安全复查:AI 编程助手生成代码很快,安全问题也可能跟着进来,Strix 能补上验证这一环。
AI 写代码时的安全边界还可以参考 AI 编程沙箱安全怎么做;想让 AI 在 GitHub 上做代码审查,可以看 Codex GitHub 代码审查工作流。
如果你也在用 AI 编程助手写代码,可以在 AIGoCode 接入 Claude Code、Codex 等工具,再用 Strix 这类工具给生成的代码做安全把关。
参考链接
- Strix GitHub:https://github.com/usestrix/strix
- Strix 文档:https://docs.strix.ai