antonyguedes/chaincode-carnival
GitHub: antonyguedes/chaincode-carnival
这是一个利用多智能体对抗机制对 Hyperledger Fabric 智能合约进行自动化审计、漏洞利用及代码修补的 AI 安全编排流水线。
Stars: 0 | Forks: 0
# 🏴☠️ Chaincode Carnival: Adversarial Arena

**Chaincode Carnival** 是一个企业级 AI 安全编排流水线,旨在自主审计、利用并保护 Hyperledger Fabric 智能合约。
与传统的静态扫描器不同,Chaincode Carnival 使用 **Multi-Agent Rivalry Engine**(多智能体对抗引擎)。它在虚拟的“Cyber Arena”中将四个截然不同的 AI 个性相互对抗,以确保您的链码在接触生产账本之前在数学上是健全的。
## 🏛️ The Arena Architecture
该系统编排了四个专门的智能体,每个智能体都可以由不同的 LLM 提供商(Gemini、Groq、OpenAI、Ollama 等)驱动:
1. **🔍 The Analyzer**:使用动态 AST 解析和语义推理扫描源代码,以发现深层的逻辑缺陷(MVCC 冲突、无限循环、访问控制泄露)。
2. **👺 The Red Team**:接收发现结果并生成恶意利用载荷。它会启动 **ephemeral Docker Sandboxes**(临时 Docker 沙箱)来物理证明该利用是有效的。
3. **🛡️ The Blue Team**:接收成功的入侵报告并生成 **Unified Diff Patch**(统一差异补丁)来保护代码,进行递归轮次,直到 Red Team 的载荷被弹回。
4. **⚖️ The Skeptic**:一位高级审计法官,根据 4 维评分标准(安全性、可读性、地道的 Go 语言和完整性)对最终补丁进行评分。
## 🚀 Installation
### 1. Prerequisites
- **Go**:1.20 或更高版本
- **Docker**:用于运行利用沙箱
- **Fabric Samples**:项目根目录下的一份 `fabric-samples` 副本(用于最终的 CI/CD 部署阶段)
### 2. Environment Setup
根据 `.env.example` 创建一个 `.env` 文件。您可以为每个智能体混合搭配提供商:
```
# Example using Gemini for everything
ANALYZER_PROVIDER="gemini"
ANALYZER_MODEL="gemini-1.5-flash"
ANALYZER_API_KEY="your_api_key_here"
# ... (repeat for REDTEAM, BLUETEAM, SKEPTIC)
```
### 3. Build & Global Command
要在项目根目录中构建二进制文件:
```
go build -o hfchance ./cmd/hfchance
```
#### Running locally:
```
./hfchance carnival start
```
#### To run as `hfchance` (Global PATH):
**Bash / Zsh**:
```
export PATH=$PATH:.
hfchance carnival start
```
**Fish Shell**:
```
set -px PATH .
hfchance carnival start
```
## 🎮 Running the Carnival
通过运行以下命令启动交互式竞技场:
```
hfchance carnival start
```
### The Workflow:
1. **Interactive Menu**:选择要将哪个链码文件放入竞技场(按最近时间排序)。
2. **The Rumble**:高强度的 AI 闲聊,因为它们会争夺代码逻辑(伴随着戏剧性的 5 秒暂停)。
3. **CI/CD Gate**:如果 **Blue Team wins**(得分 > 90/100),系统将自动:
- 生成代码的安全 `.go` 版本。
- 启动内部 Fabric Test Network。
- **将安全的链码部署到通道**。
4. **Failure**:如果 **Red Team wins**,流水线将阻止部署并向开发人员发出未修补风险的警报。
## 🛠️ Advanced Usage
**Target specific files manually:**
```
./hfchance carnival start /path/to/my/custom_chaincode.go
```
**Clean Docker subnet overlaps (if sandboxes stall):**
```
docker network prune -f
```
## 🏆 Project Accomplishments
- 原生 Go AST 解析,实现零配置链码发现。
- 针对健谈 LLM 的弹性 JSON 提取。
- 多提供商支持(Anthropic、Cohere、Deepseek、Groq、Gemini、Ollama)。
- 与 Hyperledger Fabric `test-network` 的物理 CI/CD 集成。
标签:AST解析, C2, CI/CD 自动化, DevSecOps, Diff Patch, Docker沙箱, EVTX分析, FTP漏洞扫描, Go语言, Hyperledger Fabric, LLM 应用, LNA, PyRIT, 上游代理, 代码修复, 企业级安全, 区块链安全, 多智能体系统, 安全编排, 容器化部署, 日志审计, 智能合约审计, 程序破解, 自动化payload嵌入, 自动化漏洞挖掘, 请求拦截, 错误基检测, 静态代码分析