giwaov/zero-breach
GitHub: giwaov/zero-breach
这是一个基于 0G 链上基础设施构建的可验证 AI 红队竞技场,旨在通过去中心化存储和主网结算,提供公开、可审计的自主 agent 攻防演练。
Stars: 1 | Forks: 0
# ZERO//BREACH

**攻破 agent。证明入侵。**
ZERO//BREACH 是一个可验证的 AI 红队竞技场,玩家在此攻击自主的金库 agent,独立的 AI 裁判判定结果,完整的对战回放存储在 0G 上,官方分数在 0G Mainnet 上最终确认。
[在线竞技场](https://zero-breach.vercel.app) ·
[BreachArena 合约](https://chainscan.0g.ai/address/0x4B515626bd9e17c1a53f11C0a162DAd2E73a0350) ·
[架构](./ARCHITECTURE.md) ·
[演示指南](./DEMO_SCRIPT.md)
## 问题所在
Prompt injection 仍是自主 AI agent 的一个主要弱点。现有的安全演示通常是静态的、难以复现,或者依赖于存储在私有数据库中的结果。
ZERO//BREACH 使红队演练变得具有竞争性和独立可验证性。每一场官方对战都将攻击、模型输出、裁判判决、不可变的回放和 Mainnet 回执连接在一起。
## 对战如何运作
1. **选择金库** - 选择一个具有独特个性、安全策略和难度的 AI 目标。
2. **授权攻击** - 签署一条钱包消息,将操作者绑定到确切的 prompt、金库、nonce、时间戳和 0G Mainnet。
3. **运行金库** - 防御型 agent 在 0G Compute 上处理对抗性 prompt。
4. **独立评判** - 一个单独的 0G Compute 推理对技术进行分类,并确定合成的 flag 是否泄露。
5. **保存回放** - 签名的攻击、commitments、响应、模型和判决将上传到 0G Storage。
6. **最终确认得分** - `BreachArena` 在 0G Mainnet 上记录得分、入侵状态、回放 root、金库 ID、操作者和模型 hash。
7. **公开回放页面** - 任何已最终确认的回放 root 都可以作为 `/replay/` 打开,以检查存储的 prompt、金库响应、判决和 commitments。
8. **更新排行榜** - 排名完全根据真实的 `BattleFinalized` 事件重建。
## 为什么 0G 至关重要
| 0G 服务 | 在 ZERO//BREACH 中的作用 |
| --- | --- |
| **0G Compute** | 运行自主金库和独立的裁判。 |
| **0G Storage** | 保存可重现的对战证据包。 |
| **0G Mainnet** | 最终确认官方得分并为公共排行榜提供支持。 |
当所需的基础设施不可用时,产品将处于失败关闭(fails closed)状态。不会用模拟的判决来替代失败的 Compute 请求,未最终确认的结果也不能作为官方排行榜条目显示。
## 实时 Mainnet 证明
- **合约:** [`0x4B5156...a0350`](https://chainscan.0g.ai/address/0x4B515626bd9e17c1a53f11C0a162DAd2E73a0350)
- **已验证的 Storage 回放:** [`0xa8ea5e...5557b`](https://chainscan.0g.ai/tx/0x5916c53e0c6710a0866caf7d05cfc00ea12afb87937964dc656c473f616cc96e)
- **已最终确认的对战:** [`0x25ab0c...322ce`](https://chainscan.0g.ai/tx/0x25ab0c25fda1490e802fde8a9b8cb3ccc7e4d4e33a396fb329f133f4581322ce)
证明对战完成了完整的 pipeline:钱包授权、两次 Compute 推理、Storage 上传、合约结算和基于事件索引的排名。
排行榜行现在会为每位操作者打开最新的公开回放,使得 Storage 证据可以从实时界面中直接检查。
## 安全性与完整性
- 仅限合成目标和机密信息。
- 金库 flag 在服务器端生成,从不以字面量形式提交。
- 浏览器永远不会接收到金库 seed。
- 钱包签名将攻击与其确切提交的 prompt 绑定。
- 确定性的泄露检测是对 AI 裁判的补充。
- 原始内部错误和机密值不会返回给客户端或日志。
- 没有 mock 的竞争者、伪造的分数或演示模式的判决。
- 生产环境签名使用专用的、余额有限的钱包服务。
## 技术
- React、TypeScript、Vite
- RainbowKit、wagmi、viem
- Express serverless API
- 兼容 OpenAI 的 0G Compute Router
- 0G Storage TypeScript SDK
- Solidity 和 Foundry
- 0G Mainnet,chain ID `16661`
## 本地开发
要求:
- Node.js 20 或更高版本
- npm
- 用于实时对战的 0G Compute API key
```
git clone https://github.com/giwaov/zero-breach.git
cd zero-breach
npm install
Copy-Item .env.example .env
npm run dev
```
前端运行在 `http://localhost:5174`,API 运行在 `http://localhost:8788`。
至少需要配置:
```
ZG_COMPUTE_API_KEY=
VAULT_SECRET_SEED=
```
`VAULT_SECRET_SEED` 必须包含至少 32 个随机字符。Storage 和 Mainnet 设置对于本地开发是可选的,并在[`.env.example`](./.env.example) 中有相关文档说明。
如果没有 Compute 凭证,界面依然可用,但对战执行会处于关闭状态,并显示明确的服务状态。
## 验证
```
npm test
npm run build
forge build
.\script\doctor-mainnet.ps1
```
生产环境的 API 还提供了一个只读的健康检查 endpoint:
```
https://zero-breach.vercel.app/api/health
```
## 仓库目录
```
contracts/ BreachArena Mainnet contract
server/ Compute, Storage, settlement, and leaderboard API
src/ Arena frontend and wallet interaction
test/ Protocol regression tests
script/ Deployment and configuration helpers
public/ Brand and submission assets
```
## 状态
小组赛阶段(Group Stage)版本已上线,包含:
- 三个可玩的 AI 金库
- 通过钱包认证的攻击
- 两阶段的 0G Compute 执行
- 0G Storage 回放锚定
- 0G Mainnet 结算
- 公开的对战回放页面
- 真实的基于事件索引的排行榜
- 响应式桌面和移动端界面
## 许可证
[MIT](./LICENSE)
标签:AI安全, AI智能体, Chat Copilot, 区块链, 智能合约, 红队评估, 自动化攻击