Strix 介绍:用 AI Agent 做自动化渗透测试和漏洞修复

介绍 usestrix/strix 的定位、核心能力、安装配置、扫描命令、CI/CD 集成和使用边界,帮助开发者理解这款 AI 渗透测试工具。

Strix 是一个开源 AI 渗透测试工具。它的定位不是传统静态扫描器,而是一组可以动态运行代码、探索攻击面、尝试利用并验证漏洞的 AI pentesting agents。项目 README 对它的描述很直接:用类似真实黑客的方式发现并修复应用漏洞。

这类工具最适合开发团队、安全团队和 DevSecOps 流程使用:在本地代码库、GitHub 仓库、Web 应用或 CI/CD 中运行测试,尽早发现高风险问题,并把漏洞复现、修复建议甚至补丁生成串起来。

需要先强调边界:Strix 只能用于你拥有或明确获得授权的应用、仓库和域名。不要把它用于未授权目标。渗透测试工具的价值在于帮助防御和修复,而不是绕过授权。

Strix 解决什么问题

传统安全检测常见两类痛点:静态扫描误报多,人工渗透测试周期长。Strix 想做的是把 AI Agent、动态执行环境和渗透测试工具链结合起来,让安全检查更接近真实攻击路径。

它的核心能力包括:

  • 内置渗透测试工具链:侦察、利用、验证等步骤开箱可用。
  • 多 Agent 编排:多个 AI 渗透测试 Agent 可以分工协作。
  • 真实漏洞验证:强调可运行的 PoC,而不是只给静态告警。
  • 面向开发者的 CLI:输出可执行的发现、复现步骤和修复建议。
  • 自动修复和报告:生成补丁以及适合合规场景的渗透测试报告。

换句话说,Strix 不只是告诉你“这里可能有问题”,而是尽量回答三个更关键的问题:问题能不能被利用、怎么复现、应该怎么修。

适用场景

Strix 的 README 给出的典型场景包括:

  • Application Security Testing:检测并验证应用中的关键漏洞。
  • Rapid Penetration Testing:把渗透测试周期从几周压缩到更短时间,并生成报告。
  • Bug Bounty Automation:辅助漏洞赏金研究,生成 PoC 和复现材料。
  • CI/CD Integration:在 pull request 或部署流水线中运行安全测试,阻止高风险代码进入生产环境。

如果团队已经有 SAST、依赖扫描和容器扫描,Strix 可以作为动态验证层补充进来。它更适合发现“实际能打通”的路径,例如访问控制绕过、业务逻辑缺陷、身份认证问题、XSS、SSRF、SQL 注入、API 滥用等。

安装前准备

运行 Strix 前需要准备两类东西:

  1. Docker,并确保 Docker 正在运行。
  2. 一个受支持 LLM Provider 的 API Key,例如 OpenAI、Anthropic、Google 等。

第一次运行时,Strix 会自动拉取 sandbox Docker image。扫描结果会保存到:

1
strix_runs/<run-name>

这意味着它不是单纯读取文件后立刻输出结论,而是会在沙箱环境里做动态测试和验证。生产项目使用前,建议先在测试仓库或 staging 环境里跑一遍,确认范围、成本、耗时和输出格式。

安装与首次扫描

README 给出的安装方式是直接执行官方安装脚本:

1
curl -sSL https://strix.ai/install | bash

安装后配置 AI Provider。示例使用 OpenAI:

1
2
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="your-api-key"

然后对本地应用目录运行第一次安全评估:

1
strix --target ./app-directory

如果你更关注一个远程仓库,也可以把目标换成 GitHub URL:

1
strix --target https://github.com/org/repo

如果要做黑盒 Web 应用测试,可以直接指定 URL:

1
strix --target https://your-app.com

这三个入口分别对应本地代码库、远程代码仓库和线上应用。实际使用时,不要一次把范围放得过大。先从单个服务、单个仓库或 staging 域名开始,更容易控制测试噪音和成本。

进阶扫描方式

Strix 支持给 Agent 添加额外指令,适合灰盒测试、带账号测试、业务逻辑测试和限定范围测试。

例如带认证信息做灰盒测试:

1
strix --target https://your-app.com --instruction "Perform authenticated testing using credentials: user:pass"

同时测试源码和部署后的应用:

1
strix -t https://github.com/org/app -t https://your-app.com

对本地仓库做源码感知扫描:

1
strix --target ./app-directory --scan-mode standard

聚焦业务逻辑缺陷和 IDOR:

1
strix --target api.your-app.com --instruction "Focus on business logic flaws and IDOR vulnerabilities"

如果测试范围、规则、排除项比较复杂,可以放到文件里:

1
strix --target api.your-app.com --instruction-file ./instruction.md

在 PR 场景中,可以强制只看某个 base branch 的 diff 范围:

1
strix -n --target ./ --scan-mode quick --scope-mode diff --diff-base origin/main

这些参数很重要。安全工具越强,越需要明确 scope。建议在 instruction.md 中写清楚允许测试的域名、路径、账号、禁止行为、速率限制、测试窗口和联系人。

Headless 模式

服务器、CI/CD 和自动化任务通常不需要交互式 UI。Strix 可以用 -n/--non-interactive 启动 headless 模式:

1
strix -n --target https://your-app.com

在这个模式下,CLI 会实时打印漏洞发现,并在退出前输出最终报告。如果发现漏洞,会以非零退出码结束。这对 CI/CD 很有用,因为流水线可以据此阻止合并或发布。

GitHub Actions 集成

Strix 可以放进 GitHub Actions,在 pull request 上运行轻量安全测试。README 示例大致如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
name: strix-penetration-test

on:
  pull_request:

