neoparadigm/Mati
GitHub: neoparadigm/Mati
一款自我进化的威胁情报代理,通过拦截 LLM 请求并利用客观事实作为奖励信号,持续提升漏洞优先级预测的准确性。
Stars: 0 | Forks: 0
# 🛡️ Mati
### AI 智能体的自我进化威胁情报。
Mati 是一款自我进化的威胁情报引擎,可与任何 AI 智能体框架配合使用——OpenClaw、LangChain、Azure AI Foundry、AWS Bedrock、Microsoft AutoGen 或任何兼容 OpenAI 的 API。它能注入学习到的威胁情报技能,记录优先级预测,对照客观事实对其进行评分,并自动合成纠正性技能。
[](https://python.org)
[](LICENSE)
[](#)
[](#how-it-works)
**Mati** 是一个兼容 OpenAI 的代理,位于您的智能体和上游 LLM 之间。它会拦截每个请求,注入威胁情报技能,记录优先级预测,并根据客观事实对其进行评分。当 Mati 出错时,它会分析*原因*并自动合成纠正性技能。
与通用智能体进化框架不同,Mati 的奖励信号来自现实——而不是来自另一个 LLM 的主观判断。
一个 CVE 要么被添加到 [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) 中,要么没有。一个公开漏洞利用要么出现,要么没有。这种客观且可验证的信号比主观评分能产生更快的收敛速度和更可靠的技能。
```
User ↔ OpenClaw ↔ Mati Proxy (:30100) ↔ LLM
│
├─ injects threat intel skills
├─ logs priority predictions
├─ scores against ground truth
├─ analyses failure patterns
└─ synthesises corrective skills
```
## 快速开始
## 试试看
```
git clone https://github.com/neoparadigm/Mati.git && cd Mati
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt
python3 -m mati.cli feeds
```
测试 OSINT 源连接。无需 API 密钥。您应该能看到 CISA KEV、CVEDB、EPSS、Shodan InternetDB 和 ThreatFox 显示 ✅。
然后将您的 OpenClaw 智能体指向 `http://127.0.0.1:30100/v1`。Mati 会透明地拦截请求——您的智能体根本不知道它的存在。
```
mati status # check health + loaded skills
mati feeds # test OSINT feed connectivity
mati score # calculate accuracy scorecard
mati evolve # run evolution cycle
```
## 工作原理
Mati 作为一个**双循环**系统运行,专为结果具有客观可验证性的威胁情报领域而特化。
### 循环 1:技能注入(即时)
在每次请求时,Mati 都会从其技能库中检索最相关的威胁情报技能,并将其注入系统提示中。智能体无需任何重新训练即可从积累的专业知识中受益。
技能是简短且可审计的规则,例如:
```
{
"name": "epss-above-07-escalate",
"rule": "When EPSS > 0.7, escalate to at least P2 regardless of exploit availability."
}
```
Mati 内置了 10 项基础技能,涵盖 CISA KEV、EPSS 升级、高风险供应商模式、供应链攻击、电子邮件身份验证等。进化引擎会自动添加进化后的技能。
### 循环 2:进化(每周)
```
Day 1 Mati scans feeds, assigns priorities, logs predictions
↓
Day 2-30 Ground truth arrives (KEV additions, exploit publications)
↓
Day 30 Scorer calculates accuracy (precision, recall, lead time)
↓
Week 4 Analyser identifies failure patterns (3+ same root cause)
↓
Week 5 Synthesiser generates corrective skills from patterns
↓
Week 7 Validator measures — did the new skill improve accuracy?
↓
YES → skill becomes permanent
NO → skill is retired with reasoning logged
```
### 为什么客观事实很重要
| 方法 | 奖励信号 | 可靠性 |
|----------|--------------|-------------|
| 通用 | LLM 评判者对响应质量进行评分 | 主观的,因评判模型而异 |
| 人类反馈 | 分析师确认/纠正 | 高质量但无法扩展 |
| **Mati** | CISA KEV 新增内容、漏洞利用发布、EPSS 变化 | **客观的、可验证的、自动化的** |
Mati 不需要人类或 LLM 来告知它何时出错。现实会告诉它。
## 架构
```
mati/
├── config.py # MatiConfig — all settings in one place
├── proxy.py # OpenAI-compatible proxy with skill injection
├── feeds.py # OSINT fetchers (11+ free sources)
├── skills.py # Skill retrieval, injection, and storage
├── scorer.py # Prediction scoring against ground truth
├── analyser.py # Failure pattern identification
├── synthesiser.py # Corrective skill generation
├── models.py # Data models (Prediction, Scorecard, etc.)
└── cli.py # CLI: setup, start, status, score, evolve
```
### OSINT 数据源(全部免费)
| 数据源 | 提供的内容 | 认证 |
|--------|-----------------|------|
| CISA KEV (GitHub 镜像) | 正在被利用的 CVE | 无 |
| CVEDB (Shodan) | 一次调用获取 CVE + EPSS + KEV | 无 |
| EPSS (FIRST.org) | 漏洞利用概率评分 | 无 |
| NIST NVD | 完整的 CVE 数据库 | 免费 API 密钥 |
| GitHub Advisory | 跨生态系统的安全公告 | 免费 token |
| GitHub PoC 搜索 | 公开的漏洞利用代码 | 免费 token |
| Shodan InternetDB | 每个 IP 的开放端口和漏洞 | 无 |
| crt.sh | 证书透明度日志 | 无 |
| Google DNS API | DMARC、SPF、MTA-STS 检查 | 无 |
| AlienVault OTX | 威胁脉冲和 IOC | 免费 API 密钥 |
| Abuse.ch ThreatFox | 恶意软件 IOC | 无 |
### 准确度指标
Mati 跟踪五项指标,这些指标共同衡量威胁情报的质量:
- **精确率** —— 在所有 P1 预测中,实际被利用的百分比是多少?
- **召回率** —— 在所有添加到 KEV 的 CVE 中,Mati 提前将其标记为 P1 的百分比是多少?
- **前置时间** —— Mati 在 KEV 添加前多少天将其标记出来?
- **优先级准确度** —— 所有优先级分配中正确的百分比是多少?
- **遗漏率** —— 被利用的 CVE 中有多少百分比被分类为 P3/P4?
运行 `mati score` 以查看您当前的记分卡。
## 失败根本原因
分析器将每次预测失败归类到一个根本原因中:
| 根本原因 | 哪里出了问题 |
|-----------|----------------|
| `EPSS_UNDERWEIGHT` | 有很高的 EPSS 分数,但权重不够 |
| `VENDOR_BLIND_SPOT` | CVE 影响的供应商不在监控列表中 |
| `EXPLOIT_LAG` | 公开漏洞利用在每日扫描之间出现 |
| `CORRELATION_MISS` | 存在多个风险信号但未被综合考量 |
| `HISTORICAL_PATTERN` | 具有被利用历史的供应商未被加权 |
| `CONTEXT_MISS` | CVE 描述关键字表明其易于被利用 |
| `FALSE_ALARM_OVERREACTION` | 仅根据 CVSS 分配 P1,而未进行复杂性检查 |
当 3 次或更多次失败共享同一个根本原因时,合成器会生成一项纠正性技能。该技能会立即注入到未来的请求中——无需重新训练。
## 配置
所有设置均通过 `config.py` 或 `~/.mati/config.json` 中的 `MatiConfig` 进行:
| 字段 | 默认值 | 描述 |
|-------|---------|-------------|
| `llm_api_base` | `https://openrouter.ai/api/v1` | 上游 LLM endpoint |
| `llm_model` | `openrouter/auto` | 用于智能体请求的模型 |
| `proxy_port` | `30100` | 本地代理端口 |
| `skills_enabled` | `True` | 将技能注入提示 |
| `auto_evolve` | `True` | 会话后自动总结技能 |
| `evolution_enabled` | `True` | 启用进化引擎 |
| `evolution_min_failures` | `3` | 触发技能合成前的最少失败次数 |
环境变量:`MATI_LLM_API_KEY`、`NVD_API_KEY`、`GITHUB_TOKEN`、`SHODAN_API_KEY`、`OTX_API_KEY`
## 比较
| 能力 | Recorded Future | SecureClaw | MetaClaw | **Mati** |
|-----------|----------------|-----------|---------|------|
| 威胁情报源 | 专有 | 否 | 否 | 11+ 免费开源 OSINT |
| 从失败中学习 | 否 | 否 | 是(主观的) | **是(客观的)** |
| 技能进化 | 否 | 否 | 是(通用的) | **是(特定于安全的)** |
| 准确度基准 | 否 | 否 | 是 | **是(5 项指标)** |
| 在商用硬件上运行 | 否 | 是 | 是 | **是** |
| 兼容 OpenAI 的代理 | 否 | 否 | 是 | **是** |
| 成本 | 10 万美元以上/年 | 免费 | 免费 | **免费** |
## 致谢
Mati 构建于以下项目之上:
- [OpenClaw](https://openclaw.ai) —— 智能体框架
- [CISA KEV](https://github.com/cisagov/kev-data) —— 漏洞利用的事实依据
- [FIRST.org EPSS](https://www.first.org/epss/) —— 漏洞利用概率评分
## 演示(无需 API 密钥)
```
git clone https://github.com/neoparadigm/Mati.git && cd Mati
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt && pip install plotly
python3 -m mati.cli demo
```
针对真实的 CVE/KEV 数据运行 90 天的模拟威胁预测,对其进行评分,从失败模式中进化技能,并打开一个交互式 Plotly 仪表板展示准确度的提升。
## 企业集成
Mati 与框架无关。只需三行代码即可将其连接到您的技术栈:
### LangChain / LangGraph
```
from mati.adapters import LangChainAdapter
mati = LangChainAdapter()
skills = mati.get_skill_context("Assess CVE-2026-20963")
# 将技能注入到你的 chain 的 system prompt 中
```
### Azure AI Foundry / Copilot Studio
```
from mati.adapters import AzureFoundryAdapter
mati = AzureFoundryAdapter()
skills = mati.get_skill_context("Assess CVE-2026-20963")
# 注入到你的 AzureOpenAI 调用中
```
### AWS Bedrock Agents
```
from mati.adapters import BedrockAdapter
mati = BedrockAdapter()
skills = mati.get_skill_context("Assess CVE-2026-20963")
# 注入到 bedrock.converse() 的 system param 中
```
### Microsoft AutoGen / MAF
```
from mati.adapters import AutoGenAdapter
mati = AutoGenAdapter()
enhanced = mati.enhance_system_message("You are a SOC analyst.", "Assess CVE-2026-20963")
```
### OpenClaw (原生代理)
```
from mati.adapters import OpenClawAdapter
adapter = OpenClawAdapter()
adapter.start_proxy() # starts on :30100, point OpenClaw here
```
### 任何兼容 OpenAI 的 API
```
from mati.adapters import get_adapter
mati = get_adapter("generic") # or "langchain", "azure", "bedrock", "autogen", "openclaw"
skills = mati.get_skill_context("your query")
```
## 引用
```
@misc{mati2026,
author = {Subhajyoti Chakraborty},
title = {Mati: Self-Evolving Threat Intelligence through Objective Ground Truth},
year = {2026}
}
```
## 许可证
[MIT](LICENSE)
标签:AI安全, AMSI绕过, Apex, AWS Bedrock, Azure AI Foundry, Chat Copilot, CISA KEV, DLL 劫持, EPSS, GPT, LangChain, LLM代理, Microsoft AutoGen, OpenAI API, Petitpotam, Python, 人工智能代理, 代理框架, 大语言模型, 威胁情报, 威胁检测, 安全评分, 实时处理, 密码管理, 开发者工具, 技能注入, 无后门, 机器学习, 漏洞管理, 结构化查询, 网络安全, 自动化安全, 自我进化, 轻量级, 逆向工具, 隐私保护