manuelpenazuniga/chainSentinel
GitHub: manuelpenazuniga/chainSentinel
面向 Polkadot Hub 的自主 AI 安全代理,通过启发式规则与 LLM 双层分析实时检测 DeFi 攻击模式,并在威胁确认前自动执行资金抢救。
Stars: 0 | Forks: 0
# ChainSentinel
**Polkadot Hub 上的 DeFi 自主 AI 安全代理**
ChainSentinel 在 Polkadot Hub 上实时监控交易,检测漏洞利用模式(闪电贷、资金抽取、重入攻击、价格操纵),并在攻击发生前自动挽救用户资金。
## 问题背景
每年有数十亿美元因 DeFi 漏洞利用而损失。Polkadot Hub 于 2026 年 1 月 27 日上线了免许可智能合约,其 DeFi 生态系统正在快速增长。然而,目前**没有可用的实时安全监控基础设施**:
- Forta、Hypernative 和 BlockSec 在 Ethereum 和其他 EVM 链上运行,但不支持 Polkadot Hub
- PAL(Polkadot Assurance Legion)资助审计,但不提供实时监控
- Polkadot Hub 上的智能合约才上线几周,这意味着生态系统从一开始就需要主动保护
## 工作原理
ChainSentinel 充当用户分配给其金库的守护者。该代理监控每一个区块,使用双层检测引擎评估威胁,并在识别到真实威胁时触发紧急提款。资金总是流向用户自己的安全地址,永远不会流向代理。
```
User deposits into SentinelVault
│
▼
AI Agent monitors new blocks via WebSocket
│
▼
Layer 1: Heuristic rules (~10ms)
Filter 95% of normal transactions
│
▼ (score > 30)
Layer 2: LLM analysis via Claude API (~1-3s)
Contextual reasoning on suspicious transactions
│
▼ (final score > threshold)
Emergency withdraw executed on-chain
Funds sent to user's safe address
Threat reported to SentinelRegistry
User notified via Telegram/Discord
```
### 威胁检测引擎
**第一层(启发式):** 快速、确定性的规则,用于标记异常:
- 异常交易价值(>历史平均值 10 倍)
- 新部署的合约(<24 小时)
- 来自同一发送者的交易突发
- 闪电贷函数签名
- 剧烈余额下降(一个区块内 >30%)
- 与黑名单地址的交互
- 未知的高价值发送者
**第二层(LLM 分析):** 仅针对预筛选的交易触发。Claude API 分析完整上下文,识别攻击模式,分配置信度加权的威胁评分,并以结构化输出解释其推理。
**最终评分:** `(启发式 × 0.4) + (LLM × 0.6)`,并根据 LLM 置信度进行调整。
### 误报缓解
- 用户可配置的阈值(默认:80/100 触发自动操作)
- 紧急提款之间的冷却期(10 个区块)
- 针对可信协议的合约白名单
- 如果 LLM API 不可用,则回退到仅启发式检测(阈值更高)
## 架构
```
┌──────────────────────────────────────────────┐
│ Presentation Layer │
│ Next.js Dashboard | Telegram/Discord Bot │
└──────────────┬───────────────────────────────┘
│
┌──────────────▼───────────────────────────────┐
│ Intelligence Layer │
│ Monitor → Analyzer → Executor → Alerter │
│ │
│ Polkadot Agent Kit + LangChain ReAct Agent │
│ Claude API for threat analysis │
└──────────────┬───────────────────────────────┘
│
┌──────────────▼───────────────────────────────┐
│ On-Chain Layer (Solidity / REVM) │
│ SentinelVault.sol SentinelRegistry.sol │
│ Polkadot Hub Testnet (Paseo) │
└───────────────────────────────────────────────┘
```
## 智能合约
### SentinelVault.sol
该金库持有用户资金并实现守护者模式:
- **所有者 (Owner)** 负责存款、取款和配置保护参数
- **守护者 (Guardian)**(AI 代理地址)只能执行 `emergencyWithdraw`,将资金专门发送到所有者预设的安全地址
- 冷却机制防止重复的紧急操作
- 来自 OpenZeppelin 的 ReentrancyGuard 保护所有状态更改函数
- 同时支持原生 DOT 和 ERC-20 代币
### SentinelRegistry.sol
一个公开的、社区驱动的威胁注册表:
- 任何守护者都可以报告威胁,包括评分、攻击类型和证据
- 针对每个合约计算跨多个报告的汇总评分
- 当汇总评分超过阈值时自动列入黑名单
- 生态系统中的任何代理或 dApp 都可以查询
## 技术栈
|层级|技术|
|---|---|
|智能合约|Solidity ^0.8.20, Foundry, OpenZeppelin v5, Polkadot Hub 上的 REVM|
|AI 代理|Node.js/TypeScript, LangChain.js, Polkadot Agent Kit, ethers.js v6|
|LLM|Claude API (claude-sonnet-4-20250514)|
|前端|Next.js 14, TailwindCSS, Recharts, wagmi + viem|
|通知|Telegram Bot API, Discord Webhooks|
|测试网|Paseo Hub (Chain ID: 420420417)|
## 项目结构
```
chainsentinel/
├── contracts/
│ ├── src/
│ │ ├── SentinelVault.sol
│ │ └── SentinelRegistry.sol
│ ├── test/
│ └── script/
├── agent/
│ └── src/
│ ├── index.ts # Orchestrator
│ ├── monitor.ts # WebSocket block listener
│ ├── analyzer.ts # Dual-layer threat scoring
│ ├── executor.ts # On-chain emergency actions
│ ├── alerter.ts # Notification dispatch
│ ├── context.ts # Local state manager
│ ├── heuristics.ts # Rule definitions
│ ├── llm.ts # Claude API integration
│ └── agentkit.ts # Polkadot Agent Kit wrapper
├── frontend/
│ ├── app/
│ └── components/
├── scripts/
│ └── simulate-attack.ts # Attack simulator for demos
└── docs/
```
## 快速开始
### 前置条件
- Node.js v22+
- Foundry (forge, cast, anvil)
- 配置了 Paseo Hub 测试网的 MetaMask
- Anthropic API key
### 设置
bash
```
# 克隆仓库
git clone https://github.com//chainsentinel.git
cd chainsentinel
# 安装合约依赖
cd contracts && forge install
# 部署到 Paseo testnet
forge script script/DeployVault.s.sol --rpc-url https://services.polkadothub-rpc.com/testnet --broadcast
# 安装 Agent 依赖
cd ../agent && npm install
# 配置环境
cp .env.example .env
# 使用你的密钥编辑 .env
# 启动 Agent
npm run start
# 启动 Dashboard
cd ../frontend && npm install && npm run dev
```
## 为什么选择 Polkadot Hub
Polkadot Hub 是一条统一的链,它为 Polkadot 带来了免许可智能合约部署,并具有完整的 EVM 兼容性。这意味着熟悉的 Solidity 工具(Foundry, Hardhat, MetaMask)开箱即用,同时开发者可以访问 Polkadot 的共享安全性、原生 DOT 集成以及通过 XCM 进行的跨链消息传递。
ChainSentinel 专为这个生态系统构建,因为安全工具应该从第一天起就可用,而不是在第一次重大漏洞利用之后才进行补丁修复。
## 路线图
- [x] 双层威胁检测引擎
- [x] 具有守护者模式的 SentinelVault
- [x] 用于社区威胁数据的 SentinelRegistry
- [x] 带有威胁推送的实时仪表板
- [ ] 社区资助的保险池
- [ ] 用于跨链监控的 XCM 集成
- [ ] 额外的检测模式(治理攻击, MEV)
- [ ] PAL 集成以实现全生态系统保护
## 许可证
MIT
## 致谢
在 Polkadot Solidity Hackathon 2026 期间构建,由 [OpenGuild](https://openguild.wtf) 与 [Web3 Foundation](https://web3.foundation) 合作举办。
由 [Polkadot Agent Kit](https://github.com/elasticlabs-org/polkadot-agent-kit) 提供支持
标签:AI 智能体, CISA项目, Claude API, CSV导出, DeFi 安全, LLM 安全分析, MITM代理, Polkadot Agent Kit, Polkadot Hub, REVM, SentinelVault, Solidity, Web3 安全, 价格操纵检测, 加密货币风控, 区块链卫士, 双层分析架构, 套利攻击防护, 威胁情报, 实时交易监控, 库, 应急响应, 开发者工具, 智能合约安全, 自动化防御, 资产自动抢救, 重入攻击检测, 闪电贷攻击, 风险评分引擎