アップデート一覧に戻る
New releaseAug 20, 2026

ravage v0.5.0

制御され認可されたターゲットに対する、証拠を優先した自律的なWebセキュリティテスト。再現可能なラボ、監査証跡、レポート、XBENベンチマークを備えています。

共有

Ravage logo

Ravage

Ravageは、あなたが所有している、または明示的にテストを許可された実行中のWebアプリケーションを評価するための、エビデンス優先のCLIです。決定的な偵察と検証を、オプションのモデル駆動型攻撃ループと組み合わせ、スコープ、認証、トラフィック計上、エビデンスをコード管理された境界内に保持します。

Ravageは1.0未満の研究用アルファ版です。使い捨て環境と文書化された交戦規則を使用してください。セキュリティテストはアプリケーションの状態を変更する可能性があります。Ravageは発見事項を修復したり、修正を展開したりしません。

クイックスタート · 認証 · 結果 · 機能 · ドキュメント

要件

  • Python 3.12
  • Git
  • macOS、Linux、またはWSL
  • Dockerはコンテナ化ツール、XBEN、統合テストのみ
  • モデル駆動型コマンドのみプロバイダーAPIキー

通常の最初のスキャンには、モデルキー、ブラウザ、Dockerデーモン、外部スキャナーは不要です。

ソースからインストール

git clone https://github.com/duriantaco/ravage.git
cd ravage
scripts/bootstrap.sh
source .venv/bin/activate
ravage doctor

ブートストラップは.venvを作成し、ワークスペースをインストールします。開発依存関係にはscripts/bootstrap.sh --dev、ブラウザサポートには--browser、Chromiumもインストールするには--install-browserを使用します。

5分間のローカルクイックスタート

最初にアプリケーションを起動してください。この例ではhttp://127.0.0.1:3000でリッスンしていることを前提としています。

  1. スコープを限定したエンゲージメントブリーフとプライベート環境ファイルを作成します:

    ravage init http://127.0.0.1:3000 \
      --brief ravage-brief.yaml \
      --env-file .env.ravage \
      --description "Authorized assessment of my local development app."
    
  2. ravage-brief.yamlを確認します。ターゲット、スコープ内ルート、除外、リクエスト予算、レート制限、目的、成功基準を確認してください。

  3. モデルなしのサーフェススキャンを実行します:

    ravage doctor --workflow scan --brief ravage-brief.yaml
    ravage scan ravage-brief.yaml --probe surface_map --report
    

コマンドは実行ディレクトリを出力します。そのパスをコピーし、以下の検査コマンドでRUN_DIRとして使用します。

モデル駆動型エージェントを実行

OPENAI_API_KEYなどのサポートされているプロバイダーキーを.env.ravageに追加します。Ravageはこのファイルを直接読み取ります。シェルでソースしないでください。

ravage doctor --workflow attack --brief ravage-brief.yaml
ravage attack ravage-brief.yaml --allow-paid-models --report

--allow-paid-modelsは、実行によってプロバイダー料金が発生する可能性があることへの明示的な承認です。モデル選択、ローカルプロバイダー、再現可能なプロファイルはモデルプロバイダーに文書化されています。

認証付きテスト

専用のテストIDをブリーフに追加します:

ravage auth add ravage-brief.yaml \
  --identity user \
  --type form \
  --login /login \
  --health /account \
  --marker Logout \
  --env-file .env.ravage

生成されたシークレット参照を入力し、セッションを検証してから、選択したIDで攻撃します:

ravage auth check ravage-brief.yaml --identity user
ravage attack ravage-brief.yaml \
  --identity user \
  --allow-paid-models \
  --report

フォームログイン、ベアラートークン、固定静的ヘッダーがサポートされています。管理された認証情報は認証済みHTTPオーナー内に留まります。IDが選択されると、プロセス、Python、コマンドのレーンはブロックされます。セットアップと制限事項については認証を参照してください。

認可されたリモートターゲット

リモート実行はフェイルクローズ方式で、明示的なフラグが必要です。影響の少ないサーフェススキャンから始めます:

