OCTIO-Labs/octio
GitHub: OCTIO-Labs/octio
OCTIO是一个去中心化的链上威胁情报框架,通过监控Web2攻击并利用AI分析存储在链上,帮助DeFi协议预防安全风险。
Stars: 1 | Forks: 0
# OCTIO -- 链上威胁情报预言机
一个将 Web2 攻击面监控与 Web3 基础设施安全连接起来的去中心化框架。由 Gemma 4 提供支持。
**作者:** James Kabingu -- [OCTIO-Labs](https://github.com/OCTIO-Labs) | [Vektasafe](https://github.com/vektasafe)
**GitHub:** github.com/vektasafe/octio
**作品集:** vektasafe.github.io
**许可证:** MIT
## 概述
从 Web3 项目中窃取的资金,80% 源于 Web2 基础设施攻击——钓鱼、DNS 劫持、供应链入侵和云配置错误。OCTIO 实时监控这些攻击向量,使用 Gemma 4 进行分析,并将经过验证的威胁情报存储在链上,供 DeFi 协议在执行敏感操作前查询。
## OCTIO 与现有预言机解决方案的区别
现有的预言机网络,如 Chainlink、API3、Band Protocol 和 UMA,解决的是通用预言机问题——将任意链下数据带到链上。OCTIO 并非通用预言机。它是一个专为安全设计的情报原语,这是现有解决方案未曾涉及的。
| 局限性 | 现有预言机 | OCTIO |
|------------|-----------------|-------|
| 领域 | 价格信息源、天气、体育、通用数据 | 仅限 Web2 攻击面指标 |
| 情报层 | 数据中继——无分析 | Gemma 4 对每个指标进行分类、推理和评估 |
| 威胁上下文 | 无 | 将当前指标与已记录的真实世界事件关联 |
| 未知威胁 | 无法检测信息源中未包含的内容 | Gemma 4 会标记尚未出现在任何注册表中的可疑域名 |
| 安全重点 | 非为安全原语设计 | 专为 DeFi 协议运行时安全构建 |
| 事件关联 | 无 | 将当前威胁模式映射到历史攻击并量化损失 |
| 攻击活动检测 | 无 | 识别跨多个指标的协同攻击模式 |
### 核心区别
Chainlink 和类似网络是中继数据——它们可靠地将数字或字符串从链下转移到链上。OCTIO 是在推理数据。当一个新的钓鱼 URL 进入监控层时,Gemma 4 不仅仅是存储它——它会识别冒充目标、评估严重性、解释其推理,并判断该域名模式是否与已知攻击活动匹配,即使该特定 URL 从未出现过。
这就是数据信息源和情报层之间的区别。
### OCTIO 直接解决的局限性
**1. 没有现有预言机为 Web3 监控 Web2 攻击向量**
Chainlink 没有钓鱼信息源适配器。API3 没有 DNS 劫持监控器。为 Web3 协议提供的整类 Web2 威胁情报,现有预言机基础设施均未提供服务。
**2. 现有解决方案无法捕捉未知威胁**
基于规则的系统和标准预言机信息源只能标记已知的恶意行为者。OCTIO 的 Gemma 4 层仅凭域名模式就识别出 `metamask-security-alert.com` 具有可疑性——这早于它出现在任何威胁信息源中。没有现有预言机网络能做到这一点。
**3. 没有预言机提供事件关联**
当 DeFi 协议查询 Chainlink 时,它得到一个数据点。当它查询 OCTIO 时,它得到的是一个威胁评估,该评估与价值 6.42 亿美元的、来自类似攻击模式的已记录历史损失相关联。这种上下文才是协议团队真正需要的。
## 组件
- `monitor.py` -- 实时钓鱼信息源监控,带 Gemma 4 威胁分类
- `web3_bridge.py` -- 将已验证的指标直接提交到实时的 Sepolia 合约
- `dns_monitor.py` -- VirusTotal DNS 丰富层,双源置信度评分(Gemma 4 + VirusTotal)
- `reputation.py` -- 累积域名信誉引擎,随时间进行威胁评分并带 CONFIRMED_THREAT 分类
- `profiles.py` -- 特定于协议的风险配置,按冒充平台对威胁进行分组,并给出 CRITICAL/HIGH 风险评级
- `prediction.py` -- Gemma 4 预测性威胁情报,前瞻性的攻击活动分析和下一个目标预测
- `registry.py` -- 本地注册表缓存,使用 keccak256 哈希存储
- `oracle.py` -- DeFi 协议查询接口,带 Gemma 4 风险评估
- `correlation.py` -- 与已记录的真实世界黑客攻击进行事件关联
- `dashboard.py` -- 用于实时威胁可视化的终端仪表板
- `contracts/ThreatRegistry.sol` -- 已部署并验证于 Sepolia 测试网,地址为 `0xb0F4ae6f47eE001804d933dc8AD4b34969C91A69`
## 快速开始
### 1. 安装依赖
```
pip install requests python-dotenv eth-hash[pycryptodome] web3
```
### 2. 配置环境
```
cp .env.example .env
```
编辑 `.env` 并添加:
OPENROUTER_API_KEY="你的 OpenRouter 密钥"
PRIVATE_KEY="你的钱包私钥"
CONTRACT_ADDRESS="0xb0F4ae6f47eE001804d933dc8AD4b34969C91A69"
### 3. 运行完整流程
```
# 步骤一:获取实时钓鱼网址并使用 Gemma 4 进行分类
python3 monitor.py
# 步骤二:使用 VirusTotal DNS 数据丰富指标信息
python3 dns_monitor.py
# 步骤三:随时间评估域名信誉
python3 reputation.py
# 步骤四:构建特定协议的风险状况
python3 profiles.py
# 步骤五:运行预测性威胁情报分析
python3 prediction.py
# 步骤六:将验证后的指标提交至实时 Sepolia 合约
python3 web3_bridge.py
# 步骤七:运行 DeFi 协议查询界面
python3 oracle.py
# 步骤八:与已记录的真实世界事件进行关联分析
python3 correlation.py
# 步骤九:查看实时终端仪表盘
python3 dashboard.py
```
`monitor.py` 将数据写入 `indicators.json`。`web3_bridge.py` 从 `indicators.json` 读取数据并将确认的威胁提交到链上。请按顺序运行它们。
## 实时合约
**Sepolia 测试网上的 ThreatRegistry:**
`0xb0F4ae6f47eE001804d933dc8AD4b34969C91A69`
- 在 Sourcify 上已验证(完全匹配)
- 在 Etherscan 上查看:https://sepolia.etherscan.io/address/0xb0F4ae6f47eE001804d933dc8AD4b34969C91A69
- 截至 2026 年 5 月 19 日,已有 5 个指标提交到链上
## 架构
OCTIO 作为一个四层系统运行:
| 层级 | 功能 | 技术 |
|-------|----------|------------|
| L1:监控 | 扫描公开的 Web2 来源以寻找威胁指标 | Python, OpenPhish |
| L2:注册表 | 将已验证的威胁情报存储在链上 | Solidity, Sepolia 测试网 |
| L3:预言机接口 | 向查询协议公开威胁数据 | Python, web3.py |
| L4:仪表板 | 用于情报可视化的公共界面 | Python 终端仪表板 |
## 研究
作为肯雅塔大学计算机科学四年级研究项目构建。
完整的白皮书和研究提案可在项目文档文件夹中找到。
## 已知局限与路线图
- 主要监控来源是 OpenPhish——已添加 VirusTotal DNS 丰富和累积信誉评分。计划接入 Certstream 和 npm 审计信息源
- 提交者授权是手动的——治理层(ValidationPool.sol)正在开发中
- 尚无 Chainlink 适配器——来自其他合约的预言机查询需要外部适配器
- ReputationManager.sol、GovernanceController.sol 正在开发中
- 模型字符串为通过 OpenRouter 的 google/gemma-3-27b-it
标签:DeFi协议保护, DeFi安全, DNS劫持监控, FOFA, Gemma 4, Web2攻击监控, Web3安全, 云配置错误检测, 人工智能威胁分析, 供应链攻击防护, 区块链安全, 区块链预言机, 去中心化威胁情报, 去中心化框架, 威胁情报, 安全情报, 安全数据查询, 开发者工具, 攻击向量分析, 攻击模式识别, 智能合约安全, 逆向工具, 钓鱼检测, 链上存储, 链上安全数据, 预言机