strix-pentest について
strix-pentestは、ローカルコードやデプロイ済みアプリ、APIを評価するセキュリティ担当者向けの、Strixペネトレーションテスト実行スキルです。セルフホスト型CLIとクラウドAPIの選択方法や、検証済みの発見事項とスキャン範囲の確認方法を案内します。
主な機能
- 01セルフホスト型CLIまたはCloud APIの選択
- 02コード、アプリ、ドメイン、IPのスキャン
- 03スキャンモードと予算上限の設定
- 04脆弱性PoCと修正案の確認
- 05SARIF、JSON、CSV形式での結果出力
活用シーン
- 01ローカルコードやステージング環境のテスト
- 02予算上限によるスキャン費用の制限
- 03証拠の確認と脆弱性修正の計画
- 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(セルフホスト可能)
前提条件
- Docker が実行中であること —
docker infoで確認します。最初のスキャンではサンドボックスイメージが自動的に取得されます。 - Strix がインストールされていること —
strix --versionで確認します。見つからない場合はインストールします:curl -sSL https://strix.ai/install | bash # or: pipx install strix-agent - 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, --target | URL、リポジトリ URL、ローカルパス、ドメイン、または IP。複数指定できます。 |
-n, --non-interactive | ヘッドレスで実行し、完了時に終了します。エージェントでは必須です。 |
-m, --scan-mode | quick(数分)/standard(約 30 分)/deep(数時間、デフォルト)。 |
--instruction / --instruction-file | 認証情報、重点領域、スコープのルールを指定します。 |
--max-budget USD | LLM の支出上限。上限に達するとスキャンは正常に終了します。 |
--max-turns N | エージェントごとのターン上限(デフォルトは 500)。 |
--resume RUN_NAME | strix_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.sarif | GitHub コードスキャン/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 では、ターゲットが第三者のインフラに見える場合、自身で許可を確認してください。