jobs:
  security-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Install Strix
        run: curl -sSL https://strix.ai/install | bash

      - name: Run Strix
        env:
          STRIX_LLM: ${{ secrets.STRIX_LLM }}
          LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
        run: strix -n -t ./ --scan-mode quick

这里有两个细节:

  • fetch-depth: 0 很重要,PR diff 范围分析需要完整历史。
  • API Key 应放在 GitHub Secrets 中,不要写进仓库。

README 还提醒,在 CI 的 pull request 运行中,Strix 会自动把 quick review 范围限制到变更文件。如果 diff scope 无法解析,要么确保 checkout 使用完整历史,要么显式传入 --diff-base

配置项

常用环境变量如下:

1
2
3
4
5
6
7
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="your-api-key"

# Optional
export LLM_API_BASE="your-api-base-url"  # if using a local model, e.g. Ollama, LMStudio
export PERPLEXITY_API_KEY="your-api-key"  # for search capabilities
export STRIX_REASONING_EFFORT="high"  # control thinking effort (default: high, quick scan: medium)

Strix 会把配置保存到:

1
~/.strix/cli-config.json

这样后续运行时不需要每次重新输入。README 推荐的模型包括:

  • openai/gpt-5.4
  • anthropic/claude-sonnet-4-6
  • vertex_ai/gemini-3-pro-preview

实际选择模型时,可以按任务类型取舍:quick scan 更看重速度和成本;完整渗透测试更看重推理能力、上下文处理和工具调用稳定性。

能检测哪些漏洞

Strix 覆盖 OWASP Top 10 以及更广泛的应用安全问题。README 中列出的类型包括:

  • Broken Access Control:IDOR、权限提升、认证绕过。
  • Injection Attacks:SQL 注入、NoSQL 注入、OS 命令注入、SSTI。
  • Server-Side Vulnerabilities:SSRF、XXE、不安全反序列化、RCE。
  • Client-Side Attacks:存储型/反射型/DOM XSS、prototype pollution、CSRF。
  • Business Logic Flaws:竞态条件、支付操纵、流程绕过。
  • Authentication & Session:JWT 攻击、session fixation、credential stuffing。
  • Infrastructure & Cloud:错误配置、暴露服务、云安全问题。
  • API Security:认证破坏、mass assignment、限流绕过。

这些类别说明 Strix 的目标不是只做代码风格检查,而是覆盖从源代码到运行时行为、从 API 到业务逻辑的安全测试。

Agentic Pentesting Tools

Strix Agent 配备了一组进攻安全工具,类似专业渗透测试人员会用的工具链:

  • HTTP Interception Proxy:通过 Caido 做请求/响应拦截、修改和分析。
  • Browser Exploitation:自动化浏览器,用于测试 XSS、CSRF、clickjacking、认证绕过等流程。
  • Shell & Command Execution:交互式终端,用于漏洞利用开发和后渗透阶段。
  • Custom Exploit Runtime:Python 沙箱,用于编写和验证 PoC。
  • Reconnaissance & OSINT:自动化攻击面映射、子域枚举和指纹识别。
  • Static & Dynamic Code Analysis:结合 SAST 和 DAST。
  • Vulnerability Knowledge Base:结构化漏洞发现,包含 CVSS 和 OWASP 分类。

这也是它和普通扫描器的差异:Agent 不只是匹配规则,还会尝试组合工具、验证假设、生成复现路径。

Strix Platform

除了开源 CLI,Strix 还提供 Strix Platform。README 中提到平台版可以连接仓库和域名,在几分钟内启动 pentest,并提供:

  • 带 PoC 的已验证漏洞发现。
  • 一键 autofix,把 AI 生成的安全补丁变成可合并 PR。
  • Continuous pentesting,跟随部署持续扫描。
  • DevSecOps 集成:GitHub、GitLab、Bitbucket、Slack、Jira、Linear、CI/CD。
  • 持续学习:基于历史发现适配代码库,逐步减少误报。

如果只是想在本地验证工具,CLI 已经足够;如果团队需要持续扫描、协作、报告和企业集成,平台版更适合。

企业版能力

README 还提到企业级渗透测试能力,包括:

  • SSO:SAML/OIDC。
  • 合规报告:SOC 2、ISO 27001、PCI DSS 等。
  • 专属支持和 SLA。
  • 自定义部署:VPC/self-hosted。
  • BYOK 模型支持。
  • 针对企业环境定制的 AI pentesting agents。

这部分适合有合规、审计、内部安全流程和数据边界要求的团队。

使用建议

第一,把 Strix 放在授权和隔离环境中使用。先跑本地仓库或 staging 环境,不要直接对生产系统做高强度测试。

第二,给测试写清楚 scope。建议维护一个 instruction.md,记录允许测试的路径、账号、排除接口、禁止破坏性操作和测试窗口。

第三,把它接进 CI/CD 时先使用 quick scan。等团队理解输出、误报率和成本后,再逐步扩大测试范围。

第四,不要把 AI 输出当成最终安全结论。即使 Strix 强调真实 PoC,也仍然应该由安全工程师或开发负责人复核,确认风险、影响面和修复方案。

第五,密钥管理要谨慎。LLM_API_KEYPERPLEXITY_API_KEY、测试账号密码都应该放在安全的 secret 管理系统中,不要写进命令历史、日志或仓库。

总结

Strix 的特点是把 AI Agent、渗透测试工具链、PoC 验证和开发者工作流连在一起。它适合用来补足传统扫描器的盲区,尤其是动态验证、业务逻辑和 CI/CD 阶段的快速安全反馈。

它也不是“自动替代安全团队”的工具。更合理的使用方式,是把 Strix 当作一个高效率的 AI 安全测试助手:帮你更快发现可验证的问题,生成复现材料和修复建议,再由团队完成风险判断、代码审查和正式发布。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计