papica777-eng/OMNI-VIVISECTOR
GitHub: papica777-eng/OMNI-VIVISECTOR
面向区块链与 Web3 生态的多语言静态安全审计平台,通过过程间污点分析和 Immunefi 标准化的赏金评估体系,自动化发现高价值智能合约及基础设施漏洞并生成可提交的赏金报告。
Stars: 1 | Forks: 0
# 🔱 AETERNA 全方位解剖器
## **用于区块链取证、Web3 审计和威胁情报的主权 API 网关**
## BOUNTY_VIVISECTOR.ts
### **UKAME 过程间污点遍历引擎 & IMMUNEFI v2.3 可支付性报告 (v6.0 OMEGA)**
### **为什么会有这个项目?**
BOUNTY_VIVISECTOR 是 OMNI-VIVISECTOR 平台的一个模块,旨在为去中心化系统中的关键和有偿漏洞提供最深度的自动化检查——支持 Solidity/EVM、Rust、C、Go、Move、Vyper、Cairo、Clarity。它覆盖了整个 DeFi 攻击面,提供基于 **Immunefi v2.3** 标准的自动化 bounty 判定,并能直接生成 PoC 测试和 IMMUNEFI-READY 报告。
## 1. 功能与高层概述
- **多语言 DeFi 漏洞扫描器**
- Solidity (EVM)、Rust (L1、桥梁)、C (验证器)、Go (基础设施)、Vyper、Move、Cairo、Clarity、混合技术栈
- **UKAME 污点遍历**(“过程优于声明”)——用于条件性利用的过程间调用图遍历+污点分析——对于“BOTH (两者皆是)”发现,会进一步调查它们可能在哪里被触发(网络入口?仅限内部?有防护?)
- **CATUSKOTI 分类器** — 对发现的签名进行四级分类:
- TRUE — 确定性漏洞利用,可生成 PoC
- FALSE — 误报,技术上不可能/已被防护
- BOTH — 悖论,条件性漏洞利用
- NEITHER — 超然/零日漏洞(可利用性不明确)
- **可支付性引擎 (Immunefi v2.3)** — 将每项发现映射到精确的支出分类法,并判断 bounty 是否会被支付 + 可接受的 PoC 检查清单
- **架构同化** — 自动识别项目架构和主导语言
- **深度上下文启发式** — 25+ 项启发式检查,用于消除错误信号并检测特定的缺陷/绕过
- **自动化 IMMUNEFI-READY 报告**和基于 Foundry 的 *概念验证* 骨架代码(或 C/Rust 测试)
- **速度/吞吐量** — 优化的扫描算法,可在普通机器上几分钟内扫描数十万行代码。内存占用低。
## 2. 架构与模块
```
[File Loader/Scanner]
↓
[Pattern Library (per lang, 90+ cert. bug sigs)]
↓
[Catuskoti Heuristic Classifier]-----\
↓ |
[UKAME Inter-Procedural Call Graph]---/ → taint path, guard analysis
↓
[Immunefi Payability Classifier]
↓
[Markdown/JSON Report Generator]
```
## 3. 工作原理 — 技术流程
### **支持的编程语言与文件类型**
- **Solidity** `.sol` (EVM 智能合约)
- **Rust** `.rs` (L1, Solana, Polkadot, 桥接逻辑)
- **C** `.c/.h` (验证器, Firedancer, Solana, 底层节点逻辑)
- **Go** `.go` (桥接基础设施, L2/节点逻辑)
- **Vyper** `.vy`
- **Move** `.move`
- **Cairo** `.cairo`
- **Clarity** `.clar`
### **签名模式**
- 约 100 种硬编码的漏洞特征签名
- DeFi 专项 (重入攻击, 预言机操纵, 闪电贷, 精度丢失, 池数学, 访问控制, 代理滥用, ...)
- 基础设施/验证器 (缓冲区溢出, 释放后使用, 命令注入, 越界访问, 共识故障)
- 覆盖了 Immunefi 和主要 bug bounty 项目的审查范围。
### **CATUSKOTI 分类**
- 结合签名 + 深度上下文分析 → 客观的四级分类
- 极其详尽的启发式算法:检查防护、ACL、安全点、view/pure/只读、测试/mock 文件、继承、代理模式、文件级别的全局检查
### **UKAME 过程间污点遍历**
- 为基于 C & Rust 的技术栈构建有向调用图,识别网络入口点
- 沿逆向 (上游) 边执行 BFS — 查找到网络暴露(或防护)的最短路径
- BOTH/PARADOX (悖论) 发现会进行升级/降级:
- 污点深度 ≤ 5,无防护:→ TRUE (可通过网络利用)
- 路径中存在防护:→ FALSE
- 过于深层/内部:保持 BOTH (需人工审查)
### **IMMUNEFI v2.3 可支付性 + PoC 要求**
- 每项发现均根据 **Immunefi 影响类别** 进行分类 — 支付资格、拒绝原因、POC 检查清单
- 剔除 Immunefi 明确不予支付的所有内容 (低危/信息提示、仅限所有者、view/pure、Gas 优化、设计问题等)
### **报告输出**
- **Markdown** 摘要报告:严重程度细分、Catuskoti 分布、DeFi 类别、Immunefi 可支付性、明确的拒绝原因、(BOTH 发现 — 需人工审查)、PoC 骨架代码
- **IMMUNEFI READY 提交内容:** 独立的 markdown 报告,可直接粘贴至 Immunefi UI
- **JSON** — 用于自动化、工具集成和外部服务器集成
## 4. 如何使用 (CLI 示例)
### **前置条件**
- Node.js >= 18
- Typescript (`npx ts-node ...`)
- 包含源代码项目的目录
### **用法**
```
npx ts-node BOUNTY_VIVISECTOR.ts [project_name]
```
#### **示例**
```
npx ts-node BOUNTY_VIVISECTOR.ts ./contracts "GMX_Protocol"
npx ts-node BOUNTY_VIVISECTOR.ts ./crates "Firedancer_v1"
npx ts-node BOUNTY_VIVISECTOR.ts ./src "Curve_Finance"
```
### **配置选项**
- `targetDir`: 源代码目录
- `projectName`: 项目名称(用于输出文件)
- (硬编码) 扫描所有与 DeFi 相关的文件扩展名,排除 test/mock/bench 产生的错误发现,maxFileSize (100MB 文件)
## 5. 输出 — 示例
### **Markdown 报告**
```
# 🔱 BOUNTY VIVISECTOR v3.0 — 漏洞解剖报告
## 项目: GMX_Protocol
| Metric | Value |
|--------------|------------------|
| Target | `./contracts` |
| Files Scanned| 122 |
| ... | ... |
## Catuṣkoṭi 摘要
| State | Count | Meaning |
|-------|-------|----------------------|
| TRUE | 3 | Deterministic exploit|
| FALSE | 492 | False positive |
| BOTH | 1 | Paradox |
| NEITHER| 0 | Transcendent |
## DeFi 类别细分
| Category | Count |
|----------|-------|
| REENTRANCY | 2 |
| ORACLE | 1 |
| ... | ... |
## Immunefi v2.3 可赔付性评估
| Metric | Count |
|---------------------------|-------|
| ✅ PAYABLE | 3 |
| ❌ NOT PAYABLE | 2 |
| 💰 CRITICAL | 2 |
| 🟠 HIGH | 1 |
| ... | ... |
### IMMUNEFI 提交: REENTRANCY — (sol/Pool.sol:452)
- Bug Description ...
- Impact ...
- Root Cause ...
- PoC (Foundry test)...
- Recommendation...
```
**各个 JSON/Markdown 文件** 可在 `../VIVISECTOR_REPORTS/` 目录中找到。
## 6. 扩展引擎
- 模式签名模块是普通的 TypeScript 对象 — 可根据需要添加或移除
- 如果需要支持新语言,只需添加模式集并定义网络入口、防护、函数定义/调用的语法
- 您可以接入外部 DeFi 模糊引擎或 PoC 生成器(通过 Foundry、Echidna 或自定义运行器)
## 7. 局限性
- 仅支持**静态**分析 — 除非手动集成,否则不包含动态/模糊执行
- 漏报率已降至最低,但不为零 — 不保证完全覆盖
- Solidity 的多合约调用树不会在 100% 的情况下进行跨文件深入解析(UKAME 在 C/Rust 调用拓扑方面表现更强)
- 拒绝低危/信息级发现和静态代码异味 — 重点在于实现最大化的经济漏洞利用
- 没有自动修复 — 仅提供高质量的检测和建议
## 8. 关于
- **作者**: Dimitar Prodromov (GitHub: [papica777-eng](https://github.com/papica777-eng))
- **授权**: CATUSKOTI_VIVISECTOR.soul v3.0 + ANTI_HALLUCINATION.soul
- **许可**: MIT
## 10. 参考链接
- [Immunefi v2.3 影响分类法](https://immunefi.com/immunefi-vulnerability-severity-classification-system-v2-3/)
- [OpenZeppelin 安全模式](https://docs.openzeppelin.com/contracts/)
- [Foundry](https://book.getfoundry.sh/)
- [AETERNA OMNI-VIVISECTOR 仓库](https://github.com/papica777-eng/OMNI-VIVISECTOR)
## 图例 (面向 DeFi 安全工程师):
**UKAME** = 终极通用调用拓扑,用于映射过程间风险流
**CATUSKOTI** (四句) = “四种状态”:True (真)、False (假)、Both (两者皆是)、Neither (皆非) —
灵感来源于龙树的逻辑,专为代码悖论而实现。
**灵魂绑定 (SOUL BIND)**: 绝无幻觉结果。一切均由过程严格检验,而非基于断言。
# 祝你解剖愉快!
**“过程优于声明。悖论不由教条解决,而由遍历化解。”**
标签:API网关, Bounty平台, Cairo, CISA项目, Clarity, DeFi安全, EVM, GitHub, Go, Immunefi标准, MITM代理, Move, Ruby工具, Rust, Solidity, Vyper, Web3安全审计, 云安全监控, 加密, 加密货币犯罪调查, 区块链取证, 可视化界面, 多语言支持, 威胁情报, 安全合规, 安全测试框架, 开发者工具, 控制流图(CFG), 提示词注入, 攻击面分析, 日志审计, 智能合约安全, 漏洞扫描器, 网络代理, 网络流量审计, 自动化PoC, 跨链桥安全, 过程间分析, 零日漏洞(0-day), 静态分析