apifyforge/autonomous-cyber-red-team-mcp
GitHub: apifyforge/autonomous-cyber-red-team-mcp
面向 AI Agent 的自主网络红队情报 MCP 服务器,通过八个数学框架对 15 个实时安全数据源进行定量攻击模拟和威胁预测。
Stars: 0 | Forks: 0
# 自主网络红队 MCP Server
## 快速开始
添加到您的 MCP 客户端(Claude Desktop, Cursor, Windsurf):
```
{
"mcpServers": {
"autonomous-cyber-red-team-mcp": {
"url": "https://ryanclinton--autonomous-cyber-red-team-mcp.apify.actor/mcp"
}
}
}
```
面向 AI Agent 的自主网络红队情报 —— 此 MCP Server 赋予 Claude、GPT-4o 以及任何兼容 MCP 的 Agent 能力,使其能够使用八个严格实现的数学框架来运行定量攻击模拟、合成利用链、预测漏洞涌现以及建模对手行为。它专为需要通过单次工具调用获得结构化、可重复网络风险情报的安全工程师、威胁分析师和 AI Agent 而构建。
该 Server 并行聚合来自 15 个网络安全源的实时数据 —— NVD、CISA KEV、Censys、DNS、SSL 透明度日志、WHOIS、GitHub、StackExchange、Hacker News、OFAC、OpenSanctions、IP 地理位置、技术栈检测、网站监控和 FRED 经济数据 —— 组装加权攻击图,然后应用来自博弈论、随机过程和极值理论的算法,生成远超关键词搜索或 CVSS 评分查询的定量输出。
## 您可以访问哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📋 带有 CVSS 基础分和 CWE 分类的 CVE 记录 | NVD CVE Search | CVE-2021-44228, CVSS 10.0 (Log4Shell) |
| 🚨 带有 CISA 修复截止日期的已知被利用漏洞 | CISA KEV Catalog | 1,000+ 个被积极利用的 CVE |
| 🌐 暴露的主机、开放端口和服务 Banner | Censys Search | 443/tcp nginx 1.18.0, cert CN=*.target.com |
| 🔍 DNS 记录枚举 (A, AAAA, MX, TXT, CNAME, NS) | DNS Lookup | mail.acmecorp.com → 203.0.113.42 |
| 🔒 SSL/TLS 证书和透明度日志条目 | SSL Certificate Search | *.acmecorp.com, SAN=admin.acmecorp.com |
| 📝 域名注册数据、注册商和到期时间 | WHOIS Lookup | 注册于 2008 年,2026 年到期,GoDaddy |
| 📍 IP 到 ASN 映射,包含国家和 ISP | IP Geolocation | AS14618 Amazon, us-east-1 |
| 🛠️ 从 HTTP 头和 HTML 识别的技术栈 | Tech Stack Detector | Apache 2.4.51, PHP 7.4, WordPress 5.8 |
| 💻 概念验证漏洞利用仓库和安全工具 | GitHub Repo Search | CVE-2021-44228 POC, 3.2K stars |
| 💬 安全社区问答和技术讨论 | StackExchange (Security.SE) | "Pass-the-Hash 在 AD 上是如何工作的?" |
| 📰 漏洞披露和安全新闻 | Hacker News Search | "OpenSSL 新 0-day 漏洞——立即修补" |
| 🏛️ 美国财政部 OFAC 特别指定国民名单 | OFAC Sanctions Search | 威胁行为体实体筛查 |
| 🌍 多司法管辖区制裁和观察名单 | OpenSanctions Search | 100+ 个项目,EU, UN, Interpol |
| 📡 安全公告和政策页面变更 | Website Change Monitor | CISA 咨询页面变更差异 |
| 💰 网络安全市场支出和网络保险指数 | FRED Economic Data | 美国网络安全 GDP 组成部分 |
## MCP 工具
| 工具 | 价格 | 算法 | 最适用于 |
|---|---|---|---|
| `simulate_attack_defense_posg` | **$0.045** | 通过 HSVI2 点式值迭代的 POSG,alpha 向量剪枝 | 最佳攻/防策略,博弈值计算 |
| `synthesize_exploit_chains` | **$0.040** | AND-OR 图 A*,带有 CVSS 可接纳启发式 h(n) = 路径上的 max CVSS | 多步攻击路径发现,修复优先级排序 |
| `predict_vulnerability_emergence` | **$0.035** | 带幂律核的 Hawkes 自激励过程,稀疏模拟 | 30/90 天 CVE 预测,补丁周期规划 |
| `optimize_defender_allocation` | **$0.040** | Colonel Blotto 博弈,通过虚拟博弈实现 Nash 均衡 | 安全预算分配,劣势策略消除 |
| `model_adaptive_adversary` | **$0.035** | Exp3 多臂赌博机,重要性加权奖励更新 | APT 技术预测,主动防御规划 |
| `compute_lateral_movement_risk` | **$0.035** | 吸收马尔可夫链,基本矩阵 N=(I-Q)^-1,流行病阈值 | 网络传播风险,分段验证 |
| `assess_zero_day_tail_risk` | **$0.035** | GPD 极值理论,概率加权矩 | VaR/CVaR 量化,网络保险定价 |
| `forecast_threat_landscape_evolution` | **$0.030** | 复制器动力学 dx_i/dt = x_i(f_i − φ),ESS 识别 | 长期威胁策略,EMERGING/DECLINING 分类 |
## 为什么使用自主网络红队 MCP?
进行手动威胁评估的安全团队需要花费数小时来关联 CVE 源、在白板上绘制攻击路径并猜测预算分配。咨询公司一次红队演练收费 15,000–50,000 美元,覆盖的攻击面有限,且结果在几周内就会过时。
此 MCP Server 自动化了这项工作的定量层。AI Agent 调用单个工具,Server 并行分发到 15 个数据源,构建实时攻击图,并在 60–180 秒内返回基于数学的输出 —— 博弈值、概率分布、预期攻陷步数和尾部风险估计。
在 Apify 平台上运行的优势:
- **调度** —— 按 cron 时间表运行每周威胁态势预测,以跟踪风险态势随时间的变化
- **API 访问** —— 通过 Apify API 将工具输出直接集成到 SIEM、SOAR 或自定义仪表板
- **支出限制** —— 设置每次会话的最大信用额度消耗,以便 AI Agent 不会超出成本预算
- **Webhooks** —— 当漏洞爆发概率超过阈值时触发 Slack 或 PagerDuty 警报
- **零基础设施** —— MCP Server 在 Apify 待机模式下运行,无需自行托管基础设施
## 功能特性
- **8 个独特的数学框架** —— POSG、AND-OR A*、Hawkes 过程、Colonel Blotto、Exp3 赌博机、吸收马尔可夫链、GPD 极值理论和复制器动力学 —— 每个都在 TypeScript 中从第一性原理实现
- **并行查询 15 个实时数据源** —— 每次工具调用都会同时分发到 NVD、CISA KEV、Censys、DNS、SSL、WHOIS、IP 地理位置、技术栈、GitHub、StackExchange、Hacker News、OFAC、OpenSanctions、网站监控和 FRED
- **从异构输入构建攻击图** —— `buildAttackGraph()` 将所有 15 个源输出标准化为具有 `VulnNode` 和 `AttackEdge` 类型的统一加权有向图,包含 CVSS 加权边、AND/OR 前提条件标志和技术标签
- **HSVI2 信念空间规划** —— `simulateAttackDefensePOSG()` 使用带 alpha 向量剪枝的点式值迭代求解信念单纯形上的 NEXPTIME 完全 POSG,返回收敛的博弈值和信念状态策略
- **CVSS 可接纳 A* 启发式** —— `synthesizeExploitChains()` 通过 h(n) = 剩余路径上的 max CVSS 分数保证成本最优的攻击路径;AND 节点需要满足所有前提条件,OR 节点只需满足任一条件
- **幂律 Hawkes 核** —— `predictVulnerabilityEmergence()` 使用 λ(t) = μ + Σ_i α(1 + (t−t_i)/c)^(−(1+ω)) 捕捉长记忆 CVE 聚类;稀疏模拟预测 30 天和 90 天计数
- **虚拟博弈 Nash 均衡** —— `optimizeDefenderAllocation()` 在安全领域战场上运行 Colonel Blotto 博弈;每次迭代对经验对手分布做出最佳响应,直到收敛
- **Exp3 重要性加权更新** —— `modelAdaptiveAdversary()` 应用 w_i(t+1) = w_i(t) × exp(η × r̂_i / K),其中最优 η = √(2 ln K / T),以追踪对手将倾向于哪些攻击技术
- **Gauss-Jordan 基本矩阵** —— `computeLateralMovementRisk()` 使用全选主元求逆 (I−Q) 以计算 N = (I−Q)^-1,给出从每个瞬态到吸收的预期步数;流行病阈值 β_c = ⟨k⟩/⟨k²⟩ 决定超临界传播
- **概率加权矩 GPD 拟合** —— `assessZeroDayTailRisk()` 将广义 Pareto 分布拟合到阈值以上的 CVSS 超额值,返回 VaR(95%)、VaR(99%)、CVaR(95%)、CVaR(99%) 和重现期
- **带 ESS 检测的复制器动力学** —— `forecastThreatLandscapeEvolution()` 积分 dx_i/dt = x_i(f_i − φ̄) 并根据增长率和适应度将每种技术分类为 EMERGING、GROWING、MATURE 或 DECLINING;通过抗入侵性识别进化稳定策略
- **带种子的 PRNG 以确保可重复性** —— 带查询派生种子的 mulberry32 PRNG 确保相同输入在不同运行间产生确定性输出
- **支出限制强制执行** —— 每个工具在执行前调用 `Actor.charge()` 并检查 `eventChargeLimitReached`,遵守调用者设置的每次会话预算上限
## 自主网络红队情报的用例
### 渗透测试准备
准备进行红队演练的安全工程师在测试开始前使用 `synthesize_exploit_chains` 为目标环境绘制完整的 AND-OR 攻击图。A* 搜索揭示了人类测试人员可能忽略的多步路径 —— 例如,从暴露的传统 SSH 服务穿过配置错误的跳板机进入域控制器的链 —— 以及每条路径的总 CVSS 成本和预计执行时间。
### 安全预算分配和 CISO 报告
CISO 和安全主管使用 `optimize_defender_allocation` 将威胁数据转化为资源分配建议。Colonel Blotto 输出显示哪些安全领域(边界、身份、端点、云、网络)相对于 Nash 均衡处于防御不足状态,并识别当前支出未提供边际保护的劣势策略。
### 漏洞管理和补丁优先级排序
漏洞管理团队使用 `predict_vulnerability_emergence` 预测特定技术 —— Linux 内核、Apache、Windows Active Directory —— 在 30 天和 90 天时间范围内的 CVE 披露率。Hawkes 过程爆发概率识别何时可能发生聚类事件,使团队能够在披露浪潮之前预先部署修复资源。
### 网络保险承保和精算定价
承保人和精算师使用 `assess_zero_day_tail_risk` 量化投保人技术栈中漏洞的严重性分布。GPD 拟合的 VaR 和 CVaR 指标为最大损失估计和保费计算提供统计学依据,取代经验法则的网络风险评分。
### APT 追踪和威胁情报
威胁情报分析师使用 `model_adaptive_adversary` 建模已知 APT 组织 —— APT29、Lazarus、Sandworm —— 如何针对特定防御态势调整其技术选择。Exp3 赌博机输出根据历史适应速度和估计奖励,预测未来攻击活动中将优先使用哪些 MITRE ATT&CK 技术。
### 战略安全规划
安全架构师和长期规划人员使用 `forecast_threat_landscape_evolution` 了解哪些攻击技术正在获得进化适应度,哪些正在衰退。复制器动力学识别进化稳定策略 —— 一旦占主导地位就能抵御替代方案取代的技术 —— 从而能够针对未来的威胁态势而非去年的态势进行防御投资。
## 如何连接此 MCP Server
### 步骤 1 — 获取您的 Apify API Token
在 [apify.com](https://apify.com) 注册并从 Account Settings 复制您的 API token。免费计划包含每月 $5 的额度。
### 步骤 2 — 添加到您的 MCP 客户端
**Claude Desktop** — 添加到 `claude_desktop_config.json`:
```
{
"mcpServers": {
"autonomous-cyber-red-team": {
"url": "https://autonomous-cyber-red-team-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
```
**Cursor / Windsurf / Cline** — 在您的 MCP Server 设置中添加相同的 URL 和 Authorization header。
### 步骤 3 — 调用工具
询问您的 Agent:"Synthesize exploit chains for apache log4j corporate network" 或 "Model an APT29 adaptive adversary targeting financial services." Agent 调用该工具,Server 聚合 15 个数据源,并返回带有定量分析的结构化 JSON。
### 步骤 4 — 解读结果
每个工具返回一个 JSON 对象,其中包含特定于算法的字段以及一个 `graphSummary`,显示从实时数据构建了多少节点和边。更高的节点和边计数表示数据源信号更。
## 工具参数
所有 8 个工具共享相同的两个输入参数:
| 参数 | 类型 | 必需 | 默认值 | 描述 |
|---|---|---|---|---|
| `query` | string | 是 | — | 目标域、技术、威胁行为体或场景(例如 "apache log4j corporate network"、"APT29 nation-state attack"、"ransomware healthcare sector") |
| `maxResults` | number | 否 | 30–50(因工具而异) | 每个 Actor 获取的最大结果数。范围:5–100。较高的值可提高模型质量但会增加响应时间。工具 3 和 7 默认为 50,以获得更好的统计估计。 |
### 输入示例
**针对特定 CVE 的漏洞利用链合成:**
```
{
"query": "apache log4j CVE-2021-44228 corporate network",
"maxResults": 30
}
```
**高数据量的 APT 对手建模:**
```
{
"query": "APT29 nation-state attack financial sector",
"maxResults": 50
}
```
**技术组合的零日尾部风险:**
```
{
"query": "linux kernel remote code execution",
"maxResults": 50
}
```
**快速威胁态势预测:**
```
{
"query": "ransomware healthcare sector",
"maxResults": 20
}
```
### 输入提示
- **在查询中要具体** —— "windows active directory pass-the-hash" 比 "windows security" 生成更针对性的攻击图。查询会传递给所有 15 个数据源,因此特定领域的术语能提取更多相关信号。
- **为统计工具增加 maxResults** —— `predict_vulnerability_emergence` 和 `assess_zero_day_tail_risk` 依赖样本量进行分布拟合。对这两个工具使用 maxResults ≥ 50。
- **使用带版本上下文的技术名称** —— "Apache HTTP Server 2.4" 比 "web server" 返回更精确的 CVE 和 Censys 数据。
- **组合工具进行全面评估** —— 对同一查询运行所有 8 个工具可构建完整图景:漏洞利用路径、防御者分配、对手适应和尾部风险,每个目标总共 $0.295。
## 输出示例
### simulate_attack_defense_posg 输出
```
{
"gameValue": 0.623,
"attackerValue": 0.741,
"defenderValue": 0.259,
"converged": true,
"iterations": 847,
"alphaVectorCount": 23,
"optimalAttackPath": [
"CVE-2021-44228-entry",
"corp-jumphost-pivot",
"ad-domain-controller-target"
],
"optimalDefenseAllocation": {
"perimeter": 0.38,
"identity": 0.31,
"endpoint": 0.18,
"cloud": 0.13
},
"beliefStates": [
{ "state": "undetected", "probability": 0.67 },
{ "state": "partial-detection", "probability": 0.24 },
{ "state": "full-detection", "probability": 0.09 }
],
"graphSummary": { "nodes": 47, "edges": 83 }
}
```
### synthesize_exploit_chains 输出
```
{
"attackSurfaceScore": 8.14,
"chainCount": 12,
"criticalPath": {
"path": ["log4j-rce-entry", "lateral-smb-pivot", "lsass-dump-target", "dc-sync-exfil"],
"totalCvss": 34.7,
"probability": 0.43,
"andNodes": ["lsass-dump-target"],
"orNodes": ["log4j-rce-entry", "lateral-smb-pivot"],
"techniques": ["T1190", "T1021.002", "T1003.001", "T1003.006"],
"estimatedTime": 4.2
},
"averageChainLength": 3.8,
"maxCvssChain": 34.7,
"chains": [
{
"path": ["log4j-rce-entry", "lateral-smb-pivot", "lsass-dump-target", "dc-sync-exfil"],
"totalCvss": 34.7,
"probability": 0.43,
"techniques": ["T1190", "T1021.002", "T1003.001", "T1003.006"],
"estimatedTime": 4.2
}
],
"graphSummary": { "nodes": 47, "edges": 83 }
}
```
### predict_vulnerability_emergence 输出
```
{
"baselineIntensity": 0.032,
"currentIntensity": 0.187,
"hawkesParams": {
"alpha": 0.71,
"omega": 1.23,
"c": 0.45
},
"predictedEvents30d": 8,
"predictedEvents90d": 21,
"burstProbability": 0.68,
"criticalVulnForecast": 3,
"clusterSizes": [2, 4, 3, 5, 2],
"intensityTimeline": [
{ "t": 0, "lambda": 0.187 },
{ "t": 7, "lambda": 0.143 },
{ "t": 14, "lambda": 0.112 },
{ "t": 30, "lambda": 0.089 }
],
"graphSummary": { "nodes": 61, "edges": 104 }
}
```
### assess_zero_day_tail_risk 输出
```
{
"gpdParameters": {
"shape": 0.14,
"scale": 1.82,
"threshold": 7.0
},
"var95": 8.6,
"var99": 9.4,
"cvar95": 9.1,
"cvar99": 9.7,
"maxObserved": 10.0,
"tailIndex": 0.14,
"portfolioRisk": 0.83,
"exceedanceProbabilities": [
{ "severity": 8.0, "probability": 0.31 },
{ "severity": 9.0, "probability": 0.12 },
{ "severity": 9.5, "probability": 0.04 }
],
"returnPeriods": [
{ "severity": 9.0, "returnPeriodDays": 28 },
{ "severity": 9.5, "returnPeriodDays": 84 }
],
"graphSummary": { "nodes": 58, "edges": 96 }
}
```
## 各工具输出字段
### simulate_attack_defense_posg
| 字段 | 类型 | 描述 |
|---|---|---|
| `gameValue` | number | Nash 均衡博弈值 (0–1),越高 = 攻击者优势越大 |
| `attackerValue` | number | 最优策略下攻击者的期望效用 |
| `defenderValue` | number | 最优策略下防御者的期望效用 |
| `converged` | boolean | HSVI2 迭代是否在容差范围内收敛 |
| `iterations` | number | 点式值迭代周期数 |
| `alphaVectorCount` | number | 剪枝后保留的 alpha 向量数 |
| `optimalAttackPath` | string[] | 最优攻击路径上的节点 ID |
| `optimalDefenseAllocation` | object | 每个安全域的标准化预算分配 |
| `beliefStates` | array | 最优博弈下的检测状态概率 |
| `graphSummary.nodes` | number | 构建的攻击图中的总节点数 |
| `graphSummary.edges` | number | 构建的攻击图中的总边数 |
### synthesize_exploit_chains
| 字段 | 类型 | 描述 |
|---|---|---|
| `attackSurfaceScore` | number | 聚合攻击面严重性评分 |
| `chainCount` | number | 发现的漏洞利用链总数 |
| `criticalPath` | object | 最低成本(最高 CVSS)的漏洞利用链 |
| `criticalPath.path` | string[] | 从入口点到目标的节点 ID |
| `criticalPath.totalCvss` | number | 链上 CVSS 分数总和 |
| `criticalPath.probability` | number | 估计成功概率 |
| `criticalPath.andNodes` | string[] | 需要所有前提条件的节点(AND 逻辑) |
| `criticalPath.orNodes` | string[] | 需要任一前提条件的节点(OR 逻辑) |
| `criticalPath.techniques` | string[] | MITRE ATT&CK 技术 ID |
| `criticalPath.estimatedTime` | number | 预计攻击执行时间(小时) |
| `averageChainLength` | number | 所有链的平均步数 |
| `maxCvssChain` | number | 所有链中最大累积 CVSS |
| `chains` | array | 最多 10 条漏洞利用链,按 CVSS 成本排序 |
### predict_vulnerability_emergence
| 字段 | 类型 | 描述 |
|---|---|---|
| `baselineIntensity` | number | 背景 CVE 到达率 μ |
| `currentIntensity` | number | 包含激发的当前强度 λ(t) |
| `hawkesParams.alpha` | number | 激发幅度参数 |
| `hawkesParams.omega` | number | 幂律衰减指数 |
| `hawkesParams.c` | number | 幂律偏移参数 |
| `predictedEvents30d` | number | 未来 30 天预期 CVE 计数 |
| `predictedEvents90d` | number | 未来 90 天预期 CVE 计数 |
| `burstProbability` | number | 聚类爆发事件的概率 |
| `criticalVulnForecast` | number | 预测的严重 (CVSS ≥ 9.0) CVE 计数 |
| `clusterSizes` | number[] | 观察到的历史聚类大小 |
| `intensityTimeline` | array | 随时间变化的强度衰减曲线 |
### optimize_defender_allocation
| 字段 | 类型 | 描述 |
|---|---|---|
| `defenderBudget` | number | 防御者资源单位 |
| `attackerBudget` | number | 攻击者资源单位 |
| `battlefields` | array | 每个域的分配和获胜概率 |
| `battlefields[].name` | string | 安全域名称 |
| `battlefields[].defenderAlloc` | number | 分配的防御者单位 |
| `battlefields[].attackerAlloc` | number | 分配的攻击者单位 |
| `battlefields[].defenderWinProb` | number | 此战场上防御者的获胜概率 |
| `nashEquilibrium` | object | 按域划分的 Nash 均衡分配 |
| `defenderExpectedPayoff` | number | Nash 点防御者期望收益 |
| `attackerExpectedPayoff` | number | Nash 点攻击者期望收益 |
| `dominatedStrategies` | string[] | 通过迭代优势消除的策略 |
| `iterations` | number | 虚拟博弈收敛迭代次数 |
### model_adaptive_adversary
| 字段 | 类型 | 描述 |
|---|---|---|
| `optimalArm` | string | 对手已收敛到的攻击技术 |
| `predictedNextAction` | string | 预测的下一个攻击技术 |
| `adaptationSpeed` | number | 跨轮次权重集中率 |
| `regret` | number | 相对于最佳固定策略的累积遗憾 |
| `explorationRate` | number | 当前探索概率 |
| `rounds` | number | Exp3 模拟轮次 |
| `arms` | array | 每种技术的权重、概率、奖励和拉动次数 |
### compute_lateral_movement_risk
| 字段 | 类型 | 描述 |
|---|---|---|
| `epidemicThreshold` | number | β_c = ⟨k⟩/⟨k²⟩ 临界传播阈值 |
| `currentBeta` | number | 估计的当前传播率 |
| `supercritical` | boolean | 若 currentBeta > epidemicThreshold(攻陷传播)则为 True |
| `meanDegree` | number | 平均网络度 ⟨k⟩ |
| `meanSquareDegree` | number | 二阶矩 ⟨k²⟩ |
| `expectedSteps` | object | 每个起始节点的预期攻陷步数 |
| `absorptionProbabilities` | object | 从每个源到达每个目标的概率 |
| `highRiskPaths` | array | 按预期攻陷步数排序的前 10 条路径 |
| `fundamentalMatrixSize` | number | N = (I-Q)^-1 的维度 |
### assess_zero_day_tail_risk
| 字段 | 类型 | 描述 |
|---|---|---|
| `gpdParameters.shape` | number | GPD 形状参数 ξ(尾部厚度) |
| `gpdParameters.scale` | number | GPD 尺度参数 σ |
| `gpdParameters.threshold` | number | 超额阈值 u |
| `var95` | number | 第 95 百分位的 CVSS 风险价值 (VaR) |
| `var99` | number | 第 99 百分位的 CVSS 风险价值 (VaR) |
| `cvar95` | number | 95% 条件 VaR(期望损失) |
| `cvar99` | number | 99% 条件 VaR(期望损失) |
| `maxObserved` | number | 数据集中观察到的最大 CVSS 分数 |
| `tailIndex` | number | 尾部厚度指数(正值 = 厚尾) |
| `portfolioRisk` | number | 聚合组合网络风险评分 0–1 |
| `exceedanceProbabilities` | array | 严重性阈值处的 P(X > x) |
| `returnPeriods` | array | 超过严重性阈值之间的预期天数 |
### forecast_threat_landscape_evolution
| 字段 | 类型 | 描述 |
|---|---|---|
| `ess` | string[] | 进化稳定策略(抗入侵技术) |
| `emergingThreats` | string[] | 被归类为 EMERGING 的技术 |
| `decliningThreats` | string[] | 被归类为 DECLINING 的技术 |
| `replicatorConvergence` | number | 复制器动力学的收敛度量 (0–1) |
| `timeToEquilibrium` | number | 达到稳定分布的估计时间步数 |
| `landscapeEntropy` | number | 技术频率分布的 Shannon 熵 |
| `techniques` | array | 每种技术的名称、频率、适应度、阶段、增长率 |
## 自主红队情报的成本是多少?
每个工具使用 **按事件付费定价** —— 您仅在成功启动工具调用时付费。价格因计算复杂性而异。
| 工具 | 每次调用价格 | 10 次调用 | 50 次调用 |
|---|---|---|---|
| `simulate_attack_defense_posg` | $0.045 | $0.45 | $2.25 |
| `synthesize_exploit_chains` | $0.040 | $0.40 | $2.00 |
| `predict_vulnerability_emergence` | $0.035 | $0.35 | $1.75 |
| `optimize_defender_allocation` | $0.040 | $0.40 | $2.00 |
| `model_adaptive_adversary` | $0.035 | $0.35 | $1.75 |
| `compute_lateral_movement_risk` | $0.035 | $0.35 | $1.75 |
| `assess_zero_day_tail_risk` | $0.035 | $0.35 | $1.75 |
| `forecast_threat_landscape_evolution` | $0.030 | $0.30 | $1.50 |
| **完整 8 工具评估(一个目标)** | **$0.295** | — | — |
您可以在 MCP 客户端或通过 Apify 的内置支出控制设置 **每次会话的最大支出限制**。Server 在执行每个工具前检查 `eventChargeLimitReached`,并在达到预算时返回清晰的错误。
Apify 的免费计划包含 **每月 $5 额度** —— 足以免费进行 16 次完整的 8 工具评估。
与 Recorded Future 或 Mandiant Advantage 等商业威胁情报平台相比,后者每年收费 $30,000–150,000 提供分析师策划的源,但没有定量建模层。
## 自主网络红队 MCP 如何工作
### 阶段 1 —— 数据聚合(并行,60–150 秒)
每次工具调用通过 `actor-client.ts` 中的 `runActorsParallel()` 并行分发多达 15 个 Actor 调用。每个 Actor 使用用户的查询和每个 Actor 的 `maxResults` 上限进行调用。180 秒的 Actor 超时确保并行分发在组装攻击图之前完成。单个数据源的故障会被优雅处理 —— 该源返回空数组,图从剩余信号构建。
选择这 15 个源是为了覆盖完整的杀伤链:NVD 和 CISA KEV 提供漏洞节点,Censys 和技术栈检测提供资产节点,DNS 和 SSL 暴露网络边界,GitHub 提供活跃的漏洞利用代码,StackExchange 和 Hacker News 提供关于漏洞利用技术可行性的上下文,OFAC 和 OpenSanctions 处理威胁行为体归属,FRED 提供风险量化的经济背景。
### 阶段 2 —— 攻击图构建
`scoring.ts` 中的 `buildAttackGraph()` 将所有 15 个源输出标准化为具有类型化VulnNode` 和 `AttackEdge` 结构的统一 `AttackGraph`。节点携带 CVSS 分数、可利用性、影响、KEV 标志、技术栈标签、类别(入口/枢纽/目标/渗出)和检测难度。边携带技术名称、成功概率、CVSS 权重和 AND/OR 前提条件类型。带种子的 mulberry32 PRNG(seed=42)确保相同输入的确定性图构建。生成的加权邻接矩阵驱动所有下游算法。
### 阶段 3 —— 算法应用
每个工具对同一攻击图应用不同的算法:
- **POSG (工具 1)** —— HSVI2 在信念空间点上迭代,计算值的上下界直到间隙低于容差。Alpha 向量在每个迭代中使用支配检查进行剪枝。收敛值代表无限视界折扣博弈的 Nash 均衡。
- **AND-OR A* (工具 2)** —— 优先队列以 f(n) = g(n) + h(n) 探索 AND-OR 图,其中 g 是累积 CVSS 成本,h = 剩余 max CVSS 作为可接纳启发式。AND 节点仅在满足所有前提条件时展开;OR 节点在满足任一前提条件时展开。
- **Hawkes 过程 (工具 3)** —— 幂律核 λ(t) = μ + Σ_i α(1 + (t−t_i)/c)^(−(1+ω)) 从 CVE 时间戳数据校准。稀疏模拟生成 30 天和 90 天预测的样本路径。
- **Colonel Blotto (工具 4)** —— 虚拟博弈在每次迭代中跨安全战场对当前经验对手分布做出最佳响应,直到混合策略收敛到 Nash 均衡。
- **Exp3 (工具 5)** —— 指数权重更新 w_i(t+1) = w_i(t) × exp(η × r̂_i / K) 配合重要性加权估计器 r̂_i = r_i / p_i 追踪对手技术选择。最优学习率 η = √(2 ln K / T) 通过解析计算。
- **吸收 Markov (工具 6)** —— Gauss-Jordan 求逆计算 N = (I−Q)^-1,其中 Q 是瞬态到瞬态子矩阵。吸收矩阵 B = NR 给出攻陷概率。来自平均场理论的流行病阈值 β_c = ⟨k⟩/⟨k²⟩ 决定超临界传播。
- **GPD (工具 7)** —— 概率加权矩将 GPD 参数(形状 ξ,尺度 σ)拟合到阈值 u 以上的 CVSS 超额值。P(X > x | X > u) = (1 + ξ(x−u)/σ)^(−1/ξ) 给出 VaR 和 CVaR 计算的超额概率。
- **复制器动力学 (工具 8)** —— dx_i/dt = x_i(f_i − φ̄) 的 Euler 积分,其中 φ̄ = Σ_j x_j f_j 是平均适应度。技术按增长率符号和适应度百分位分类。通过扰动稳定性识别 ESS 候选。
### 阶段 4 —— 响应序列化
结果通过 `json()` 辅助函数序列化为 JSON,并作为 MCP `CallToolResult` 返回,其中 `content[0].type = 'text'`。所有数字字段均四舍五入以提高可读性。`graphSummary` 字段附加到每个响应,以便调用者评估数据丰富度。
## 获得最佳结果的提示
1. **使用技术加上下文进行查询** —— "apache log4j 2.14 corporate internal network" 比单纯 "log4j" 构建更丰富的图。查询会逐字传递给所有 15 个 Actor,因此特异性会在各源间倍增。
2. **主动使用 `predict_vulnerability_emergence`** —— 每周对风险最高的技术组件运行一次。当 `burstProbability` 超过 0.6 时,预先部署补丁团队。每周运行成本 $0.035,可防止紧急响应。
3. **在预算讨论中将 POSG 放在 Blotto 之前** —— `simulate_attack_defense_posg` 给您博弈值(攻击者优势),然后 `optimize_defender_allocation` 告诉您如何重新分配预算来对抗它。将两个输出一起展示用于 CISO 级别的对话。
4. **为尾部风险和 Hawkes 工具设置 maxResults ≥ 50** —— GPD 拟合和 Hawkes 校准随样本量增加而大幅改善。对于 `assess_zero_day_tail_risk` 和 `predict_vulnerability_emergence`,始终使用 maxResults: 50 或更高。
5. **每季度运行 `forecast_threat_landscape_evolution`** —— 复制器动力学显示技术生命周期阶段。现在归类为 EMERGING 的技术在 6–12 个月内将变为 GROWING。季度预测给您 2–3 个季度的提前时间来针对下一个主导技术构建防御。
6. **与 [WHOIS 域名查询](https://apify.com/ryanclinton/whois-domain-lookup) 和 [网站技术栈检测器](https://apify.com/ryanclinton/website-tech-stack-detector) 结合使用** —— 这些 Actor 嵌入在 MCP 的数据聚合中,但先单独运行它们可以让您在进行完整 8 工具评估之前验证目标是否被正确识别。
7. **将结果导出到数据集进行趋势分析** —— 使用 Apify 的数据集存储随时间持久化工具输出。逐月比较 `simulate_attack_defense_posg` 的 `gameValue` 可以客观衡量您的攻击面如何变化。
## 与其他 Apify Actor 结合使用
| Actor | 如何结合 |
|---|---|
| [网站技术栈检测器](https://apify.com/ryanclinton/website-tech-stack-detector) | 先检测技术栈,然后将识别出的技术作为查询传递给 `synthesize_exploit_chains` 进行针对性漏洞利用链分析 |
| [WHOIS 域名查询](https://apify.com/ryanclinton/whois-domain-lookup) | 枚举子域名和注册数据,然后将域名列表输入 `simulate_attack_defense_posg` 进行边界攻击面建模 |
| [公司深度研究](https://apify.com/ryanclinton/company-deep-research) | 生成公司情报报告,提取技术提及,然后对每个识别出的技术运行 `predict_vulnerability_emergence` |
| [网站变更监控](https://apify.com/ryanclinton/website-change-monitor) | 监控 CISA 咨询和供应商安全页面;当检测到新咨询时通过 webhook 触发 `synthesize_exploit_chains` |
| [网络攻击面报告](https://apify.com/ryanclinton/cyber-attack-surface-report) | 运行完整的被动攻击面报告,然后将输出输入 `compute_lateral_movement_risk` 进行网络传播分析 |
| [B2B 潜在客户筛选器](https://apify.com/ryanclinton/b2b-lead-qualifier) | 按技术栈筛选潜在客户,然后对其栈使用 `assess_zero_day_tail_risk` 识别网络安全产品的高风险潜在客户 |
| [公司尽职调查报告](https://apify.com/ryanclinton/company-due-diligence-report) | 用 `assess_zero_day_tail_risk` 和 `forecast_threat_landscape_evolution` 丰富尽职调查报告的收购网络风险章节 |
## 限制
- **仅被动分析** —— 此 Server 永远不会向目标基础设施发送数据包。它仅访问来自政府注册表、证书透明度日志、DNS 和社区数据库的公开可用数据。它无法发现未公开记录的漏洞。
- **攻击图质量取决于数据源覆盖范围** —— 对小众或专有技术的查询可能返回稀疏的 NVD 和 GitHub 数据,导致攻击图较小且模型输出统计可靠性较低。检查 `graphSummary.nodes` —— 少于 10 个节点的图应谨慎解读。
- **数学模型是概率性的,而非确定性的** —— POSG 博弈值、Hawkes 预测和 GPD 尾部估计是基于可用数据的统计输出,而非基本事实评估。它们量化风险,而非认证风险。
- **无运行时漏洞利用执行** —— 这不是自动化漏洞利用框架。它识别并优先排序攻击路径;执行这些路径需要人工红队。
- **15 个数据源有各自的速率限制** —— 在高流量期间,个别 Actor(尤其是 Censys 和 GitHub)可能因上游速率限制返回少于 `maxResults` 的结果。这会被优雅处理,但可能降低图密度。
- **Hawkes 校准需要历史 CVE 时间戳** —— 如果 NVD 对小众查询返回很少结果,Hawkes 模型将只有有限的历史数据用于校准,并将回退到基线强度估计。
- **GPD 拟合需要阈值以上的超额值** —— 如果少于 5 个 CVSS 分数超过阈值(默认 u = 7.0),GPD 形状和尺度估计将不可靠。`maxResults: 50` 可缓解此问题。
- **无身份验证绕过或凭据测试** —— Server 不尝试登录系统、测试默认凭据或执行身份验证扫描。
## 集成
- [Apify API](https://docs.apify.com/api/v2) —— 直接从 Python 或 Node.js 应用程序调用单个工具,或通过 REST 将 MCP 响应集成到 SIEM/SOAR 管道
- [Webhooks](https://docs.apify.com/platform/integrations/webhooks) —— 当 `burstProbability` 或 `gameValue` 超过阈值时触发下游操作(PagerDuty 警报、Jira 工单、Slack 通知)
- [Zapier](https://apify.com/integrations/zapier) —— 安排每周威胁态势预测并将结果推送到 Google Sheets 或 Notion 数据库以进行长期跟踪
- [Make](https://apify.com/integrations/make) —— 构建多步自动化:检测到网站变更 → 运行漏洞利用链合成 → 将发现推送到安全工单系统
- [Google Sheets](https://apify.com/integrations/google-sheets) —— 将每周 VaR、CVaR 和博弈值指标导出到电子表格,用于董事会级别的网络风险报告
- [LangChain / LlamaIndex](https://docs.apify.com/platform/integrations) —— 在 RAG 管道中使用 MCP 工具输出作为结构化上下文,用于 AI 辅助威胁报告生成
## 故障排除
**攻击图为空或非常小(graphSummary.nodes < 5)** —— 查询从 NVD 和相关源返回很少结果。尝试更广泛的查询:使用不带版本号的技术名称,或添加单词 "vulnerability"。同时检查 `maxResults` 至少为 20。对于非常小众的技术,无论 maxResults 如何,攻击图都会很稀疏。
**工具返回 `{ "error": true, "message": "Spending limit reached" }`** —— 会话的每次事件收费限制在工具执行前已达到。在您的 Apify 账户设置或 MCP 客户端的会话配置中增加支出限制。这是安全功能,不是 bug。
**响应时间超过 3 分钟** —— 15 个上游 Actor 中的一个或多个达到 180 秒超时。这通常发生在高负载下的 Censys 或 GitHub。结果仍会从成功完成的 Actor 返回数据。在非高峰时段重试调用或减少 `maxResults` 以加快 Actor 调用。
**POSG 输出中 `converged: false`** —— HSVI2 未在迭代预算内收敛。当攻击图有许多节点且信念单纯形很大时会发生这种情况。返回的博弈值是一个界限,而非精确的 Nash 值。请将结果用于方向性参考,而非精确数值。
**GPD 形状参数 ξ 极端(> 1 或 < -0.5)** —— 这表示阈值以上的超额值非常少,导致矩估计不稳定。将 `maxResults` 增加到 50+ 并确保查询针对已知有高严重性 CVE 的技术。形状参数在 [−0.5, 0.5] 范围内对于 CVSS 数据在统计上是正常的。
## 负责任的使用
- 此 Server 仅访问公开可用的漏洞数据、DNS 记录、证书透明度日志和社区生成的内容。
- 不要使用此工具计划、促进或执行对计算机系统的未授权访问。公开可用数据的被动分析是合法的;未经授权的渗透测试则不是。
- 进行评估时,请遵守您组织的安全政策和适用的计算机欺诈法律(CFAA、Computer Misuse Act、EU NIS2)。
- 结果应由合格的安全专业人员审查,然后再用于做出运营决策。
- 有关使用公开数据进行安全研究合法性的指导,请参阅 [Apify 的网络抓取合法性指南](https://blog.apify.com/is-web-scraping-legal/)。
## 常见问题
**在免费层用完之前我可以进行多少次工具调用?**
Apify 免费计划包含每月 $5 额度。按每次调用 $0.030–$0.045 计算,这涵盖 111–166 次单个工具调用,或 16–17 次完整 8 工具评估(每次 $0.295)。额度每月重置。
**自主红队分析对内部网络目标有效吗?**
工具适用于任何查询字符串,但结果仅限于公开可用数据。对于内部网络(`192.168.x.x` 地址或内部主机名),NVD 和 Censys 将不返回任何内容。这些工具对于面向互联网的基础设施、技术栈、已知威胁行为体和 CVE 类别最有效。
**这与运行手动 CVSS 查询有何不同?**
CVSS 查询为您提供单个 CVE 的单个严重性分数。此 MCP 从 15 个源构建多节点攻击图,并对其应用博弈论、随机和极值统计。输出是攻防博弈值、最优分配建议、带 AND-OR 前提条件的漏洞利用链以及尾部风险估计 —— 而非分数列表。
**我可以用这个来满足合规或审计要求吗?**
输出可以为合规工作提供信息和支持 —— 特别是 SOC 2、ISO 27001 和 NIST CSF 评估的风险量化部分 —— 但它们不构成正式的渗透测试或审计。合规框架通常要求由认证专业人员在明确书面授权下进行的测试。
**Hawkes 漏洞预测有多准确?**
Hawkes 过程捕捉给定技术类别中 CVE 披露的时间聚类。预测是概率性的 —— `predictedEvents30d: 8` 意味着模型预计 30 天内大约有 8 个 CVE,不确定性随预测范围增加。较高的 `maxResults`(更多历史时间戳用于校准)和具有许多记录 CVE 的技术可提高准确性。
**查询 CISA KEV、NVD 和 Censys 数据合法吗?**
是的。NVD 是美国政府公共数据库。CISA KEV 是公共咨询目录。Censys 作为公共资源发布互联网扫描数据。此 MCP 使用的所有 15 个数据源都是公开可访问的。有关更多背景信息,请参阅 [Apify 法律指南](https://blog.apify.com/is-web-scraping-legal/)。
**这与 Recorded Future 等商业威胁情报平台有何不同?**
Recorded Future 和类似平台提供分析师策划、人工标记的威胁情报,具有专有的暗网和 HUMINT 来源。此 MCP 将数学建模 —— 博弈论、随机过程、极值理论 —— 应用于开源数据。它们互为补充:使用商业平台进行归属和行动者情报,使用此 MCP 进行定量风险建模和资源分配。
**如果 15 个上游 Actor 之一失败会发生什么?**
`runActorsParallel()` 函数捕获每个 Actor 的错误并为该源返回空数组。攻击图从剩余源构建。响应中的 `graphSummary` 反映实际构建了多少节点和边,让您了解数据完整性。
**我可以在同一目标上并行运行所有 8 个工具吗?**
可以。每个工具是独立的 MCP 调用。AI Agent 可以并行调用所有 8 个并聚合结果。一个目标的完整并行评估成本为 $0.295,在 60–180 秒内完成(受最慢的并行数据获取限制,而非总和)。
**如何解读 simulate_attack_defense_posg 的 `gameValue`?**
`gameValue` 是 0–1 尺度上攻防博弈的 Nash 均衡值,其中 1 代表完全的攻击者优势,0 代表完全的防御者优势。值高于 0.6 表示攻击者在当前攻击面和防御分配上具有结构性优势。使用 `optimalDefenseAllocation` 识别预算重新分配最能降低博弈值的地方。
**我可以在自主 AI Agent 管道中使用此 MCP 吗?**
可以,这是主要的预期用途。Server 在 Apify Standby 模式下运行,意味着它始终可用于 Agent 调用,无冷启动延迟。它适用于任何兼容 MCP 的 Agent 框架,包括 LangChain Agent、AutoGen、CrewAI 和自定义 Agent 循环。
## 帮助我们改进
如果您遇到问题,请在 Apify 账户中启用运行共享以帮助我们更快调试:
1. 前往 [Account Settings > Privacy](https://console.apify.com/account/privacy)
2. 启用 **Share runs with public Actor creators**
这让我们在出现问题时能够查看您的运行详情。您的数据仅对 Actor 开发者可见,不会公开。
## 支持
发现 Bug 或有功能请求?在此 Actor 页面的 [Issues 标签页](https://console.apify.com/actors/autonomous-cyber-red-team-mcp/issues) 开启 issue。对于自定义安全集成或企业部署,请通过 Apify 平台联系。
标签:AI智能体, API集成, CISA KEV, CISA项目, Claude, CVE检测, Cybersecurity, DNS枚举, GPT-4o, MCP服务器, NVD, Python, Red Teaming, SSL证书透明度, 博弈论, 反取证, 可观测性, 威胁情报, 安全评估, 实时处理, 密码管理, 对手行为建模, 开发者工具, 恶意样本开发, 技术栈检测, 攻击图, 攻击模拟, 数学建模, 无后门, 渗透测试辅助, 漏洞利用链, 漏洞预测, 红队自动化, 结构化查询, 网络安全, 网络安全工具, 自动化安全, 量化风险分析, 隐私保护, 驱动签名利用