apifyforge/cybersecurity-intelligence-mcp

GitHub: apifyforge/cybersecurity-intelligence-mcp

为AI代理提供统一接口的网络安全情报MCP服务器,整合CVE、CISA KEV、Censys、CT日志、DNS和WHOIS六大被动情报源,实现自然语言驱动的威胁情报分析。

Stars: 0 | Forks: 0

# 网络安全情报 MCP Server ## 快速开始 添加到您的 MCP 客户端(Claude Desktop, Cursor, Windsurf): ``` { "mcpServers": { "cybersecurity-intelligence-mcp": { "url": "https://ryanclinton--cybersecurity-intelligence-mcp.apify.actor/mcp" } } } ``` 面向 AI 代理的网络安全情报 —— 搜索 200,000+ 个 CVE,检查 CISA 已知被利用漏洞目录,通过 Certificate Transparency 枚举子域名,审计 DNS 和电子邮件安全,通过 Censys 扫描互联网暴露主机,并调查域名注册 —— 全部通过一个 MCP server 完成。专为安全工程师、渗透测试人员以及需要结构化威胁情报而无需主动扫描的 AI 驱动工作流而构建。 只需连接一次 Claude Desktop、Cursor 或任何兼容 MCP 的客户端,您的 AI 就可以按需调查 CVE 暴露情况、分析域名的攻击面、映射子域名并生成风险评分的安全评估。八个工具封装了六个权威的公共数据源:NIST NVD、CISA KEV、Censys、crt.sh Certificate Transparency 日志、DNS/电子邮件安全记录以及 WHOIS/RDAP 注册数据。 ## ⬇️ 可以提取哪些数据? | 数据点 | 来源 | 示例 | |---|---|---| | 📋 CVE ID、描述、CVSS 评分 | NIST NVD | CVE-2021-44228, CVSS 10.0 CRITICAL | | ⚔️ 攻击向量和攻击复杂度 | NIST NVD | NETWORK / LOW | | 🔍 CWE 弱点分类 | NIST NVD | CWE-502 (Deserialization) | | 🚨 主动利用漏洞标记 | CISA KEV | knownRansomwareCampaignUse: "Known" | | 🗓️ 强制补丁的 KEV 截止日期 | CISA KEV | 2022-05-04 (联邦机构) | | 🌐 互联网暴露主机和开放端口 | Censys | 192.0.2.14:3306 (MySQL exposed) | | 🔒 每个域名的 SSL/TLS 证书历史 | crt.sh CT Logs | 847 certs, 134 unique subdomains | | 📡 A, AAAA, MX, NS, TXT, CNAME, SOA 记录 | DNS lookup | a.example.com → 93.184.216.34 | | 🛡️ SPF, DMARC, DKIM 电子邮件安全审计 | DNS lookup | DMARC: p=reject, SPF: pass | | 🏢 域名注册商、注册日期、年限 | WHOIS/RDAP | Registered 2003-01-01, age 8,115 days | | ⏳ 域名到期和距到期天数 | WHOIS/RDAP | Expires 2027-01-01, 652 days | | ⚠️ 带严重性标签的风险指标 | Domain Intelligence | ALERT, WARNING, CRITICAL, INFO | ## 为什么使用 Cybersecurity Intelligence MCP Server? 如今的网络安全调查意味着在五六个浏览器标签页之间切换:NVD 用于 CVE 查询,CISA 的 KEV 目录用于查看利用状态,crt.sh 用于证书枚举,一个 WHOIS 工具,一个 MX 查询工具,以及 Censys 用于主机侦察。每次查询都是手动的、大量复制粘贴的,并且产生的原始数据仍需解读。单单一次供应商评估可能就需要 30-45 分钟,才能获得可用的全貌。 此 MCP server 通过统一接口提供所有六个数据源,您的 AI 客户端可以将它们作为工具调用。问 Claude "哪些影响 Apache 的漏洞目前正在被利用?" 它会查询 NVD 和 CISA KEV,交叉引用结果,并在 30 秒内呈现一个优先级列表。`cyber_domain_intelligence` 工具并行运行 DNS、WHOIS、SSL 和 KEV 检查,并返回带有标签指标的经过风险评分的摘要。 - **调度** —— 通过 Apify 平台的 cron 调度运行定期安全评估,保持您的威胁情报最新 - **API 访问** —— 使用您的 Apify token 从 Python、JavaScript 或任何 HTTP 客户端触发运行 - **监控** —— 当运行失败或返回意外结果时接收 Slack 或电子邮件警报 - **集成** —— 将结果传输到 Zapier、Make、Google Sheets、HubSpot 或自定义 webhook - **支出控制** —— 设置每次运行预算上限,使 AI 代理不会超过您的成本阈值 ## 功能特性 - **NIST NVD CVE 搜索** —— 按关键词、直接 CVE ID、CPE 产品字符串、CVSS v3 严重性 (CRITICAL/HIGH/MEDIUM/LOW) 或发布日期范围查询 200,000+ 个已发布 CVE;返回 CVSS 基础分、攻击向量、攻击复杂度、所需权限、用户交互以及所有 CWE 弱点 ID - **CISA KEV 目录** —— 搜索野外已被主动利用的 CVE 权威列表;按供应商、产品、添加日期和勒索软件活动关联进行筛选;返回联邦补丁截止日期和 `knownRansomwareCampaignUse` 标志 - **Censys 互联网主机扫描** —— 使用结构化搜索表达式查询 Censys 的 IPv4 扫描数据,以查找暴露的服务、开放端口和基础设施;支持免费的 Censys API 凭证(免费层级每月 250 次查询),无凭证时返回演示数据 - **Certificate Transparency 枚举** —— 在 crt.sh 中搜索曾颁发给某个域名的所有 SSL/TLS 证书;以去重模式(每个唯一子域名一行)或完整证书历史模式(每个证书一行)运行;无需凭证 - **活跃子域名计数和新鲜度** —— 每个子域名结果包含 `isActive`、`lastSeen` 和 `certificateCount` 字段,因此您可以区分活跃基础设施和历史记录 - **DNS 记录枚举** —— 单次调用检索最多 50 个域名的 A、AAAA、MX、NS、TXT、CNAME 和 SOA 记录 - **电子邮件安全审计** —— 检查 SPF 记录是否存在及其策略、DMARC 记录及执行策略,以及跨 10 个常见选择器 (google, default, selector1, selector2, mail, dkim, k1, k2, s1, s2) 的 DKIM;为每个域名报告 `hasEmailSecurity` 布尔值 - **WHOIS/RDAP 域名情报** —— 返回注册商、创建日期、到期日期、以天为单位的 `domainAge`、以天为单位的 `expiresIn`、名称服务器、DNSSEC 状态以及域名状态标志(clientDeleteProhibited 等) - **统一域名情报** —— `cyber_domain_intelligence` 使用 `Promise.all` 并行编排 DNS、WHOIS、SSL 和可选的 KEV/NVD 检查,组装结构化风险概况,并根据域名年限阈值、电子邮件安全缺口、DNSSEC 状态、KEV 匹配和 CVE 严重性自动生成带标签的风险指标(CRITICAL、WARNING、ALERT、INFO) - **风险指标引擎** —— 自动将少于 30 天的域名标记为 CRITICAL 网络钓鱼风险,将 30-180 天的域名标记为 WARNING,并在 KEV 匹配带有勒索软件计数时发出警报 - **用于 KEV 交叉引用的供应商猜测** —— 域名情报工具提取第一个域名标签(例如 apache.org 中的 "apache")以自动查询 CISA KEV 获取供应商相关的被利用漏洞 - **每次事件的支出控制** —— 每次工具调用都会使用特定事件的预算门控检查 `Actor.charge()`;如果达到配置的支出限额,运行将干净地停止,而不是继续产生成本 - **无状态按请求服务器** —— 每次对 `/mcp` 的 POST 都会创建一个全新的 `McpServer` + `StreamableHTTPServerTransport` 对,确保 AI 代理请求之间没有会话泄露 ## 网络安全情报的使用场景 ### 漏洞管理和补丁优先级排序 负责补丁周期的安全工程师在 NVD 中查询影响其软件栈的 CVE,然后立即与 CISA KEV 交叉引用,以识别哪些漏洞正在野外被主动利用。MCP server 允许 AI 代理在单次对话中执行这种双源交叉引用,返回按严重性排序并带有 KEV 截止日期的列表,以便团队可以优先安排补丁决策,而无需手动切换标签页。 ### 攻击面和子域名发现 红队和漏洞赏金猎人在 `deduplicate: true` 的情况下运行 `cyber_ssl_certificates`,以枚举在 Certificate Transparency 日志中观察到的所有子域名。与 DNS 暴力破解不同,这种方法完全是被动的,不需要主动扫描。结果包含 `isActive` 状态,因此分析人员可以立即关注活跃子域名而非历史记录。 ### 网络钓鱼域名和品牌保护调查 调查可疑域名的威胁情报分析师运行 `cyber_domain_intelligence` 以获取快速风险概况:域名年限(非常新的域名触发 CRITICAL 标志)、电子邮件可欺骗性(SPF/DMARC 缺口)、DNSSEC 状态和证书历史。将 WHOIS 年限与 CT 日志枚举相结合,可以揭示域名是否使用类似的子域名或证书模式模仿合法品牌。 ### 供应商和第三方风险评估 采购和供应商风险团队在入驻前通过运行域名情报检查来评估供应商的安全态势。该工具报告电子邮件安全配置(安全成熟度的代理)、与供应商技术栈相关的已知被利用漏洞以及域名注册稳定性 —— 所有这些都无需访问供应商的内部系统。 ### 安全感知的 AI 代理工作流 为 IT 运维、SOC 自动化或威胁搜寻构建 AI 代理的开发团队将此 MCP server 嵌入作为网络安全情报层。代理可以自主检查警报中报告的 CVE 是否在 CISA KEV 目录中,枚举受影响域名的子域名,并生成分类摘要 —— 无需在代理代码中硬编码任何 API 集成。 ### 用于合规性的电子邮件安全审计 审计数十个公司自有域名的 SPF、DMARC 和 DKIM 配置的合规团队使用带有 `check_email_security: true` 的 `cyber_dns_lookup`,并传递每次调用最多 50 个域名的数组。摘要响应包含用于立即报告的 `domainsWithEmailSecurity` 和 `domainsWithoutEmailSecurity` 计数。 ## 如何连接此 MCP server ### Claude Desktop 将以下内容添加到您的 Claude Desktop 配置文件中(macOS 上为 `~/Library/Application Support/Claude/claude_desktop_config.json`): ``` { "mcpServers": { "cybersecurity-intelligence": { "url": "https://cybersecurity-intelligence-mcp.apify.actor/mcp", "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" } } } } ``` 将 `YOUR_APIFY_TOKEN` 替换为您从 [Apify console](https://console.apify.com/account/integrations) 获取的 token。 ### Cursor, Windsurf 和其他 MCP 客户端 使用指向相同端点的相同配置块。任何支持 Streamable HTTP 传输的客户端都可以使用 `Authorization: Bearer YOUR_APIFY_TOKEN` 连接到 `https://cybersecurity-intelligence-mcp.apify.actor/mcp`。 ### 编程方式 (HTTP) ``` curl -X POST "https://cybersecurity-intelligence-mcp.apify.actor/mcp" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_APIFY_TOKEN" \ -d '{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "cyber_domain_intelligence", "arguments": { "domain": "suspicious-vendor.io", "check_exploited": true } }, "id": 1 }' ``` ## 可用 MCP 工具 | 工具 | 来源 | 描述 | |------|--------|-------------| | `cyber_search_vulnerabilities` | NIST NVD | 按关键词、CVE ID、CPE、严重性、日期范围搜索 CVE。返回 CVSS 评分、攻击向量、CWE。 | | `cyber_exploited_vulnerabilities` | CISA KEV | 已知被主动利用的 CVE,带有勒索软件关联和联邦补丁截止日期。 | | `cyber_search_hosts` | Censys | 按服务、端口、位置或证书主题搜索互联网连接的主机。 | | `cyber_ssl_certificates` | crt.sh | 来自 CT 日志的域名所有 SSL/TLS 证书。子域名发现或完整证书历史。 | | `cyber_dns_lookup` | System DNS | 最多 50 个域名的 A, AAAA, MX, NS, TXT, CNAME, SOA 记录 + SPF, DMARC, DKIM。 | | `cyber_whois_lookup` | RDAP/WHOIS | 最多 50 个域名的域名注册、注册商、年限、到期、名称服务器、DNSSEC。 | | `cyber_domain_intelligence` | 以上所有 | 具有自动生成风险指标的并行域名安全评估。 | | `cyber_list_sources` | — | 列出此服务器上可用的所有工具和数据源。 | ### 工具输入参数 **`cyber_search_vulnerabilities`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `keyword` | string | No | — | 搜索 CVE 描述(例如 "log4j", "remote code execution") | | `cve_id` | string | No | — | 直接 CVE ID 查找(例如 "CVE-2021-44228");覆盖 keyword | | `cpe_name` | string | No | — | CPE 产品过滤器(例如 "cpe:2.3:a:apache:log4j") | | `severity` | enum | No | — | CVSS v3 严重性:CRITICAL, HIGH, MEDIUM, LOW | | `date_from` | string | No | — | 发布开始日期 YYYY-MM-DD | | `date_to` | string | No | — | 发布结束日期 YYYY-MM-DD | | `exact_match` | boolean | No | `false` | 关键词的精确短语匹配与任意匹配 | | `max_results` | integer | No | `50` | 最大结果数(1–500);由于 NVD 速率限制,大数值会变慢 | **`cyber_exploited_vulnerabilities`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `query` | string | No | — | 跨 CVE ID、供应商、产品、名称、描述搜索 | | `vendor` | string | No | — | 供应商名称(例如 "Microsoft", "Apache", "Citrix") | | `product` | string | No | — | 产品名称(例如 "Exchange Server", "Log4j") | | `date_added_from` | string | No | — | 在此日期 YYYY-MM-DD 之后添加到 KEV | | `date_added_to` | string | No | — | 在此日期 YYYY-MM-DD 之前添加到 KEV | | `ransomware_only` | boolean | No | `false` | 仅返回与已知勒索软件活动相关的 CVE | | `max_results` | integer | No | `50` | 最大结果数(1–1000) | **`cyber_search_hosts`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `query` | string | Yes | — | Censys 搜索表达式(例如 "services.port: 3306 AND location.country: US") | | `censys_api_id` | string | No | — | 来自 censys.io 的 Censys API ID;如果省略则返回演示数据 | | `censys_api_secret` | string | No | — | Censys API Secret | | `max_results` | integer | No | `25` | 最大结果数(1–100;Censys 免费层上限:100) | **`cyber_ssl_certificates`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `domain` | string | Yes | — | 要搜索的域名(例如 "acmecorp.com") | | `include_expired` | boolean | No | `true` | 包含已过期证书 | | `include_subdomains` | boolean | No | `true` | 使用通配符前缀搜索子域名 | | `deduplicate` | boolean | No | `true` | 每个唯一子域名一行或每个证书一行 | | `max_results` | integer | No | `100` | 最大结果数(1–5000) | **`cyber_dns_lookup`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `domains` | array | Yes | — | 域名数组(1–50),例如 ["acmecorp.com", "subsidiary.io"] | | `record_types` | array | No | `["A","AAAA","MX","NS","TXT","CNAME","SOA"]` | 要查询的 DNS 记录类型 | | `check_email_security` | boolean | No | `true` | 审计 SPF, DMARC, 和 DKIM 记录 | **`cyber_whois_lookup`** — `domains`(数组,必需):要查找的 1–50 个域名的数组。 **`cyber_domain_intelligence`** | 参数 | 类型 | 必需 | 默认值 | 描述 | |-----------|------|----------|---------|-------------| | `domain` | string | Yes | — | 要调查的域名(例如 "suspicious-site.xyz") | | `check_vulnerabilities` | boolean | No | `false` | 同时查询 NVD 以查找提及此域名/产品的 CVE(会增加时间) | | `check_exploited` | boolean | No | `true` | 检查 CISA KEV 以查找与此域名供应商相关的被利用 CVE | ## 输出示例 ### cyber_search_vulnerabilities 输出 ``` { "total": 3, "severityBreakdown": { "critical": 2, "high": 1, "medium": 0, "low": 0 }, "vulnerabilities": [ { "cveId": "CVE-2021-44228", "description": "Apache Log4j2 2.0-beta9 through 2.14.1 JNDI features do not protect against attacker-controlled LDAP and other JNDI related endpoints...", "severity": "CRITICAL", "cvssScore": 10.0, "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "publishedDate": "2021-12-10", "lastModifiedDate": "2023-09-14", "cwes": ["CWE-502", "CWE-400", "CWE-20"], "references": [ "https://nvd.nist.gov/vuln/detail/CVE-2021-44228", "https://logging.apache.org/log4j/2.x/security.html" ] } ] } ``` ### cyber_exploited_vulnerabilities 输出 ``` { "total": 2, "ransomwareLinked": 1, "entries": [ { "cveID": "CVE-2021-44228", "vendorProject": "Apache", "product": "Log4j", "vulnerabilityName": "Apache Log4j2 Remote Code Execution Vulnerability", "dateAdded": "2021-12-10", "shortDescription": "Apache Log4j2 contains a remote code execution vulnerability...", "requiredAction": "Apply updates per vendor instructions.", "dueDate": "2021-12-24", "knownRansomwareCampaignUse": "Known", "notes": "Ransomware campaigns actively exploiting this vulnerability." } ] } ``` ### cyber_domain_intelligence 输出 ``` { "domain": "pinnacle-industries.io", "riskIndicators": [ "CRITICAL: Domain is only 12 days old — very new domain, high phishing risk", "WARNING: No email security records found (no SPF, DMARC, or DKIM) — domain may be spoofable", "INFO: DNSSEC not enabled — domain is not protected against DNS spoofing", "ALERT: 3 known exploited vulnerabilities found for this vendor (1 ransomware-linked)" ], "dns": { "aRecords": ["198.51.100.14"], "mxRecords": ["mail.pinnacle-industries.io"], "spfRecord": null, "dmarcRecord": null, "dkimFound": false, "hasEmailSecurity": false }, "whois": { "registrar": "NameCheap, Inc.", "createdDate": "2026-03-08", "expiryDate": "2027-03-08", "domainAge": 12, "expiresIn": 353, "nameservers": ["ns1.registrar-servers.com", "ns2.registrar-servers.com"], "dnssec": false, "status": ["clientTransferProhibited"] }, "certificates": { "totalSubdomains": 3, "activeSubdomains": 3, "topSubdomains": [ { "subdomain": "www.pinnacle-industries.io", "isActive": true, "lastSeen": "2026-03-09", "certificateCount": 1 }, { "subdomain": "mail.pinnacle-industries.io", "isActive": true, "lastSeen": "2026-03-09", "certificateCount": 1 } ] }, "exploitedVulnerabilities": { "total": 3, "entries": [ { "cveID": "CVE-2023-44487", "vendorProject": "IETF", "product": "HTTP/2", "knownRansomwareCampaignUse": "Known", "dueDate": "2023-10-31" } ] } } ``` ### cyber_ssl_certificates 输出(去重子域名) ``` { "domain": "betaindustries.com", "totalSubdomains": 47, "activeSubdomains": 31, "subdomains": [ { "subdomain": "www.betaindustries.com", "isActive": true, "lastSeen": "2026-02-14", "certificateCount": 12 }, { "subdomain": "api.betaindustries.com", "isActive": true, "lastSeen": "2026-01-30", "certificateCount": 4 }, { "subdomain": "staging.betaindustries.com", "isActive": false, "lastSeen": "2024-08-01", "certificateCount": 2 } ] } ``` ## ⬆️ 输出字段 ### cyber_search_vulnerabilities | 字段 | 类型 | 描述 | |-------|------|-------------| | `total` | integer | 返回的 CVE 数量 | | `severityBreakdown.critical` | integer | CRITICAL 严重性 CVE 的计数 | | `severityBreakdown.high` | integer | HIGH 严重性 CVE 的计数 | | `vulnerabilities[].cveId` | string | CVE 标识符(例如 CVE-2021-44228) | | `vulnerabilities[].severity` | string | CRITICAL, HIGH, MEDIUM, 或 LOW | | `vulnerabilities[].cvssScore` | number | CVSS v3 基础分(0.0–10.0) | | `vulnerabilities[].attackVector` | string | NETWORK, ADJACENT, LOCAL, 或 PHYSICAL | | `vulnerabilities[].attackComplexity` | string | LOW 或 HIGH | | `vulnerabilities[].privilegesRequired` | string | NONE, LOW, 或 HIGH | | `vulnerabilities[].cwes` | array | CWE 弱点标识符 | | `vulnerabilities[].publishedDate` | string | NVD 发布日期 | | `vulnerabilities[].references` | array | 参考链接 | ### cyber_domain_intelligence | 字段 | 类型 | 描述 | |-------|------|-------------| | `domain` | string | 规范化的域名(去除了 http://, www. 和路径) | | `riskIndicators` | array | 带标签的风险字符串(CRITICAL, WARNING, ALERT, INFO) | | `dns.aRecords` | array | IPv4 地址 | | `dns.mxRecords` | array | 邮件交换记录 | | `dns.spfRecord` | string 或 null | 完整的 SPF TXT 记录值 | | `dns.dmarcRecord` | string 或 null | 完整的 DMARC TXT 记录值 | | `dns.dkimFound` | boolean | 是否在 10 个选择器中找到任何 DKIM 记录 | | `dns.hasEmailSecurity` | boolean | 如果找到 SPF、DMARC 或 DKIM 中的任何一个则为 True | | `whois.domainAge` | integer | 域名年限(以天为单位) | | `whois.expiresIn` | integer | 距域名到期的天数 | | `whois.dnssec` | boolean | 是否启用了 DNSSEC | | `certificates.totalSubdomains` | integer | CT 日志中发现的唯一子域名 | | `certificates.activeSubdomains` | integer | 具有活跃证书的子域名 | | `exploitedVulnerabilities.total` | integer | 猜测供应商的 KEV 条目(当 check_exploited: true 时出现) | ## 使用网络安全情报工具的费用是多少? 此 MCP server 采用 **按事件付费定价 —— 每次工具调用 $0.045**。无论结果大小如何,每次工具调用都会收取一个事件的费用。平台计算成本已包含在内。 | 场景 | 工具调用 | 每次调用费用 | 总费用 | |----------|-----------|---------------|------------| | 快速测试(单次 CVE 查询) | 1 | $0.045 | $0.045 | | 域名评估(域名情报) | 1 | $0.045 | $0.045 | | 完整的 7 工具调查 | 7 | $0.045 | $0.315 | | 每日监控(10 个域名) | 10 | $0.045 | $0.45 | | 每周漏洞扫描(50 次 CVE 搜索) | 50 | $0.045 | $2.25 | 您可以设置每次运行的**最大支出限额**来控制成本。当达到预算时,MCP server 会干净地停止,而不是继续累积费用。 Apify 的免费层级包含 **每月 $5 的平台额度** —— 相当于每月大约 111 次免费工具调用。与收取 $500–2,000/月 以提供可比数据访问权限的商业威胁情报平台相比。 ## Cybersecurity Intelligence MCP Server 的工作原理 服务器在 Apify 的 **Standby mode** 下运行 —— 这是一个在请求之间保持存活的持久进程。每个 `POST /mcp` 请求都会实例化一个全新的 `McpServer` 并配对一个 `StreamableHTTPServerTransport`(不生成会话 ID),执行工具,然后在响应的 `close` 事件中关闭两者。AI 代理会话之间不会泄露任何状态。 每个 MCP 工具通过 `actor-client.ts` 中的 `runActor()` 辅助函数委托给专门的 Apify actor。该辅助函数调用 `client.actor(actorName).call(input, { waitSecs, memory: 256 })`,超时时间为 120 秒(由于速率限制,NVD 和 CT 日志查询为 180 秒),然后从 `defaultDatasetId` 检索项目。失败时返回空数组而不是抛出异常,因此不可用的上游源会优雅降级,而不会导致整个工具调用失败。 `cyber_domain_intelligence` 工具使用 `Promise.all()` 并行运行 3–5 个 actor。所有结果返回后,确定性规则引擎按顺序评估它们:域名年限阈值(< 30 天 = CRITICAL,30–180 天 = WARNING)、到期紧迫性、电子邮件安全缺口、DNSSEC 状态、CT 日志覆盖范围以及带有勒索软件子计数的 KEV 匹配计数。风险指标附加有严重性前缀(CRITICAL、WARNING、ALERT、INFO)。当 `check_exploited: true` 时,工具提取第一个域名标签作为供应商名称(例如 "citrix.com" 中的 "citrix")并相应地查询 CISA KEV —— 对于通用名称,静默返回零结果而不影响其他输出。 ## 获得最佳结果的技巧 1. **将 `cyber_domain_intelligence` 作为您的首选工具。** 它在单次 $0.045 调用中并行运行 DNS、WHOIS、SSL 和 KEV 检查。保留单独的工具用于后续深入挖掘(例如完整证书历史、扩展 CVE 搜索)。 2. **启用 `ransomware_only: true` 进行优先级排序。** 查询 CISA KEV 时,筛选与勒索软件相关的 CVE 会将数千个条目缩小到您的事件响应团队应视为 P1 补丁义务的子集。 3. **使用 `exact_match: false` 进行发现,使用 `true` 进行确认。** `exact_match: false` 的 NVD 关键词搜索会查找提及查询中任何单词的 CVE —— 适用于广泛发现。当您需要关于特定产品名称的 CVE 以避免误报时,切换到 `true`。 4. **将数组传递给 DNS 和 WHOIS 工具。** `cyber_dns_lookup` 和 `cyber_whois_lookup` 每次调用都接受最多 50 个域名。审计 50 个公司自有域名的总费用为 $0.045 —— 与单域名调用相同。 5. **使用带有服务过滤器的 Censys 查询以获得针对性结果。** 诸如 "location.country: US" 之类的广泛查询将很快达到 100 个结果的免费层级限制。使用服务过滤器缩小范围:`services.service_name: SSH AND location.country: DE AND services.port: 22` 可查找特定的暴露基础设施。 6. **设置 `deduplicate: false` 进行证书取证。** 调查特定事件或域名接管时,从默认的去重子域名视图切换到完整证书历史,可显示每个证书颁发事件、颁发机构和有效期窗口 —— 适用于时间线重建。 7. **谨慎设置 `check_vulnerabilities: true`。** 将 NVD 搜索添加到 `cyber_domain_intelligence` 会增加额外的并行 actor 调用,由于 NVD 速率限制,等待时间最多增加 180 秒。当您特别需要提及域名名称的 CVE 时使用它,而不仅仅是供应商相关的 KEV 条目。 ## 与其他 Apify actors 结合使用 | Actor | 如何结合 | |-------|---------------| | [WHOIS Domain Lookup](https://apify.com/ryanclinton/whois-domain-lookup) | 直接用于跨大型域名列表(每次调用 50 个)的批量域名年限检查;输入域名年限风险评分 | | [DNS Record Lookup](https://apify.com/ryanclinton/dns-record-lookup) | 独立运行,对所有公司域名进行 SPF/DMARC/DKIM 审计;将结果导出到 Google Sheets 进行合规报告 | | [Censys Search](https://apify.com/ryanclinton/censys-search) | 在供应商安全审查之前查询特定 IP 范围或 ASN 的互联网暴露情况 | | [Website Tech Stack Detector](https://apify.com/ryanclinton/website-tech-stack-detector) | 检测目标域名上运行的软件栈,然后将检测到的技术作为 CPE 名称输入到 `cyber_search_vulnerabilities` | | [Website Contact Scraper](https://apify.com/ryanclinton/website-contact-scraper) | 从目标域名收集安全联系人电子邮件地址,然后使用此 MCP 的 WHOIS 年限和 DNS 数据在推广前标记高风险域名 | | [Company Deep Research](https://apify.com/ryanclinton/company-deep-research) 生成公司情报概况,然后将公司域名输入 `cyber_domain_intelligence` 以获取安全层 | | [crt.sh Certificate Search](https://apify.com/ryanclinton/crt-sh-search) | 直接运行大容量证书历史搜索(最多 5,000 条记录),用于大型企业子域名映射 | ## 限制 - **完全被动的数据收集** —— 无主动扫描、无端口探测、无数据包注入。此服务器无法替代 Nmap、Nessus 或 Burp Suite 等工具进行主动渗透测试。 - **NVD 速率限制** —— NIST NVD API 在没有 API 密钥的情况下大约允许每 30 秒 5 个请求。由于强制延迟,广泛的日期范围或大 `max_results` 值(200+)将花费几分钟。 - **Censys 免费层级配额** —— 免费的 Censys 计划每月允许 250 次查询。如果没有凭证,`cyber_search_hosts` 工具返回带有 `_dryRun` 标志的演示数据,而不是真实的扫描结果。 - **WHOIS 注册人隐私** —— GDPR 和 ICANN 隐私服务意味着注册人姓名、地址和联系电子邮件对于现代域名注册几乎普遍被涂黑。域名年限和注册商数据仍然可用。 - **DKIM 选择器覆盖** —— DNS 工具检查 10 个常见的 DKIM 选择器。使用自定义或服务特定选择器(例如 Mailchimp 的 `k1`、SendGrid 的 `s1`)的组织可能无法检测到所有选择器。`dkimFound: false` 结果并不保证 DKIM 不存在。 - **供应商启发式准确性** —— 域名情报工具从第一个域名标签猜测供应商名称。通用域名(例如 "cloud.company.com")将为 "cloud" 供应商产生不相关的 KEV 结果。使用带有显式 `vendor` 参数的 `cyber_exploited_vulnerabilities` 进行精确匹配。 - **CT 日志覆盖范围** —— crt.sh 索引主要的 Certificate Transparency 日志,但不是所有日志。使用 crt.sh 未索引的日志中的证书保护的子域名将不会出现。 - **无历史 DNS 数据** —— DNS 查询仅返回当前的活动记录。对于历史 DNS 更改跟踪,请与 [Website Change Monitor](https://apify.com/ryanclinton/website-change-monitor) 结合使用。 ## 集成 - [Zapier](https://apify.com/integrations/zapier) —— 当新供应商添加到您的采购系统时触发域名情报检查,并将风险指标发布到 Slack - [Make](https://apify.com/integrations/make) —— 构建自动化的 CVE 分类工作流,每天查询 CISA KEV 并为新添加的被利用漏洞创建 Jira 工单 - [Google Sheets](https://apify.com/integrations/google-sheets) —— 将域名组合的 DNS 和电子邮件安全审计结果导出到合规跟踪电子表格 - [Apify API](https://docs.apify.com/api/v2) —— 从 Python 或 JavaScript CI/CD 流程以编程方式调用工具端点进行部署前安全检查 - [Webhooks](https://docs.apify.com/platform/integrations/webhooks) —— 当计划漏洞扫描返回新的 CRITICAL 或 ALERT 风险指标时接收警报 - [LangChain / LlamaIndex](https://docs.apify.com/platform/integrations) —— 将此 MCP server 嵌入为 LLM 驱动的 SOC 自动化或威胁搜寻代理中的网络安全情报工具层 ## ❓ 常见问题 **一次调用可以搜索多少个 CVE?** 通过 `max_results` 参数,每次调用最多 500 个结果。对于广泛的日期范围扫描,NVD 速率限制意味着大结果集可能需要 2–5 分钟。对于大多数补丁优先级工作流,带有严重性过滤器的 50–100 个结果就足够了。 **网络安全情报 MCP 是否执行主动扫描或向目标基础设施发送数据包?** 不。所有数据都是从公共来源被动收集的:NVD CVE 数据库、CISA KEV 目录、Censys 扫描数据(由 Censys 预先收集,而非由您的查询触发)、crt.sh Certificate Transparency 日志、标准 DNS 解析和 WHOIS/RDAP 端点。不会向目标系统发送任何探测。 **使用此工具进行域名侦察是否合法?** 是的 —— 使用的所有数据源都是公开可用的。NVD、CISA KEV 和 crt.sh 是政府或公益数据库。DNS 解析和 WHOIS 查询是标准的互联网基础设施查询。Censys 运营独立的互联网扫描,并通过搜索 API 提供该数据。有关网页抓取和数据收集合法性的指导,请参阅 [Apify's guide](https://blog.apify.com/is-web-scraping-legal/)。 **CVE 数据有多新?** NVD 数据是在查询时实时获取的,因此结果反映最新发布的 CVE,没有缓存延迟。CISA KEV 同样是实时获取的。Censys 扫描数据反映其最近的互联网范围扫描,该扫描持续运行。 **我可以检查特定 CVE 是否正在被主动利用吗?** 可以。使用 `query: "CVE-2024-XXXXX"` 调用 `cyber_exploited_vulnerabilities` —— 或者将 CVE ID 作为 `query` 参数提供。如果 CVE 在 CISA KEV 目录中,它将返回并带有 `dueDate` 联邦补丁截止日期和 `knownRansomwareCampaignUse` 标志。 **这与 Shodan 或其他商业威胁情报平台有何不同?** Shodan、GreyNoise 和 Recorded Future 是收费 $49–2,000/月 的订阅服务。此 MCP server 以每次工具调用 $0.045 的价格提供可比的被动侦察能力 —— CVE 数据、互联网主机暴露(通过 Censys)、证书枚举、DNS 和 WHOIS —— 且无需订阅承诺。Apify 的免费层级每月覆盖前 111 次调用,无需费用。 **我可以将此 MCP server 与任何 AI 客户端一起使用,而不仅仅是 Claude 吗?** 可以。该服务器实现了来自 Model Context Protocol 规范的 Streamable HTTP 传输。它兼容任何 MCP 客户端:Claude Desktop、Cursor、Windsurf、Continue.dev 以及任何使用 `@modelcontextprotocol/sdk` 的框架。使用您的 Apify token 作为 Bearer 标头连接到 `https://cybersecurity-intelligence-mcp.apify.actor/mcp`。 **如果数据源暂时不可用会发生什么?** 单独的 actor 失败返回空数组而不是抛出异常。`cyber_domain_intelligence` 工具使用 `Promise.all()` 并行运行其来源 —— 如果一个来源(例如 Censys)失败,其他组件(DNS、WHOIS、CT 日志)仍然返回,并且风险指标是根据可用数据生成的。响应将是部分的而不是缺失的。 **我可以一次扫描多个域名吗?** `cyber_dns_lookup` 和 `cyber_whois_lookup` 接受每次调用最多 50 个域名的数组。`cyber_domain_intelligence` 设计为每次调用一个域名,因为它每个域名并行运行 3–5 个 actor —— 对于批量域名评估,在循环中调用它或使用单独的 DNS 和 WHOIS 工具进行批处理。 **风险指标引擎有多准确?** 风险指标规则是确定性和保守的:域名年限阈值、电子邮件安全存在/不存在、DNSSEC 状态、KEV 匹配计数。它们旨在产生可操作的信号,而不是概率风险分数。预期会有误报(例如,合法的新域名被标记为高网络钓鱼风险) —— 将 CRITICAL 和 WARNING 标志视为调查的起点,而非最终结论。 **我可以计划此 MCP server 运行定期安全评估吗?** MCP server 在 Apify Standby mode 下运行以进行交互式使用。对于计划评估,请通过 Apify 平台在 cron 计划上直接使用底层 Apify actors(NVD CVE Search、CISA KEV Search、DNS Record Lookup),或从计划作业以编程方式调用 MCP 端点。 ## 帮助我们改进 如果您遇到问题,可以通过在 Apify 账户中启用运行共享来帮助我们更快地调试: 1. 转到 [Account Settings > Privacy](https://console.apify.com/account/privacy) 2. 启用 **Share runs with public Actor creators** 这使我们能够在出现问题时查看您的运行详细信息,以便我们可以更快地修复问题。您的数据仅对 actor 开发人员可见,不会公开。 ## 故障排除 - **`cyber_search_vulnerabilities` 尽管使用了有效关键词但未返回结果** —— NVD 关键词搜索对 CPE 名称区分大小写,但对一般关键词不区分。如果查询产品名称,请尝试变体:"log4j"、"log4j2"、"log4shell"。另外尝试 `exact_match: false` 以将搜索扩展到任意词匹配。 - **`cyber_search_hosts` 返回标记为 `_dryRun` 的演示数据** —— 未提供 Censys 凭证。在 [censys.io](https://censys.io) 获取免费的 API ID 和 secret,并在工具调用中将它们作为 `censys_api_id` 和 `censys_api_secret` 传递。免费层级每月提供 250 次查询。 - **`cyber_domain_intelligence` 风险指标提到不相关供应商的 KEV 匹配** —— 供应商是从第一个域名标签猜测的。对于像 "cloud.mycompany.com" 这样的域名,工具查询供应商 "cloud" 的 CISA KEV,这会返回基础设施层结果。使用带有显式 `vendor` 参数的 `cyber_exploited_vulnerabilities` 直接调用以获得准确结果。 - **DNS 查询对某些记录类型返回空记录** —— 并非所有域名都配置了每种记录类型。AAAA 记录需要 IPv6 地址;CNAME 记录仅存在于非 apex 子域名;SOA 记录可能会被某些权威服务器阻止。记录类型的空数组表示记录不存在,而不是查找失败。 - **漏洞搜索的运行时间超过 3 分钟** —— NVD 强制执行大约每 30 秒 5 个请求的速率限制。在广泛日期范围内 `max_results` 为 500 可能需要 10+ 个顺序 NVD API 页面,每个都受速率限制。减少 `max_results` 或缩小日期范围以保持在 2 分钟窗口内。 ## 支持 发现错误或有功能请求?在此 actor 页面上打开 issue。对于自定义解决方案或企业集成,请通过 Apify 平台联系。
标签:AI代理安全, Censys扫描, CISA KEV, CISA项目, Claude Desktop, CVE漏洞查询, DNS安全审计, DNS枚举, ESC4, GitHub, GPT, Homebrew安装, MCP服务器, NIST NVD, OSINT, 域名注册信息, 威胁情报, 子域名枚举, 实时处理, 密码管理, 开发者工具, 漏洞管理, 系统安全, 网络安全工具, 网络安全情报, 证书透明度, 风险评分