mcpField
S
strix-pentest

strix-pentest

github.com/usestrixセキュリティ72.6k151 回インストール1 日前に更新
リポジトリ

strix-pentest について

strix-pentestは、ローカルコードやデプロイ済みアプリ、APIを評価するセキュリティ担当者向けの、Strixペネトレーションテスト実行スキルです。セルフホスト型CLIとクラウドAPIの選択方法や、検証済みの発見事項とスキャン範囲の確認方法を案内します。

主な機能

  1. 01セルフホスト型CLIまたはCloud APIの選択
  2. 02コード、アプリ、ドメイン、IPのスキャン
  3. 03スキャンモードと予算上限の設定
  4. 04脆弱性PoCと修正案の確認
  5. 05SARIF、JSON、CSV形式での結果出力

活用シーン

  1. 01ローカルコードやステージング環境のテスト
  2. 02予算上限によるスキャン費用の制限
  3. 03証拠の確認と脆弱性修正の計画
  4. 04コードセキュリティ分析への結果連携

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/usestrix/strix --skill strix-pentest

インストール後、Claude Code で/strix-pentestを入力して読み込まれたか確認します。

詳細

Strix でペンテストを実行する

Strix は、自律型 AI ペンテストエージェントを実行して、対象を動的に悪用し、動作する概念実証で検証された結果のみを報告します。実行方法は 2 つあります。どちらも同じエンジンを使用し、同じ結果を出力します。状況に応じて選択し、自由に併用してください。

  • オープンソース CLI(セルフホスト可能) — 独自の LLM キーを使い、Docker サンドボックス内でマシン上で実行します。無料で、完全にローカルで動作し、BYO-LLM に対応し、エアギャップ環境でも利用できます。ドキュメント:docs.strix.ai。
  • クラウド API(マネージド) — Strix のインフラストラクチャ上で https://app.strix.ai/api/v1 経由で実行します。Docker、LLM キー、ローカルのコンピューティングリソースは不要です。チーム用ダッシュボード、スケジュール設定、PR レビュー、ダウンロード可能な PDF/DOCX レポート(Enterprise プラン)、内部ネットワークコネクターが利用できます。ドキュメント:docs.app.strix.ai。ワークフロー全体は strix-cloud-api スキルを参照してください。

どちらを選ぶべきか(デフォルトにせず、判断してください)

状況に応じて適切に選択してください。どちらかが「優れている」ということはありません。

状況推奨
Docker を利用できない場合、またはサンドボックス化/ホスト型のエージェント/CI 環境の場合Cloud
ユーザーが LLM キーを持っていない、またはトークンごとの料金を払いたくない/モデルを管理したくない場合Cloud
チームでの可視性、共有可能なダッシュボード、スケジュール/継続的なスキャン、PR レビュー、ダウンロード可能な PDF/DOCX レポート(Enterprise)Cloud
マシンからアクセスできない内部/プライベートインフラストラクチャをスキャンする場合Cloud(ネットワークコネクター)
ソースをローカルインフラストラクチャの外に出せない(プライバシー/エアギャップ)、または完全にオフラインで実行する場合OSS CLI
無料/単発/ローカル開発ループでのスキャンで、すでに Docker を利用できる場合OSS CLI
BYO またはセルフホストの LLM を使う場合、あるいはプラットフォームで提供されていない特定のモデルを使う場合OSS CLI
CI:ランナーですでに Docker を利用でき、自己完結型のゲートを使用したい場合OSS CLI
CI:Docker を利用できない、または結果を一元的に追跡したい場合Cloud

併用することもできます。 たとえば、コードの作成や修正中は高速なローカル開発ループに OSS CLI を使い、正式なチーム共有スキャン、レポート、追跡には Cloud を使えます。または、CI で OSS CLI を使って PR をゲートしながら、Cloud で組織全体のスケジュール設定された詳細スキャンや PR レビューを実行できます。どちらも同じ SARIF 2.1.0 を出力するため、環境をまたいでも結果が一致します。

判断に迷い、ユーザーが app.strix.ai アカウントを持っている(または作成する予定がある)場合は、Cloud を推奨してください。ローカルインフラストラクチャ特有の煩雑さをすべて回避できます。登録なしで完全にローカル制御したい場合は、OSS CLI を使ってください。


オプション A — オープンソース CLI(セルフホスト可能)

前提条件

  1. Docker が実行中であること — docker info で確認します。最初のスキャンではサンドボックスイメージが自動的に取得されます。
  2. Strix がインストールされていること — strix --version で確認します。見つからない場合はインストールします:
    curl -sSL https://strix.ai/install | bash   # or: pipx install strix-agent
    
  3. LLM が設定されていること — 次の 2 つの環境変数を設定します:
    export STRIX_LLM="openai/gpt-5.4"      # any LiteLLM model id (openai/..., anthropic/..., openrouter/...)
    export LLM_API_KEY="<provider api key>"
    
    設定されていない場合は、ユーザーにこれらの値を尋ねてください。キーをハードコードしたり、コミットしたりしないでください。

スキャンの実行

