Strix - AIペネトレーションテスト エージェント チートシート
StrixはオープンソースのAIペネトレーションテストツールで、静的なスキャナーではなくセキュリティ研究者のように動作する。ソースコードをパターンマッチングする代わりに、対象となるアプリケーションを動的に実行し、そこと相互作用して脆弱性を調査し、実際のプルーフオブコンセプト エクスプロイトで各結果を検証する。その検証ステップが差別化要因である:結果は実際に悪用可能であることの証拠を伴って提供されるため、従来のスキャナー出力を分類するコストを大幅に削減する。
承認されたテストのみ。 Strixは対象を積極的に攻撃し、動作するエクスプロイトを生成する。自分が所有しているシステムまたは明示的な書面による許可を持つシステムに対してのみ実行する。不正な使用は違法である。
インストール
| 方法 | コマンド |
|---|
| pip | pip install strix-agent |
| Docker | docker run -it strixagent/strix |
| ソースから | git clone https://github.com/usestrix/strix && pip install -e . |
| LLMキー | export OPENAI_API_KEY=... (またはその他のプロバイダ) |
| 確認 | strix --version |
コア使用法
| コマンド | 説明 |
|---|
strix --target ./repo | ローカルコードベースをテストする |
strix --target https://staging.example.com | 実行中のアプリケーションをテストする |
strix --target ./repo --instruction "focus on auth" | エージェントを導く |
strix --help | 完全なオプション一覧 |
仕組み
| フェーズ | エージェントが行うこと |
|---|
| 偵察 | アプリのマッピング:ルート、入力、認証表面 |
| 仮説 | 可能性のある脆弱性クラスについて推論 |
| 利用 | 実際のペイロードを作成して送信 |
| 検証 | 動作するPoC で影響を確認 |
| レポート | 結果と再現手順を文書化 |
検証フェーズはStrixをスキャナーから区別するもの:結果は、エージェントが実際にそれをトリガーできた場合にのみ表示される。
脆弱性クラス
| クラス | 例 |
|---|
| インジェクション | SQLi、コマンドインジェクション、SSTI |
| XSS | 反射型、保存型、DOM型 |
| アクセス制御 | IDOR、権限昇格、認可の破損 |
| SSRF | 内部サービスへのアクセス |
| ビジネスロジック | スキャナーが模型化できないワークフロー悪用 |
| 認証 | セッション処理、トークンの欠陥 |
スコープと安全制御
| 制御 | 目的 |
|---|
| 明示的なターゲット | 宣言されたターゲットのみがテストされる |
| サンドボックス実行 | 分離されたコンテナでエージェントを実行 |
| 読み取り専用モード | サポートされている場合は破壊的なアクションを制限 |
| レート制限 | 対象をオーバーロードしない |
| PoC をレビュー | 再利用前に常に生成されたエクスプロイトを検査 |
Strixをステージング環境に対して実行し、本番環境ではなく、コンテナからのネットワーク流出を制限する。
共通のワークフロー
# 自分が所有するステージングデプロイメントを評価する
strix --target https://staging.internal.example.com
# 認証モジュールの焦点を絞ったレビュー
strix --target ./app --instruction "audit the login and session handling"
# 分離のためにコンテナ内で実行する
docker run --rm -it -e OPENAI_API_KEY strixagent/strix \
--target https://staging.example.com
出力を読む
| フィールド | 意味 |
|---|
| 結果 | 脆弱性クラスとその位置 |
| PoC | それをトリガーした具体的なリクエスト/ペイロード |
| 影響 | 攻撃者が得るもの |
| 再現 | 手動で確認するステップ |
各結果はPoC を含んでいるため、分類は調査ではなく検証になる。
Strix vs 従来のツール
| 側面 | Strix | SAST (Semgrep) | DAST (ZAP) |
|---|
| 方法 | AIエージェント、動的+検証 | 静的パターンマッチ | クロール+攻撃 |
| 誤検知 | 低い (PoC検証済み) | より高い | 中程度 |
| ビジネスロジック | はい(意図について推論) | いいえ | 限定的 |
| 速度 | より遅い(エージェント型) | 高速 | 中程度 |
| 最適用途 | 検証された深い評価 | 幅広いコードカバレッジ | アプリ全体DAST |
補完的である(置き換えるのではなく):幅広さのためにSemgrepを、クロールDASTのためにZAPを、検証された深さのためにStrixを使用する。
リソース