返回更新列表
新发布Aug 20, 2026

ravage v0.5.0

基于证据的自主网络安全测试,针对受控且授权的目标。提供可复现的实验环境、审计追踪、报告以及 XBEN 基准测试。

分享

Ravage logo

Ravage

Ravage 是一款以证据为先的 CLI 工具,用于评估您拥有或已获明确授权测试的运行中 Web 应用程序。它将确定性侦察与验证同可选的模型驱动攻击循环相结合,同时将范围、身份验证、流量核算和证据保持在代码可控的边界内。

Ravage 是 1.0 之前的研究性 alpha 版本。请使用一次性环境并制定书面交战规则。安全测试可能会改变应用程序状态;Ravage 不会修复发现的问题或部署补丁。

快速入门 · 身份验证 · 结果 · 功能 · 文档

环境要求

  • Python 3.12
  • Git
  • macOS、Linux 或 WSL
  • 仅容器化工具、XBEN 和集成测试需要 Docker
  • 仅模型驱动命令需要提供商 API 密钥

常规首次扫描不需要模型密钥、浏览器、Docker 守护进程或外部扫描器。

从源码安装

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

bootstrap 会创建 .venv 并安装工作区。使用 scripts/bootstrap.sh --dev 安装开发依赖, --browser 启用浏览器支持,或 --install-browser 同时安装 Chromium。

五分钟本地快速入门

首先启动您的应用程序。此示例假设它正在 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 直接读取此文件;请勿通过 shell 引用它。

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

--allow-paid-models 是对运行可能产生提供商费用的明确确认。模型选择、本地提供商和可复现配置文件在 模型提供商 中有文档说明。

身份验证测试

向简报中添加专用测试身份:

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

填写生成的密钥引用,验证会话,然后使用所选身份进行攻击:

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

支持表单登录、Bearer 令牌和固定静态标头。托管凭据保留在已认证的 HTTP 所有者内部;当选择身份时,进程、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 RPS 的节奏、物理请求上限、保守的 GET/HEAD 缓存和去重、自适应退避、有界重试和熔断。持久化账本支持恢复。详情请参阅 架构

理解结果

Ravage 区分观察结果、候选发现和已确认漏洞。CTF 标志只是一种可能的证明,并非必需。在普通应用程序上,即使未找到任何标志,运行也可能是有用且成功的;已确认的漏洞仍会写入报告。

攻击运行开始后,其规范的私有机器可读产物为 RUN_DIR/report.json,包括未完成的运行。 --report 还会写入 RUN_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表单、Bearer、静态标头
流量检查和重放ravage traffic限定范围的产物
知识技能ravage skillsravage code-bug咨询性
被动 SATCOM 检查ravage satcom inspect无发射
XBEN 评估ravage xben基于 Docker 的研究框架
改进实验室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 比较是独立的发布门禁。在解读案例结果之前请阅读 基准测试;一个幸运的标志并不能证明可靠的改进。

文档

使用 ravage --helpravage COMMAND --help 查看 您检出版本中的确切选项。

许可证

Apache License 2.0。请参阅 LICENSEDISCLAIMERSECURITY.md

分类