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 滲透測試工具的授權與合規邊界

AI Agent 自動化滲透測試合法嗎?最短回答是:取決於授權、範圍、影響、資料處理和披露流程。工具是 AI 或開源,並不代表測試天然合法。

Strix 這類工具能把 Agent、動態執行、漏洞驗證、報告和修復建議連起來。這對防禦很有價值,但也讓邊界更重要。

本文不是法律意見。正式滲透測試、漏洞賞金、客戶系統、跨境測試和生產環境測試,都應以合同、平台規則、當地法律和法務意見為準。

先說結論

AI Agent 滲透測試通常分三類:

場景 風險
自己的代碼、測試環境、授權倉庫 通常較低,但仍要控制
按合同測客戶系統 需要書面授權、範圍、時間窗口和報告規則
掃陌生網站、雲資產、第三方 API 沒有明確授權時風險很高

運行前先問:

  1. 目標系統是誰的?
  2. 授權是否書面且清楚?
  3. 範圍是否包含該域名、接口、帳號和環境?
  4. Agent 是否可能訪問、複製、修改或破壞資料?
  5. 漏洞如何報告和保密?
  6. 是否保留日誌、審批和複核記錄?

答不清楚,就不要讓 Agent 自動跑。

為什麼 AI Agent 讓合規問題更敏感

傳統掃描器通常較可預測。AI Agent 可能會探索頁面、組合線索、調用工具、生成驗證思路、使用瀏覽器或代理、保存報告。

在自有或授權系統上,這很有用;在未授權目標上,風險會被放大。合規真正關心的是訪問是否被允許、是否超範圍、影響是否可控、資料如何處理。

授權是第一條線

授權最好是書面且可審計的,至少寫清:

  • 被測主體;
  • 允許測試的域名、IP、倉庫、應用、API;
  • 禁止測試的系統;
  • 測試時間窗口;
  • 測試帳號和權限;
  • 是否允許自動化;
  • 是否允許驗證漏洞;
  • 是否允許訪問真實資料;
  • 緊急停止聯絡人;
  • 報告和保密要求。

如果使用 AI Agent,還要寫清:

  • 是否允許動態探索;
  • 是否允許生成 PoC;
  • 是否允許放進 CI/CD;
  • 是否允許把日誌、代碼片段或請求內容發給外部模型;
  • 模型服務商和資料保留要求。

不是所有「公開目標」都能測

網站可公開訪問,不代表可以自動化測試。你可以瀏覽,不代表可以用工具探測 API、認證流程或業務邏輯。

尤其要避開:

  • 政府、醫療、學校、金融;
  • 關鍵基礎設施;
  • 第三方 SaaS 和雲服務;
  • 競爭對手;
  • 大量用戶資料平台;
  • 沒有披露政策的系統;
  • 明確禁止自動化測試的網站。

漏洞賞金和 VDP 也不是無限授權。scope、禁止行為、速率和報告規則都很重要。

善意安全研究也有邊界

美國 DOJ 的 CFAA charging policy 提到善意安全研究,但不能理解成「只要說是研究就安全」。目的、避免傷害、資訊使用方式、司法轄區都會影響判斷。

不同國家和地區的規則可能不同,跨境測試尤其敏感。

哪些行為最容易越界

1. 沒有授權就掃描

對陌生目標運行自動化 Agent 是高風險行為。

2. 超出 scope

授權只包含 staging.example.com,Agent 卻探索到生產、支付、供應商或員工系統,就可能越界。

3. 訪問真實用戶資料

不要為了證明漏洞而讀取、下載、截圖或保存大量真實用戶資料。

4. 做破壞性驗證

刪資料、影響服務、產生成本、鎖帳號、發郵件、改支付狀態,都需要單獨授權和隔離環境。

5. 公開披露過早

應按約定渠道報告,給對方修復窗口。

6. 用漏洞索要報酬

不在約定賞金機制內,用漏洞結果施壓索要付款,可能被視為脅迫。

企業內部怎麼安全使用 Strix 類工具

建議從低風險場景開始:

  1. 本地代碼;
  2. 專門測試環境;
  3. staging;
  4. PR 級 quick scan;
  5. 受控生產只讀驗證;
  6. 正式滲透測試項目。

不要第一天就接到生產全站掃描。

一份授權清單

檢查項 要確認什麼
目標範圍 域名、IP、倉庫、API、帳號
禁止範圍 第三方服務、支付、短信、郵件、真實資料
測試強度 並發、速率、時間窗口、深度
資料邊界 可查看和保存哪些資料
工具邊界 網路、命令執行、外部模型調用
密鑰 API key、測試帳號、Cookie
日誌 請求、輸出、報告、審批
緊急停止 聯絡人和回滾
漏洞披露 接收人、響應時間、公開規則
人工複核 誰確認 AI 發現

給 Agent 的合規提示詞怎麼寫

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
You may only test:

- Target: staging.example.com
- Account: dedicated test account
- Window: weekdays 20:00-23:00
- Do not access production domains, payment APIs, SMS APIs, or email sending APIs
- Do not delete, modify, or bulk export data
- Do not perform high-rate requests or bypass rate limits
- Keep only minimal evidence
- Mark uncertainty in all findings
- Do not attempt privilege escalation, lateral movement, or third-party access

提示詞不能替代技術限制。還要在網路、帳號和環境層做限制。

CI/CD 自動化也要有邊界

  • 只掃變更代碼或測試環境;
  • 不要把 secrets 暴露給不可信 PR;
  • 不要把敏感日誌發到不受控位置;
  • 高風險結論要人工複核;
  • 明確失敗是阻斷合併還是只生成報告。

漏洞報告本身就是敏感資訊,要限制可見範圍。

個人研究者應該怎麼做

  • 優先測自己的專案、靶場、CTF 和練習環境;
  • 參與漏洞賞金前仔細讀 scope;
  • 只使用平台允許的方法;
  • 不做破壞性驗證;
  • 不下載真實用戶資料;
  • 按官方渠道報告;
  • 保留最小證據;
  • 不要用「AI 自動跑的」當免責理由。

沒有披露政策或授權時,不建議做主動自動化測試。

合法不等於一定應該做

即使合同允許,也要考慮營運風險:

  • 生產高峰期;
  • 真實客戶資料;
  • 告警疲勞;
  • 沒有回滾方案;
  • 外部模型處理敏感代碼或請求。

合規不只是「會不會違法」,還包括團隊是否能解釋、控制和審計。

總結

Strix 的特點是把 AI Agent、滲透測試工具鏈、PoC 驗證和開發者工作流連在一起。它適合用來補足傳統掃描器的盲區,尤其是動態驗證、業務邏輯和 CI/CD 階段的快速安全反饋。

它也不是“自動替代安全團隊”的工具。更合理的使用方式,是把 Strix 當作一個高效率的 AI 安全測試助手:幫你更快發現可驗證的問題,生成復現材料和修復建議,再由團隊完成風險判斷、代碼審查和正式發佈。