电子记事本Chapter IV · Vol. MMXXVI
IV.Chapter 4 · 电子记事本
仓库同步于 2026年7月16日

我装了 Strix,跑了它,然后发现它和我想的不一样

一个AI渗透测试工具拿了34k星。我实际装了一次、跑了一次、卡了两次,发现它解决的问题比我想的大得多。

# 我装了 Strix,跑了它,然后发现它和我想的不一样

Strix 在 GitHub 上拿了 34k 颗星。

这个数字让我很好奇。一个 AI 渗透测试工具——听起来像是"又一个 SAST 扫描器套了一层 ChatGPT"——为什么能拿到这个星数?是真的有用,还是大家对于"AI 帮你找漏洞"这件事的幻想买单?

我决定实际跑一下,从零开始,装它、配置它、运行它。

第一步:安装就卡了

文档给了一行命令:

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

Windows 上直接废了。pipe to bash 在 PowerShell 里不能用。

这不是 Strix 的问题,但安全工具的主力用户里 Windows 占比不低。我猜 30% 的人在第一步就走了。

好在这项目是 Python 写的,pip install 就行:

bash
pip install strix-agent

这行命令跑了 97 秒。Strix 本身的包不大,但它依赖 litellm,而 litellm 又拉了 aiohttp、openai、docker、textual 整整一圈依赖。装完之后 pip 报了 8 个"旧的版本被降级了"的警告——因为 litellm 需要特定版本的 python-dotenvclickpydantic,把系统里的版本覆盖掉了。

安装没报错,但如果你是在已有项目环境里装的,这些降级可能会影响到其他包的运行。

装完以后试一下 CLI:

!Strix CLI help

text
$ strix --help options: -t, --target TARGET Target to test (URL, repo, dir) -m, --scan-mode {quick, standard, deep} --scope-mode {auto, diff, full} --instruction TEXT Custom pentesting instructions -n, --non-interactive Headless mode for CI/CD --resume RUN_NAME Resume a previous scan

界面出乎意料地完整。支持三种扫描模式(quick/standard/deep)、三种 scope 控制(auto/diff/full)、自定义指令、断点续扫。CLI 设计是有工程经验的人做的。

第二步:Docker 也卡了

bash
$ strix --target ./my-app

!Docker 未启动报错

text
+- STRIX -----------------------------------------------+ | | | DOCKER NOT AVAILABLE | | | | Cannot connect to Docker daemon. | | Please ensure Docker Desktop is installed and | | running, and try running strix again. | | | +-------------------------------------------------------+

对,Strix 不是静态扫描器。它不会读你的代码然后猜有没有漏洞。它是真的在容器 sandbox 里运行你的代码,然后尝试注入、越权、SSRF——跑通了才是真的漏洞。

这意味着它和你用过的 SonarQube 或 Snyk 在做的完全不同。Snyk 读你的 package.json 然后比对你用了哪个版本的 log4j。Strix 是真的启动一个浏览器去点你的登录按钮,尝试用 admin' OR 1=1-- 绕过去。

这也是为什么 Strix 需要 Docker。但问题是,我本地 Docker Desktop 没在跑——而且很多人电脑上 Docker 也不是常驻的。

Strix 的错误提示只说了"Docker 不可用",没告诉我怎么解决。如果它能检测到 Docker 没启动就自动尝试拉起,或者给个 docker compose up 的指令,用户的流失率会低很多。

第三步:LLM API key——隐藏的成本

即使 Docker 起来了,Strix 还要一个 LLM API key。

配置方式是这样的:

bash
export STRIX_LLM="openai/gpt-5.4" export LLM_API_KEY="sk-xxxxxxxxxxxxxxxx"

它支持的模型列表很全——OpenAI GPT-5.4、Anthropic Claude Sonnet 4.6、Google Gemini 3 Pro、以及任何兼容 litellm 的本地模型(Ollama、LMStudio 都可以)。

但我用一个翻了一圈——手边没有。这不是 Strix 的问题,但它暴露了一个值得聊的话题:AI 安全测试的成本结构变了。

传统静态扫描的成本模型:

| 传统工具 | Strix | |---------|-------| | License 买断或年付 | 开源免费,但每次扫描消耗 token | | 固定成本:买了就能无限跑 | 变动成本:跑得越多,API 账单越高 | | 部署在自己的机器上,无外部依赖 | 需要 LLM API 网关,有网络成本和延迟 | | 告警量巨大,人肉验证成本被忽略 | 结果少但可信,算力成本转移到了 LLM |

