Cubiczan/wtf-agent
GitHub: Cubiczan/wtf-agent
WTF-Agent 是一个基于 iExec Nox TEE 的三层智能合约系统,通过在可信执行环境内对 OSINT 威胁数据进行加密评分,向 DeFi 协议发出不泄露原始情报的公共布尔预警信号。
Stars: 0 | Forks: 0
# WTF-Agent: Web3 Truth & Threat Fusion
**基于 iExec Nox TEE 的机密威胁情报**
[](https://nox.iexec.eth.limo/)
[](https://soliditylang.org/)
[](https://sepolia.etherscan.io/)
[](LICENSE)
## 概述
WTF-Agent 是一个构建于 iExec Nox TEE 之上的三层机密威胁情报系统。它通过 AI 收集 OSINT 数据,在可信执行环境(TEE)内对威胁进行评分,并向 DeFi 协议发出公开可组合的布尔信号——所有这些都不会暴露原始的威胁情报。
### 痛点
- 2024 年因 DeFi 漏洞利用损失了 **超过 38 亿美元**
- 公开的链上监控列表会在攻击者发起攻击前向其发出预警
- 目前不存在可组合的机密威胁预言机
- 中心化的情报源是单点故障
### 解决方案
```
OSINT Engine (Tavily)
|
v
[Layer 1] ConfidentialWatchlist - Encrypted address storage (euint256)
|
v
[Layer 2] ConfidentialThreatScorer - Weighted scoring inside TEE
| (keyword 50%, source 30%, temporal 20%)
v
[Layer 3] WTFOracle - Public boolean signal from encrypted comparison
(circuit breaker + authorized signers)
```
## 已部署合约 (Ethereum Sepolia)
| 合约 | 地址 | 浏览器 |
|----------|---------|----------|
| ConfidentialWatchlist | `0xf3b271e7aeecca0d110431b17b9142e9ff68720d` | [Etherscan](https://sepolia.etherscan.io/address/0xf3b271e7aeecca0d110431b17b9142e9ff68720d) |
| ConfidentialThreatScorer | `0x6931e02f0ae958e6a3a3485a6782dde8c00e2bc6` | [Etherscan](https://sepolia.etherscan.io/address/0x6931e02f0ae958e6a3a3485a6782dde8c00e2bc6) |
| WTFOracle | `0x69a30e394b99989f1f3c519758fbd54425d2c113` | [Etherscan](https://sepolia.etherscan.io/address/0x69a30e394b99989f1f3c519758fbd54425d2c113) |
**部署者:** `0x4c10043F68F7d9ADF6CeeCFD2A7eC82bB19C8937`
## 架构
### 第 1 层:ConfidentialWatchlist
使用 `Nox.fromExternal()` 和 `Nox.allowThis()` 将可疑地址存储为加密的 `euint256` 句柄。地址比较在 TEE 内部使用 `Nox.eq()` 进行——原始地址永远不会出现在链上。
### 第 2 层:ConfidentialThreatScorer
完全在 TEE 内部使用 `Nox.mul()`、`Nox.add()`、`Nox.div()` 计算加权威胁分数(0-100)。接受 3 个加密的子分数:
- **关键词匹配 (50%)** - 漏洞利用模式/CVE 匹配
- **来源可靠性 (30%)** - 情报源声誉
- **时效性 (20%)** - 数据新旧程度权重
### 第 3 层:WTFOracle
使用 `Nox.ge()` + `Nox.select()` 将加密分数与阈值 (75/100) 进行比较,然后调用 `Nox.allowPublicDecryption()` 发出可组合的布尔信号。包含 1 小时冷却时间的熔断机制。
## 技术栈
- **智能合约:** Solidity ^0.8.35
- **TEE 框架:** iExec Nox 协议 (`@iexec-nox/nox-protocol-contracts`)
- **加密类型:** `encrypted-types` (euint256, ebool, externalEuint256)
- **构建工具:** Hardhat 3.4
- **区块链交互:** Viem
- **OSINT 引擎:** Tavily API
- **网络:** Ethereum Sepolia
## 环境设置
```
# 安装依赖
npm install
# 配置环境
cp .env.example .env
# 使用你的密钥编辑 .env
# 编译合约
npm run compile
# 部署到 Sepolia
npm run deploy
# 运行链上 watcher(需要 TAVILY_API_KEY)
python3 python/watcher.py
```
## 使用到的 Nox TEE 原语
| 原语 | 用途 |
|-----------|-------|
| `Nox.fromExternal()` | 将链下加密输入转换为 TEE 句柄 |
| `Nox.toEuint256()` | 导入外部加密值 |
| `Nox.allowThis()` | 授予合约解密访问权限 |
| `Nox.eq()` | 加密的相等比较 |
| `Nox.mul()` | 加密的乘法运算 |
| `Nox.add()` | 加密的加法运算 |
| `Nox.div()` | 加密的除法运算 |
| `Nox.ge()` | 加密的大于等于比较 |
| `Nox.select()` | 根据加密的布尔值进行条件选择 |
| `Nox.allowPublicDecryption()` | 将输出加入白名单以供公开读取 |
| `Nox.isInitialized()` | 检查句柄有效性 |
## 黑客松提交
**iExec WTF 黑客松 - 夏季版**
为 [DoraHacks](https://dorahacks.io) BUIDL 提交而构建。
## 许可证
MIT
标签:DeFi, Solidity, Web3, 可信执行环境, 威胁情报, 实时处理, 开发者工具, 智能合约, 逆向工具