mcpField
D
DugganUSA CLI — Local STDIO MCP

DugganUSA CLI — Local STDIO MCP

本地服务
github.com安全25 天前更新

关于 DugganUSA CLI — Local STDIO MCP

DugganUSA CLI 提供只读威胁情报查询,并附带本地 STDIO MCP 服务,面向安全分析和 CI 扫描。它通过搜索、IP 丰富化和 STIX feed 摘要向 MCP 客户端提供情报工具。

主要功能

  1. 01全文搜索威胁情报
  2. 02丰富化 IP 指标
  3. 03查看 STIX feed 摘要
  4. 04本地策略预检工具调用

适用场景

  1. 01在 Agent 中查询 IOC 与相关情报
  2. 02在 CI 中拦截含已知恶意指标的部署
  3. 03核查 IP 的威胁类型与关联信息

MCP 相关

本地 STDIO MCP 服务向客户端提供三个只读工具:全文搜索、IP 丰富化和 STIX feed 摘要。可选的 `--dredd-gate` 会在工具调用前进行校验并记录允许的调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pduggusa-dugganusa-cli": {
"command": "npx",
"args": [
"-y",
"dugganusa-cli"
],
"env": {
"DUGGANUSA_API_KEY": "<DUGGANUSA_API_KEY>"
}
}
}
}
启动命令npx -y dugganusa-cli
需要配置的环境变量
DUGGANUSA_API_KEY密钥Optional API key for higher rate limits. Anonymous tier works.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmdugganusa-cli1.3.4

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
qstring是搜索查询(IP、域名、哈希、攻击者名称、关键词)
limitinteger否
indexesstring否可选的逗号分隔索引列表(例如 iocs、pulses、blog)。省略则搜索所有索引。

详细介绍

dugganusa-cli

文档: https://docs.dugganusa.com/quickstart/

做你自己。我做我自己。我们共享上下文。

你的终端和你的 Agent 各自保留自己的上下文;DugganUSA Feed 以只读方式提供它的上下文,而 Feed 来自你拥有的二进制文件。

**两个二进制文件,一次安装。可核验的威胁情报。**语料库规模:实时统计。

新增内容(v1.5.1)

  • **供应链扫描升级。**语料库现已纳入 npm 和 PyPI 的 OSV 恶意软件包 Feed——每日更新、列出已知恶意软件包、不使用启发式方法——同时还包含每日 GitHub Hunt 对恶意软件托管仓库和安装时执行特征的检测。将锁文件通过管道传入,或指定 --file package.json,已知恶意软件包就会和网络 IOC 一起显示。这就是 CI 的用武之地:在受污染的依赖项发布之前将其拦截。
  • 四个实时、无需身份验证、可持续部署的验证端点现已用于证明 Feed 的质量:
    • 新颖性 — feed-uniqueness:我们发布的内容有多少是 ThreatFox 中没有的;我们也收录并注明了 ThreatFox 来源(实时测量)。
    • 时效性 — kev-lead:已遭利用的 CVE 进入我们语料库的时间与 CISA KEV 相比如何,包括当天收录和无收录记录的情况。
    • 准确性 — spamhaus-validation:Spamhaus 独立核验我们的一手贡献。
    • 活跃度 — feed-efficacy:用户可选择报告我们的指标何时在真实流量中触发,证明 Feed 在实际运行中保持活跃,而不只是规模庞大。
# Scanner — block bad IOCs in your stack
npx dugganusa-cli 185.39.19.176

# MCP server — wire DugganUSA into Claude Desktop / Cursor / Claude Code
npx -y -p dugganusa-cli dugganusa-mcp

一家由两人运营的明尼苏达州有限责任公司。语料库中的大部分内容都来自他人的出色工作:abuse.ch、Spamhaus、CISA、OSV,以及我们署名引用的研究人员。我们将这些内容与自己的 GitHub 搜寻和边缘传感器数据汇集起来,进行关联分析,再连同来源一起提供给你。

**它对你的要求:**只需阅读即可做到。无需安装 Agent,无需开放入站访问,除你查询的指标外,你的数据不会离开你的机器。你可以继续使用所有现有工具;这只是为它们增添第二种意见。

**二进制文件重命名(自 v1.3.0 起):**扫描器二进制文件在 v1.2.0 中名为 dugganusa-lookup,现在已改为 dugganusa-cli。旧的 dugganusa-lookup 软件包已停用——请使用 dugganusa-cli。MCP 二进制文件(dugganusa-mcp)未变。请更新所有固定版本的脚本。