ravage init https://staging.example.test \
  --brief ravage-brief.yaml \
  --env-file .env.ravage \
  --description "Authorized assessment of my staging application."

ravage doctor --workflow scan \
  --brief ravage-brief.yaml \
  --authorized-remote-target

ravage scan ravage-brief.yaml \
  --probe surface_map \
  --authorized-remote-target \
  --report

モデル駆動型のリモート実行の場合:

ravage attack ravage-brief.yaml \
  --authorized-remote-target \
  --allow-paid-models \
  --report

認可されたリモート攻撃は、デフォルトで実行全体の低ノイズポリシーを採用します: ネイティブの従量制HTTPのみ、1秒あたり1リクエスト未満のペーシング、物理リクエスト上限、保守的なGET/HEADキャッシュと重複排除、適応型バックオフ、制限付きリトライ、サーキットブレーキング。永続的な台帳は再開後も存続します。詳細はアーキテクチャにあります。

結果を理解する

Ravageは、観察結果、候補となる発見事項、確認された脆弱性を区別します。CTFフラグは可能な証明の1つであり、必須ではありません。通常のアプリケーションでは、フラグを見つけなくても実行は有用で成功することがあります。確認された脆弱性はレポートに書き込まれます。

攻撃実行が開始されると、その正規のプライベートな機械可読アーティファクトはRUN_DIR/report.jsonになります(不完全な実行も含む)。--reportRUN_DIR/report.mdも書き込みます。

ravage observe RUN_DIR
ravage audit verify RUN_DIR
ravage report RUN_DIR --brief ravage-brief.yaml

エージェントグラフによってキャプチャされた構造化HTTPの場合:

ravage traffic list RUN_DIR
ravage traffic show RUN_DIR REQUEST_ID

レポートには、エビデンス参照、リクエスト計上の品質、完了ステータス、不完全な実行が停止した理由が含まれます。検証されていないモデルの主張を確認された発見事項として扱わないでください。

機能

機能エントリポイント備考
決定的な偵察とプローブravage scanモデル不要
モデル駆動型評価ravage attackエビデンスゲート付き、スコープ限定
管理された認証ravage authフォーム、ベアラー、静的ヘッダー
トラフィック検査とリプレイravage trafficスコープ限定アーティファクト
ナレッジスキルravage skillsravage code-bug助言のみ
パッシブSATCOM検査ravage satcom inspect送信なし
XBEN評価ravage xbenDockerベースの研究ハーネス
改善ラボscripts/improvement_lab.py分離されたアーカイブ

ナレッジスキルは優先順位付けの指針にはなりますが、ツールを追加したり、スコープを拡大したり、発見事項を確認したりすることはできません。以下から始めます:

ravage skills list builtin
ravage skills validate builtin

改善ラボは、サニタイズされた以前の実行構造を取り込み、独立したワークスペースで候補パッチを評価し、承認済みおよび却下済みのバージョンをアーカイブし、昇格前に一致する回帰なしのエビデンスを要求します。これはサイドカーであり、ソースチェックアウトを変更したり、自動的に昇格したりしません。

パッシブな軌道およびパケットアーティファクトは個別に検査できます:

ravage satcom inspect orbit.tle --format tle --output orbit-report.json
ravage satcom inspect capture.bin \
  --format ccsds-space-packets \
  --direction auto \
  --output packet-report.json

SATCOMサポートはパッシブな解析と分析であり、無線送信機や宇宙船制御システムではありません。

開発

scripts/bootstrap.sh --dev
source .venv/bin/activate
python -m pytest -m "not integration" -q
python -m ruff check --select E9,F .
python scripts/qa/check_docs.py
python scripts/qa/check_release.py

Dockerベースの統合テストと固定されたXBEN比較は、別のリリースゲートです。ケース結果を解釈する前にベンチマーキングを読んでください。1つの幸運なフラグは、信頼できる改善の証拠ではありません。

ドキュメント

お使いのチェックアウトの正確なオプションについては、ravage --helpおよびravage COMMAND --helpを使用してください。

ライセンス

Apache License 2.0。LICENSEDISCLAIMERSECURITY.mdを参照してください。

カテゴリ