fable-redteam について
fable-redteam は、ローカル、ステージング、または許可を得た対象に対する範囲限定の侵入テスト用スキルです。候補となる脆弱性を検証し、対象範囲の安全策を適用して、構造化された指摘と修正資料を作成します。
主な機能
- 01範囲を限定した能動的なセキュリティプローブ
- 02認証・認可のテスト
- 03候補指摘の敵対的検証
- 04Markdown と SARIF のレポート
- 05CI のしきい値と回帰チェック
- 06修正作業カード
活用シーン
- 01リリース前の API アクセス制御テスト
- 02ステージング環境の CORS やファイル露出の確認
- 03セキュリティパッチの再検査
- 04CVSS 指摘を使った CI/CD のゲート設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ immamdouhaboammar/ get-fable --skill fable-redteamインストール後、Claude Code で/fable-redteamを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
skill.package.jsonagents/openai.yamlevals/scenarios.jsonexamples/redteam-audit-walkthrough.mdreferences/claude-red-tactics.mdowasp-api-playbooks.mdscope-and-safety-rules.mdtool-orchestration.mdreferences/cloudflare/AI-AND-LLM.mdATTACK-CLASSES.mdCLIENT-SIDE.mdCLOUD-AND-DEPLOYMENT.mdcloudflare.mdDATA-ISOLATION-AND-LIFECYCLE.mdDESKTOP-MOBILE-AND-LOCAL-IPC.mdHUNTING.mdMEMORY-SAFETY-AND-BINARY.mdPROTOCOLS-RPC-AND-MESSAGING.mdRECONNAISSANCE.mdreport-schema.jsonRESOURCE-EXHAUSTION-AND-AVAILABILITY.mdSUPPLY-CHAIN-AND-RELEASE.mdVALIDATION-AND-REPORTING.mdWEB-PROTOCOL-AND-AUTH.mdtemplates/redteam-finding.template.md詳細
Fable RedTeam
安全で範囲を限定した、自律型の倫理的なペネトレーションテストとアクティブな脆弱性検出を実行します。
目的
実環境の攻撃ベクトルに対してアプリケーションの防御が耐えられるかを検証する、自動化された再現可能なオフェンシブセキュリティ監査エンジンを提供します。fable-redteam は、許可されたステージング/ローカル環境で API 認証、認可境界、オブジェクトの分離、機密情報の露出を検証し、実装にすぐ活用できる修正カードを生成します。
使用する場合
- ローカル、ステージング、または許可されたテスト対象に対するアクティブなセキュリティテストが必要な場合。
- API エンドポイントが認証と認可(BOLA/IDOR)を適用しているか検証する場合。
- CORS の設定ミス、セキュリティヘッダーの欠落、
.envファイルの漏えいをテストする場合。 - リリース前に、ステージングエンドポイントに対して攻撃者が制御するリクエストをシミュレーションする場合。
- 以前に適用したセキュリティパッチで脆弱性が本当に解消されたか検証する場合。
使用しない場合
- 稼働中のターゲットエンドポイントを使わず、純粋な静的コードレビューや脅威モデリングを行う場合(
fable-securityを使用してください)。 - セキュリティ調査を行わず、機能テストの実行やアサーションの確認を行う場合(
fable-verifyを使用してください)。 - 明示的に設定されたスコープ外にある、許可されていない公開ターゲット。
- ストレステストやサービス拒否のシミュレーション(対象範囲外です)。
入力
target:対象の HTTP/HTTPS URL またはローカルリポジトリのパス。profile:スキャンの深度(passive、api-logic、comprehensive、orchestrated、playbook、audit)。scopeConfig:任意のカスタムスコープ JSON(デフォルトでは.fable/redteam.jsonまたはローカルの安全なデフォルト設定を使用します)。allowedCidrs、maintenanceWindow、およびクラウドメタデータの自動保護(169.254.169.254)をサポートします。authToken:認証済み API プローブ用の任意の Bearer トークン。baseline:回帰差分の比較に使う、以前の.fable/redteam-findings.jsonへの任意のパス。failOnCvss:任意の CVSS v3.1 数値しきい値(例:7.0)。CI/CD でセキュリティ違反が検出された場合、終了ステータスコード 1 を返します。suppress:無視する所見のフィンガープリントまたは ID の任意のリスト。
動作モード
- ガイダンスモード: 対象を絞ったセキュリティに関する問い合わせ、脅威モデリング、アーキテクチャレビュー、または特定の候補所見の検証に使用します。包括的な監査成果物の書き込みや、すべてのフェーズの実行は行いません。
- フル監査モード: すべての攻撃対象領域を網羅する、6 フェーズの完全な監査ワークフローです。決定論的なカバレッジ台帳と、検証済み所見のスキーマを書き込みます。
get-fable redteam auditまたは--profile auditで起動します。
想定される出力
redteam_findings:CWE ID、自動生成された CVSS v3.1 ベクトル、数値の基本スコア、コンプライアンスタクソノミータグ、再現用 curl コマンドを含む、検証済みの脆弱性所見の配列。docs/security/REDTEAM_REPORT.md:エグゼクティブリスクスコアカード(A~F)、MTTR の推定値、所見の内訳を含む包括的な Markdown 監査レポート。docs/security/REDTEAM_REPORT.sarif:GitHub Advanced Security およびエンタープライズ SIEM/SOAR への取り込みに対応する OASIS SARIF v2.1.0 レポート。findings.json:report-schema.jsonに厳密に準拠し、判定(confirmed、needs_validation、rejected)別に分類された、機械可読な構造化所見。coverage-ledger.json:確認済みの対象領域と、RFC 3986 に準拠してパーセントエンコードされた正規カバレッジ ID を対応付ける、決定論的なカバレッジ台帳。architecture.md:ソースに基づいた脅威境界とコンポーネントアーキテクチャのマップ。FINDINGS-DETAIL.md:詳細なソーストレース、再現手順、最小限で効果的なコード修正。NEEDS-VALIDATION.md:デプロイ環境で未確認の事実を要する、ソースに基づいた手掛かりと安全な検証計画。.fable/run-attestation.json:暗号学的な SHA-256 改ざん検知用証明レコード。remediation_cards:.fable/LEDGER.mdに追加できる、実行可能な Fable 作業カード。
手順
- スコープの事前確認: 対象 URL が許可されたホストパターン、CIDR サブネット、除外パスに一致することを確認します。クラウドメタデータガード(
169.254.169.254)と、現在有効なメンテナンス時間帯を適用します。対象がスコープ外の場合は、ただちにフェイルクローズします。 - フェーズ 1 — 偵察と脅威モデリング: アーキテクチャ、信頼度の低いプリンシパル、認可境界、エントリーポイント、実行シンクをマッピングし、
architecture.mdに記録してcoverage-ledger.jsonの初期データを作成します。 - フェーズ 2 — カバレッジ主導のハンティング: 分離されたハンターのチェックを使い、攻撃クラス(認証、IDOR、インジェクション、SSRF、メモリ安全性、LLM、サプライチェーン)にわたって台帳の単位を反復して確認します。
- フェーズ 3 — 敵対的な候補の検証: すべての候補を独立した検証担当者に提示し、反証を試みます。検出結果は、次のとおり厳密に分類します。
confirmed:完全なソース追跡があり、観測された結果が範囲内で実証されています。needs_validation:ソースに根拠のある手掛かりですが、未観測のデプロイ時の事実によって検証が妨げられており、安全なローカル検証計画とデプロイ環境での検証計画があります。rejected:明確な反証理由を伴い、反証された候補です。
- フェーズ 4 — 構造化出力とスキーマ検証:
findings.jsonをフィンガープリント順に書き出し、依存関係ゼロのバリデーターvalidateFindings()を使ってreport-schema.jsonに照らして検証します。validateCoverageLedger()を使ってカバレッジ台帳も検証します。 - フェーズ 5 — 記録の独立検証: 最終的なソースに関する主張、ファイル内の行番号による引用、安定したフィンガープリントを、証拠を混同せずに検証します。
- フェーズ 6 — 対象に依存しないレポートと修正:
REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.mdを生成します。検証済みの検出結果を、.fable/LEDGER.md向けの実行可能な修正作業カードと、自動回帰テストに変換します。
判定ルール
- 対象ホストが
allowedHosts、allowedCidrs、またはループバックのデフォルト設定に一致しない場合、ネットワーク呼び出しを行わず、ただちに実行を拒否します。 - 対象がクラウドインスタンスメタデータ(
169.254.169.254)に解決された場合、ただちに中止します。 safe-modeが有効な場合、データベースを削除する SQL ペイロードや、上限のないファジングループを決して実行しません。- サーキットブレーカーが OPEN 状態に移行した場合、プローブ操作を適切に中止し、部分的な検出結果を報告します。
--fail-on-cvssが設定されており、抑制されていない検出結果の CVSS がしきい値以上の場合、CI/CD ゲート向けにゼロ以外の失敗ステータスで終了します。- すべての検出結果が解決されたら、
fable-verifyまたはfable-releaseに移行します。
ツールポリシー
- 任意のホストに対して依存関係なしで実行するには、ネイティブの TS HTTP プローブ(
src/core/redteam/probe.ts)を使用します。 - 6 フェーズのカバレッジ主導監査と
report-schema.jsonへの準拠には、ネイティブの Cloudflare Audit Adapter(src/core/redteam/adapters/cloudflare.ts)と Audit Engine(src/core/redteam/audit/engine.ts)を使用します。 skills/fable-redteam/references/cloudflare/にある 14 個の専門攻撃クラス別ドメインガイド(AI-AND-LLM.md、WEB-PROTOCOL-AND-AUTH.md、CLIENT-SIDE.mdなど)を参照します。- 利用可能な場合、オプションの外部ツール(Nuclei、Nmap、FFuf、Akto、HexStrike、CyberStrike、PentAGI、PentestAgent)はアダプターを通じてオーケストレーションできます。
- 認証情報や機密データを、git で追跡されるファイルや公開ログに決して書き込まないでください。
証拠要件
- 検出結果には、正確な対象 URL、HTTP ステータスコード、CVSS v3.1 のベクター/スコア、コンプライアンスタグ、再現可能な
curlコマンドを含める必要があります。 - 脆弱性を修正した場合、攻撃ベクターが 401/403/404 を返すようになったことを証明するネガティブ再スキャンが必要です。
- 暗号技術による実行証明で、検出結果の完全性を検証します。
障害対応
- ネットワーク接続エラーや対象のタイムアウトが発生した場合、誤検知ではなく未解決のエンドポイントとして記録します。
- レート制限に達した場合は、リクエスト頻度を下げるか、バックオフして実行を一時停止します。
- 対象サーバーのエラーが繰り返し発生した場合は、連鎖的なサービス拒否を防ぐため、サーキットブレーカーを作動させます。
完了基準
- 選択したスキャンまたは監査プロファイルが完全に実行されていること。
- Markdown レポートが
docs/security/REDTEAM_REPORT.mdに、SARIF がdocs/security/REDTEAM_REPORT.sarifに生成されていること。 - 監査モードの場合、
findings.json、coverage-ledger.json、architecture.mdが生成され、スキーマ検証に合格していること。 - 実行アテステーションが
.fable/run-attestation.jsonに生成されていること。 - 修正作業カードが
.fable/LEDGER.md用にフォーマットされていること。
コメント
Markdown 対応