安装

# Run without installing
npx dugganusa-cli 185.39.19.176
npx -y -p dugganusa-cli dugganusa-mcp --help

# Or install globally — both bins on PATH
npm install -g dugganusa-cli

扫描器用法

# Single lookup
dugganusa-cli 185.39.19.176
dugganusa-cli welcome.supp0v3.com
dugganusa-cli CVE-2026-21643

# Multiple indicators
dugganusa-cli 185.39.19.176 welcome.supp0v3.com CVE-2026-21643

# Scan a file for IOCs
dugganusa-cli --file config.js
dugganusa-cli --file terraform/main.tf

# Pipe stdin (works with any tool)
cat firewall.log | dugganusa-cli --stdin
grep -r "http" src/ | dugganusa-cli --stdin

# Batch lookup (one IOC per line)
dugganusa-cli --batch iocs.txt

# AIPM audit (AI presence + brand exposure)
dugganusa-cli --aipm crowdstrike.com

# Output formats
dugganusa-cli --format json 185.39.19.176
dugganusa-cli --format markdown --file report.md
dugganusa-cli --format table 185.39.19.176  # default

# Only show matches (suppress clean results)
dugganusa-cli --file app.js --quiet

# With API key (higher rate limits)
dugganusa-cli --key dugusa_YOUR_KEY 185.39.19.176
# Or set env var
export DUGGANUSA_API_KEY=dugusa_YOUR_KEY

输出

  !!    12  185.39.19.176                                 IOC: Cobalt Strike C2 (via SSLBL) | Blocked 47x | 12 cross-index hits
  OK     0  8.8.8.8                                       clean

  1 threat indicator(s) found in 2 checked.
  Full enrichment: https://analytics.dugganusa.com/api/v1/search/correlate?q=<indicator>
  Free API key: https://analytics.dugganusa.com/stix/register

完整增强信息(correlate)链接需要密钥(需使用免费密钥)。

退出代码

代码含义
0全部安全——已检查每个指标,未发现威胁
1发现威胁指标——可在 CI 中用于使构建失败
2至少有一个指标无法检查(缺少/无效密钥 → 401,达到每日限额 → 429,网络错误)。结果报告为 UNKNOWN,绝不会报告为安全

匹配时返回退出代码 1 正是其目的所在。在发布前阻止包含已知恶意指标的部署。

CI/CD 示例

# GitHub Actions — block deploys containing live IOCs
- name: Scan for threat indicators
  run: npx dugganusa-cli --file config/production.json --quiet
# Shell pipeline
if npx dugganusa-cli --file deploy.conf --quiet; then
  echo "Clean — deploying"
  ./deploy.sh
else
  echo "BLOCKED — threat indicators found"
  exit 1
fi

API 密钥

STIX Feed 强制要求 API 密钥:匿名请求和未注册的密钥会收到 401;超过每日限额的已注册密钥会收到 429。免费套餐需要免费的已注册密钥,不能匿名使用。在此注册:analytics.dugganusa.com/stix/register

免费套餐:每天 10 次查询(定价)。通过 --key 标志或 DUGGANUSA_API_KEY 环境变量设置密钥。

索引中的内容

来自外部 Feed 的指标(abuse.ch SSLBL、URLhaus、Spamhaus、CISA KEV、npm + PyPI 的 OSV 恶意软件包 Feed 等),以及 DugganUSA 的原创研究、我们的漏洞利用采集器、每日 GitHub Hunt 检测结果和边缘蜜罐数据。对整个语料库进行交叉关联(实时统计)。

同一语料库,尽在你的终端。


MCP 服务(dugganusa-mcp)

本地 STDIO MCP 服务。将其接入任何 MCP 客户端,你的 AI 助手就能通过只读工具访问 DugganUSA 威胁情报语料库。

这是一个小型 MCP 服务,你可以从头到尾读完,因此将它添加到 Agent 时,只需付出很少的信任。

仅有三个工具
  • search — 对 IOCs、博客、对手、CISA KEV 及语料库其余内容进行全文搜索(实时计数)。
  • enrich-ioc — IP 丰富信息:国家、ASN、威胁类型、恶意软件家族、跨索引关联。
  • stix-feed-summary — 索引统计信息,以及指向我们的 STIX 2.1 / TAXII 2.1 Feed 的链接。

没有写入工具。没有触及你文件系统的工具。没有执行命令的工具。彻底只读。