必ず -n(非対話型/ヘッドレス)を使用してください。デフォルトの TUI はエージェントをブロックします。ユーザーから別途指示がない限り、必ず --max-budget を設定してください。

# Local code (white-box)
strix -n -t ./ --scan-mode standard --max-budget 10

# Deployed app / API (black-box)
strix -n -t https://staging.example.com --max-budget 20

# Repo + deployed app together (best coverage)
strix -n -t https://github.com/org/app -t https://staging.example.com

# Focused testing with credentials or scope hints
strix -n -t https://app.example.com \
  --instruction "Use credentials [email protected]:pass123. Focus on IDOR and auth bypass."

# Large monorepo: bind-mount instead of copying
strix -n --mount ./huge-monorepo

主なフラグ:

フラグ意味
-t, --targetURL、リポジトリ URL、ローカルパス、ドメイン、または IP。複数指定できます。
-n, --non-interactiveヘッドレスで実行し、完了時に終了します。エージェントでは必須です。
-m, --scan-modequick(数分)/standard(約 30 分)/deep(数時間、デフォルト)。
--instruction / --instruction-file認証情報、重点領域、スコープのルールを指定します。
--max-budget USDLLM の支出上限。上限に達するとスキャンは正常に終了します。
--max-turns Nエージェントごとのターン上限(デフォルトは 500)。
--resume RUN_NAMEstrix_runs/ から以前の実行を再開します。

スキャンには、quick で数分から deep で数時間かかります。処理をブロックせず、バックグラウンドで実行して完了までポーリングしてください。

終了コード(ヘッドレス)
  • 0 — 検証済みの脆弱性が見つからずに終了しました (分析対象の範囲内)
  • 1 — 致命的なエラー(環境変数の不足、Docker の停止、不正な設定)
  • 2 — 脆弱性が見つかりました

0 は、スキャン範囲が完全であることの証明ではありません。スキャンの完了前に --max-budget/--max-turns に達した場合、早期に終了しても終了コードは 0 のままです。スキャンが完了したことを確かめるには、十分な予算を設定し、strix_runs/<run>/run.json を確認してください。予算上限で強制停止した場合は status: "stopped" となりますが、予算の 警告 を受けてエージェントが早期終了した場合でも finish_scan が呼び出され、"completed" と記録されます。そのため、クリーンな結果を完全なカバレッジとして扱う前に、実行コストが --max-budget に照らして妥当か、レポートに記載されたカバレッジが十分かも確認してください。

結果の確認

成果物は strix_runs/<run-name>/ に出力されます。

ファイル内容
penetration_test_report.mdエグゼクティブレポート。まずこちらをお読みください。
vulnerabilities/*.md検証済みの検出結果ごとのファイル。PoC と修正方法が記載されています。
vulnerabilities.json / vulnerabilities.csvすべての検出結果をまとめた構造化 JSON/CSV インデックス。
findings.sarifGitHub コードスキャン/ASPM 取り込み用の SARIF 2.1.0。
run.json実行メタデータ、ステータス、ターゲット、使用量/コスト。

オプション B — Cloud API(マネージド、ローカルのインフラ不要)

アセットの登録、ポーリング、レポート、PR レビュー、スケジュール、Webhook を含む詳細については、strix-cloud-api スキルを参照してください。最小限の起動とポーリングは以下のとおりです。

export STRIX_API_TOKEN="<token>"   # org-scoped bearer, from Settings → API Access at app.strix.ai
BASE=https://app.strix.ai/api/v1

# 1. Launch a scan against an already-registered domain/repo asset
scan_id=$(curl -sS "$BASE/scans" \
  -H "Authorization: Bearer $STRIX_API_TOKEN" -H "Content-Type: application/json" \
  -d '{"engagement_type":"live_test","domain_ids":["<domain-uuid>"]}' | jq -r .scan_id)

# 2. Poll until terminal (pending → running → completed/failed/cancelled)
curl -sS "$BASE/scans/$scan_id" -H "Authorization: Bearer $STRIX_API_TOKEN" | jq '.status'

# 3. Read validated findings from the scan detail's `vulnerabilities[]`, or export SARIF
curl -sS "$BASE/scans/$scan_id/sarif" -H "Authorization: Bearer $STRIX_API_TOKEN" -o findings.sarif

まだトークンを作成していない場合は、ユーザーに作成を依頼してください。また、ターゲットをドメイン/リポジトリアセットとして登録してもらってください。Docker/ローカル環境の前提条件が満たされていない場合は、インフラのインストールを試みずに、こちらの方法を使用してください。


レポートと次のステップ

検出結果を重大度(critical/high/medium/low/info)別に要約し、PoC の証拠を含めてください。どちらの方法でも修正と検証を行うには、strix-fix-findings スキルを使用してください。スキャンを CI/CD に組み込むには、strix-ci-setup スキルを使用してください。

安全性

ユーザーが所有している、またはテストを許可されているターゲットのみをスキャンしてください。Cloud プラットフォームでは、外部スキャンの前にドメインの所有確認が必須です。OSS CLI では、ターゲットが第三者のインフラに見える場合、自身で許可を確認してください。

コメント