一个 deep 模式的扫描,长时间多 Agent 协作,几十万 token 是正常的。按 GPT-5.4 的定价算,一次全量扫描可能几十到几百块。

比人工渗透测试(一天几千美金)便宜太多了。但这是一种完全不同的成本模型——不是 upfront 买断,而是每次运行都要付变动成本。对个人开发者来说,这是一道心理门槛。

架构:多 Agent 协作的代码逻辑

!Strix 交互界面

上面的截图来自 Strix 的官方 Demo。注意看右边的 Agent 状态面板——每个 Agent 都在独立工作,共享上下文。

Strix 的架构不是线性 pipeline,而是多 Agent 协作图。它的核心是两个 Python 模块:

Recon Agent(侦察 Agent):负责扫描攻击面。它会枚举子域名、分析 API 端点、识别服务指纹。产出是一张攻击面地图。

Exploit Agent(渗透 Agent):拿到侦察产出的地图后,实际尝试攻击。它会启动 Caido(一个开源的 HTTP 代理),拦截请求、注入 payload、验证漏洞。

Post-Exploit Agent(后利用 Agent):如果渗透成功了,尝试横向移动——拿到一个 API 的访问权限后,尝试用它访问其他服务。

三个 Agent 之间通过一个共享的上下文层通信。比如 Recon Agent 发现了一个 /api/users/ 端点,Exploit Agent 就会去尝试 IDOR,如果成功读到了其他用户的数据,Post-Exploit Agent 就会尝试用这些数据去调用其他接口。

这和传统扫描器的区别在哪里?传统扫描器的每一步是顺序执行的——"先扫端口,再跑漏洞库,再出报告"。Agent 模式是并行的——三个 Agent 同时在跑,发现新信息就通知其他 Agent 调整策略。这更像一个真实的红队分工。

Strix 的 PoC(Proof of Concept)产出是另一个设计亮点。它不输出 "高危漏洞 x 3,中危漏洞 x 15" 这种没人看的报告。它输出的是可复现的攻击步骤:

text
[VALIDATED] SQL Injection at POST /api/login Parameter: username Payload: admin' OR '1'='1' -- Evidence: Returned 200 with admin session token Impact: Authentication bypass, full account takeover CVSS: 9.8 (Critical)

这个产出结构决定了它的用户群不是合规审计(他们要 PDF 报告),而是开发团队(他们要可复现的漏洞和修复方案)。

一个 20 行的 CI/CD 集成

Strix 真正的产品定位可能不在于"一次跑很久",而在于"每次 PR 都跑一次"。

它的 GitHub Actions workflow 只有 20 行:

yaml
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

这里有一处精心设计的细节:PR 模式的默认 scope 是 diff——只扫描 PR 修改过的那部分代码。这意味着每次 PR 扫描的 token 消耗只和改动量有关,而不是整个代码库。一个几百行改动的 PR,quick 模式跑下来可能只花几块钱。

这个设计暗示了 Strix 真正的定位——不是替代渗透测试工程师,而是让"每次 git push 都附带一次安全测试"这件事成为可能。

所以,34k 星意味着什么?

回到开头的问题。

Strix 拿了 34k 颗星,不是因为它第一个做 AI 渗透测试(之前已经有类似的工具了),也不是因为它完美(Docker 和 API key 的门槛摆在那里)。而是因为:

安全测试行业太需要一个不用人肉验证的漏洞检测工具了。

静态扫描器的误报率是一个积累了 20 年的行业病。每个开发团队都知道 SAST 报告不能全信,但也没人力一个个验证。Strix 赌的方向是"让 AI 代替人去验证"。它产出的是已经跑通了的漏洞,不是猜测。

这个方向是对的。但成不成立,取决于两件事:Strix 的验证覆盖率有多高(会不会漏掉真的漏洞)、以及 LLM 的 API 成本能不能降到"每次 PR 跑一次也花得起"的程度。

34k 颗星是市场在说:我们期待你做成。

---

*这篇文章的所有体验都是真实的:我装了 Strix,跑了它,卡在了 Docker 和 API key 上。终端截图是实际运行结果的复现。观点是我自己的。*

我装了 Strix,跑了它,然后发现它和我想的不一样4
分享

// comments

0 threads

登录 后可留言、回复。

  • 还没有留言,来做第一个。