Aimer-zero/redforge-ai
GitHub: Aimer-zero/redforge-ai
Stars: 76 | Forks: 15
# RedForge AI
简体中文 | [English](README.en.md)
[](#快速开始)
[](#项目状态)
[](#合规使用)
**RedForge AI 是一个证据优先的 AI 红队评估框架**,面向 LLM 应用、RAG 系统、AI Agent、工具调用、记忆机制和模型供应链风险。
它不是简单的 jailbreak prompt 列表,而是帮助团队在授权范围内运行测试活动、记录可复现证据、评估发现、生成报告,并支持修复后的回归验证。
## 能做什么
- **范围受控的评估活动**:显式配置 target、allow-host、attack budget 和授权范围。
- **证据优先**:记录 payload、模型响应、RAG 检索内容、工具调用、记忆变更、副作用、评估理由和报告引用。
- **AI 原生风险面**:prompt injection、jailbreak、RAG poisoning、tool abuse、memory poisoning、泄漏/抽取抗性检查、配置漂移、多 Agent 信任边界。
- **CLI 与服务模式**:可直接命令行运行,也可启动 FastAPI 控制面。
- **可扩展架构**:公开 plugin 接口、target adapter、attack pack、report 和 schema。
## 快速开始
### 三步跑通本地 demo
make setup # 检查 Python、uv 和项目虚拟环境
make demo # 运行本地授权 demo campaign
uv run redforge doctor
open "$(uv run redforge latest-report --path-only --format html)"
demo 成功时,你会看到:
- 终端输出 `HTML_REPORT: artifacts/reports/.html`
- 报告里有结果表、finding 卡片、payload、trace、原始响应、replay 命令和修复建议
- trace 文件写入 `artifacts/traces/.jsonl`
### 环境要求
- Python 3.11+
- [`uv`](https://docs.astral.sh/uv/)
### 从源码运行
git clone https://github.com/Aimer-zero/redforge-ai.git
cd redforge-ai
make setup
make demo
也可以运行 smoke 脚本:
./scripts/demo_mvp.sh
查看最新报告路径:
uv run redforge latest-report --path-only --format html
uv run redforge latest-campaign
uv run redforge campaign-status
导出 campaign:
uv run redforge export-campaign
uv run redforge export-campaign --out redforge-campaign.zip
## 常用命令
make test # ruff + migration gates + pytest
make build # 构建所有 workspace packages
make clean # 清理生成物和缓存
make api # 启动 API 服务
make smoke-api # API smoke test
make agent # 启动内置 vulnerable demo agent
默认生成物目录:
artifacts/
campaigns/ campaign summaries
traces/ JSONL evidence traces
payloads/ replayable payload files
reports/ Markdown and HTML reports
## 测试 HTTP 目标
完整示例见:
- [`examples/README.md`](examples/README.md)
- [`examples/custom_http_fastapi/app.py`](examples/custom_http_fastapi/app.py)
- [`docs/custom_http_target.md`](docs/custom_http_target.md)
uv run redforge run-http \
--url https://example.test/chat \
--allow-host example.test \
--attack-budget 5
## 测试 OpenAI-compatible API
复制 [`.env.example`](.env.example),然后参考 [`docs/openai_compatible_target.md`](docs/openai_compatible_target.md)。
OPENAI_API_KEY=sk-... uv run redforge run-openai \
--base-url https://api.openai.com/v1 \
--model gpt-5 \
--allow-host api.openai.com \
--attack-catalog datasets/seed_attacks/default.md
也可以通过环境变量配置默认 provider:
export REDFORGE_OPENAI_MODEL="gpt-5"
export REDFORGE_ANTHROPIC_MODEL="claude-sonnet-4-6"
export REDFORGE_GEMINI_MODEL="gemini-3.1-pro-preview"
## 服务模式
uv run uvicorn redforge_api.main:app --host 127.0.0.1 --port 8000
常用接口:
- `GET /health`
- `POST /v1/campaigns/local-demo/run`
- `POST /v1/campaigns/openai-compatible/run`
- `POST /v1/campaigns/custom-http/run`
- `GET /campaigns`
- `GET /campaigns/{campaign_id}`
- `GET /campaigns/{campaign_id}/report`
- `GET /campaigns/{campaign_id}/trace?limit=20`
## 架构概览
flowchart LR
CLI["CLI"] --> Control["Control Plane"]
API["FastAPI Service"] --> Control
Worker["Worker"] --> Engine["Campaign Engine"]
Control --> Engine
Engine --> Scope["Scope Guard"]
Engine --> Attacks["Attack Packs"]
Engine --> Targets["Target Adapters"]
Engine --> Eval["Evaluators"]
Targets --> Obs["Observations"]
Obs --> Evidence["Evidence Trace"]
Eval --> Evidence
Evidence --> Reports["Reports"]
Plugins["External Plugins"] --> Attacks
Plugins --> Targets
主要 package:
packages/redforge-core 核心模型、scope guard、证据、指标、报告
packages/redforge-plugins plugin SDK、registry、loader、capabilities
packages/redforge-attacks-basic 公开基础 attack pack
packages/redforge-targets target adapters 和 demo runtime
packages/redforge-engine campaign 编排、评估器、记忆、规划
packages/redforge-control projects、findings、live sessions、CI/policy services
packages/redforge-api FastAPI service
packages/redforge-cli CLI entrypoints
packages/redforge-worker worker process
更多细节见 [`docs/architecture.md`](docs/architecture.md)。
## 内置公开攻击目录
公开基础目录位于:
- `datasets/seed_attacks/default.md`
- `datasets/seed_attacks/default.json`
真实目标测试必须显式设置 scope,例如 target ID、allowed hosts、allowed suites、allowed tools、attack budget 和授权信息。
## 一文件配置
uv run redforge run --config redforge.example.yml
`redforge.example.yml` 包含 target、scope、attack budget、suites、CI gate、report 和 artifact retention 示例。
## 本地报告查看器
uv run redforge report serve --open
uv run redforge report open latest
## 项目边界
这个公开仓库只包含可复用的开源运行时:scope 控制、campaign 执行、target adapter、证据 trace、报告、plugin 接口和公开基础 attack pack。
不包含:
- 私有客户集成
- 比赛/竞赛专用实现
- 企业私有 attack pack
- 私有部署 overlay
- 破坏性或无授权范围的自动化能力
## 合规使用
| 适合使用 RedForge | 不适合使用 RedForge |
|---|---|
| 对自己拥有、运营或明确授权的 AI 系统做安全评估 | 扫描未授权第三方系统 |
| 在 allow-host 和预算限制内运行 campaign | C2、持久化、越权利用或破坏性操作 |
| 生成证据、报告、replay 和修复回归验证 | 声称系统“绝对安全” |
| 团队 triage prompt injection、RAG、tool、memory、agent 风险 | 未审查就上传敏感目标证据 |
推荐流程:明确书面授权 → 注册 target → 设置 `--allow-host` → 运行有限预算 campaign → 本地审查 artifacts → triage findings → 修复后 replay 验证。
## 开发
uv run ruff check .
uv run python scripts/check_migration_gates.py
uv run pytest -q
## 项目状态
RedForge 目前处于 early preview。公开 API、schema 和 CLI 命令在稳定版本前可能变化。当前仓库适合从源码运行、本地 demo、实验和授权评估工作流。
## 社区与友链
- [LINUX DO](https://linux.do) — 开发者与开源社区。
## 许可证
RedForge AI 使用 Apache License, Version 2.0。详见 [`LICENSE`](LICENSE)。