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 設計