跳转到内容
全部开发指南

Strix 教程:安装、配置模型、跑第一次扫描,再接入 CI 自动做安全测试

AIGoCode发布于 更新于

Strix 教程:安装、配置模型、跑第一次扫描,再接入 CI 自动做安全测试 封面

传统的安全扫描工具有个老问题:报告一长串,真正能被利用的漏洞没几个,开发者要花大量时间逐条判断是不是误报。人工渗透测试结论可靠,但周期长、成本高,没法每次提交代码都做一遍。

Strix(usestrix/strix,Apache-2.0 协议,GitHub 上超过 7 万 Star)的思路是让一组 AI agent 像黑客一样实际去攻击你的应用:动态运行代码、找漏洞,再用概念验证(PoC)确认漏洞真的能被利用。它的 README 把这一点概括为"真实的 PoC,而不是误报"。

这篇按实际使用顺序来讲:它能做什么、怎么安装、怎么配置模型、怎么跑第一次扫描,以及怎么接进 GitHub Actions,在每个 Pull Request 上自动跑。

Strix 原文配图 1

安全提醒:Strix 会对目标发起真实的攻击测试。只扫描你自己拥有、或者已经获得授权测试的应用和环境。

Strix 能做什么

按官方 README 的介绍,Strix 的 agent 自带一整套黑客工具:

  • HTTP 代理:拦截、修改、重放请求,基于 Caido 实现;
  • 浏览器自动化:多标签页浏览器,用来测试 XSS、CSRF 和认证流程;
  • 终端环境:交互式 shell,执行命令并测试;
  • Python 运行环境:编写和验证漏洞利用代码;
  • 侦察与代码分析:自动做 OSINT 和攻击面梳理,结合静态和动态分析。

能发现的漏洞类型包括访问控制(IDOR、越权)、注入(SQL、命令、模板注入)、服务端漏洞(SSRF、XXE)、客户端漏洞(XSS、原型链污染)、业务逻辑问题(竞态条件、流程绕过)、认证问题(JWT、会话管理)以及 API 安全问题。发现的问题会附带 CVSS 评分、OWASP 分类和修复建议。

Strix 工具与漏洞类型 原文配图 2

多个 agent 会分工协作:有的负责侦察,有的负责具体攻击,互相共享发现,可以并行测试不同的攻击面。

第一步:准备环境并安装

Strix 的扫描跑在 Docker 沙箱里,所以开始前要准备两样东西:

  1. Docker,并且已经启动。第一次扫描时 Strix 会自动拉取沙箱镜像。
  2. 一个大模型 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。

Strix 接入 CI 原文配图 3

不想自己管 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 这类工具给生成的代码做安全把关。

参考链接