接入 Claude Desktop

将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

{
  "mcpServers": {
    "dugganusa": {
      "command": "npx",
      "args": ["-y", "-p", "dugganusa-cli", "dugganusa-mcp"],
      "env": {
        "DUGGANUSA_API_KEY": "your-registered-key"
      }
    }
  }
}

重启 Claude Desktop。工具选择器中会出现三个工具。Cursor、Windsurf、Claude Code 或任何支持 STDIO 的 MCP 客户端也可以采用相同方式接入。

本地策略执行:--dredd-gate
dugganusa-mcp --dredd-gate

在每次工具调用前进行检查:验证工具名称和必需参数,并将获准的调用记录到 stderr。阅读 mcp/lib/serve.js 中的裁决函数(函数 dreddVerdict)。你可以在此处接入更严格的策略:拒绝列表、IP 允许列表、每个工具的速率限制,或远程 dredd 裁决端点。

默认关闭。如果你的环境不只是自己的笔记本电脑,就启用它。

为什么要创建这个 MCP

STDIO MCP 服务会以你的权限在你的机器上运行,因此对于任何此类服务(包括我们的服务),都应该问问自己需要在多大程度上信任它。我们尽力让答案变成“只需很少”:

  • 仅提供只读工具 — 不写入、不执行
  • 不依赖第三方 MCP SDK(每一行代码都在本仓库中)
  • 客户拥有二进制文件,在本地运行,并能在每个请求离开机器之前查看它
  • 可选的 --dredd-gate 本地策略钩子
  • 零 npm 运行时依赖

这就是这个 MCP。

审计二进制文件

查看你要运行的字节:

# install
npm install -g dugganusa-cli

# audit
grep -rnE 'child_process|require\(.*shell|require\(.*child|exec\(|spawn\(|eval\(' "$(npm root -g)/dugganusa-cli"

应该不会有任何输出。

mcp/ 下的源码布局:

  • mcp/serve.js — 二进制入口、argv 解析器(约 45 行代码)
  • mcp/lib/serve.js — 基于 STDIO 的 JSON-RPC 2.0(约 125 行代码)
  • mcp/lib/tools.js — 三个工具的架构和处理程序(约 80 行代码)
  • mcp/lib/upstream.js — 向 analytics.dugganusa.com 发起 HTTPS 请求(约 40 行代码)

测试:

npm run test:mcp

10 项测试,覆盖分发接口和实时网络调用。每次发布前都会在 CI 中运行这些测试。

来源证明

v1.3.0 及更高版本通过 npm Trusted Publishing(GitHub Actions OIDC)并使用 --provenance 发布。验证方法:

npm audit signatures dugganusa-cli

你会获得一份签名证明,表明发布的字节来自某次特定 GitHub 工作流运行中的特定提交。整个过程不涉及长期令牌。


核验我们的工作

我们也会犯错,并会公开承认:更正会标注日期,并保存在 dugganusa.com 原始说法的旁边。每项裁决都会附上来源,因此你可以对照来源核验,而不必只听我们怎么说。如果这里有错误,请提交 issue;这是你能提供给我们的最有用的帮助。


DugganUSA 生态系统的一部分

许可证

MIT — DugganUSA LLC,明尼苏达州。联系方式:[email protected]。

免费层就是免费。审计它、分叉它。发现我们有误时请告诉我们。


DugganUSA Defender 家族

同一份 DugganUSA Feed,无论你身在何处,都能随时获取。开源,采用 MIT 许可,每个仓库都有凭据。

插件形式
dugganusa-scanner-core核心 IOC 扫描引擎
dugganusa-vscodeVS Code 扩展
dugganusa-splunkSplunk Technology Add-on
dugganusa-slackSlack 机器人
dugganusa-raycastRaycast 扩展
dugganusa-sentinelMicrosoft Sentinel TAXII 连接器
dugganusa-obsidianObsidian 插件
dugganusa-nvimNeovim 插件
dugganusa-elasticElastic / OpenSearch 集成
dugganusa-edge-shieldCloudflare Worker
dugganusa-cli (本仓库)CLI 扫描器 + 本地 STDIO MCP 服务
dugganusa-chromeChrome 扩展
dugganusa-actionGitHub Action
dredd-mcp预检 MCP 安全评审器

由 DugganUSA Feed 提供支持。数据实时更新:/api/v1/search/stats。定价:analytics.dugganusa.com/pricing。联系:[email protected]。

值得查证的威胁情报。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。