DugganUSA CLI — Local STDIO MCP

io.github.pduggusa由 GitHub 账号 pduggusa 发布v1.3.4更新于 Oct 24, 2026

Local STDIO MCP for DugganUSA threat intel. 1.13M IOCs. Read-only. npm: dugganusa-cli.

概览

AI 生成的概览

一个本地只读 MCP 服务器,让助手搜索 DugganUSA 威胁情报指标、丰富 IP 信息并汇总 STIX 订阅源。

可以做什么
以本地 STDIO MCP 服务器方式运行,提供三个只读工具:search 可在 IOC、pulse、博客、攻击者、CISA KEV 及约 70 个索引中全文检索;enrich-ioc 返回 IP 的国家、ASN、威胁类型、恶意软件家族及跨索引关联;stix-feed-summary 提供索引统计及 STIX 2.1 / TAXII 2.1 订阅源指引。README 称没有写入、访问文件系统或执行命令的工具。可选的 --dredd-gate 标志会预检工具调用并将允许的调用记录到 stderr。
适用场景
当助手需要判断某个 IP、域名、CVE 或软件包是否为已知威胁指标,或在安全工作中获取威胁情报背景时使用。面向希望在 Claude Desktop、Cursor 或 Claude Code 等 MCP 客户端中使用该语料库的分析师和开发者。
运行要求
需要 Node.js 与 npx,因为通过 npx -y -p dugganusa-cli dugganusa-mcp 在本地运行。需要访问提供方分析端点的网络连接。可选的 DUGGANUSA_API_KEY 可提高速率限制;README 说明免费层是免费注册密钥而非匿名访问,每天 500 次查询。
安装前请注意
服务器会把查询的指标发送到提供方的远程分析端点,因此查询内容会离开本机。可选的 DUGGANUSA_API_KEY 是通过环境变量或 --key 标志传入的机密,应作为凭据对待。README 称工具面为只读、无写入、文件系统或执行工具,但这是厂商自己的说法,安装前应针对实际安装的软件包加以核实。

安装

在 SourceWeft 中

  1. 打开 控制台中的 DugganUSA CLI — Local STDIO MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

dugganusa-cli

Docs: https://docs.dugganusa.com/quickstart/

You do you. I do me. We share contexts.

Your terminal and your agent keep their own context; the DugganUSA Feed lends them its context, read-only, from a binary you own.

Two binaries. One install. Threat intelligence you can check. Corpus size: live counts.

What's New (v1.5.1)

  • Supply-chain scanning leveled up. The corpus now ingests OSV malicious-package feeds for both npm and PyPI — named-malicious packages, zero-heuristic, daily — alongside daily GitHub Hunt detections of malware-staging repos and install-time execution signatures. Pipe a lockfile or --file package.json and known-bad packages surface next to network IOCs. This is the CI angle: catch a poisoned dependency before it ships.
  • Four live, no-auth, deploy-durable validation endpoints now prove feed quality:
    • Novelty — feed-uniqueness: how much of what we publish adds to ThreatFox, which we also carry and credit (measured live).
    • Timeliness — kev-lead: when an exploited CVE reached our corpus relative to CISA KEV, including same-day and no-receipt cases.
    • Accuracy — spamhaus-validation: Spamhaus independently checks our first-hand contributions.
    • Liveness — feed-efficacy: opt-in consumer reports of when our indicators actually fire on real traffic — proof the feed is operationally live, not just large.
bash
# Scanner — block bad IOCs in your stacknpx dugganusa-cli 185.39.19.176
# MCP server — wire DugganUSA into Claude Desktop / Cursor / Claude Codenpx -y -p dugganusa-cli dugganusa-mcp

A two-person Minnesota LLC. Most of what is in the corpus comes from other people's good work: abuse.ch, Spamhaus, CISA, OSV and the researchers we cite by name. We join it with our own GitHub hunting and edge sensors, correlate it, and hand it back with the source attached.

What it asks of you: nothing you cannot read. No agent to install, no inbound access, none of your data leaves your machine except the indicators you look up. Keep every tool you already use; this adds a second opinion beside them.

Bin rename (since v1.3.0): the scanner bin was dugganusa-lookup in v1.2.0. It is now dugganusa-cli. The old dugganusa-lookup package is dead — use dugganusa-cli. The MCP bin (dugganusa-mcp) is unchanged. Update any pinned scripts.

Install

bash
# Run without installingnpx dugganusa-cli 185.39.19.176npx -y -p dugganusa-cli dugganusa-mcp --help
# Or install globally — both bins on PATHnpm install -g dugganusa-cli

Scanner usage

bash
# Single lookupdugganusa-cli 185.39.19.176dugganusa-cli welcome.supp0v3.comdugganusa-cli CVE-2026-21643
# Multiple indicatorsdugganusa-cli 185.39.19.176 welcome.supp0v3.com CVE-2026-21643
# Scan a file for IOCsdugganusa-cli --file config.jsdugganusa-cli --file terraform/main.tf
# Pipe stdin (works with any tool)cat firewall.log | dugganusa-cli --stdingrep -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 formatsdugganusa-cli --format json 185.39.19.176dugganusa-cli --format markdown --file report.mddugganusa-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 varexport DUGGANUSA_API_KEY=dugusa_YOUR_KEY

Output

  !!    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

The full-enrichment (correlate) link is key-gated (free key required).

Exit codes

CodeMeaning
0All clean — every indicator was checked and none was found
1Threat indicator(s) found — use in CI to fail builds
2At least one indicator could not be checked (missing/invalid key → 401, daily limit → 429, network error). Reported as UNKNOWN, never as clean

Exit 1 on match is the whole point. Block deployments containing known-bad indicators before they ship.

CI/CD examples

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

API key

The STIX feed is API-key-enforced: anonymous requests and unregistered keys get 401; a registered key past its daily limit gets 429. The free tier is a free registered key — not anonymous. Register here: analytics.dugganusa.com/stix/register

Free tier: 10 queries/day (pricing). Set the key via --key flag or DUGGANUSA_API_KEY env var.

What's in the index

Indicators sourced from external feeds (abuse.ch SSLBL, URLhaus, Spamhaus, CISA KEV, OSV malicious-package feeds for npm + PyPI, and more), plus DugganUSA original research, our exploit harvester, daily GitHub Hunt detections, and our edge honeypots. Cross-correlated across the whole corpus (live counts).

Same corpus, your terminal.


MCP server (dugganusa-mcp)

Local STDIO MCP server. Wire it into any MCP client, your AI assistant gets the DugganUSA threat-intel corpus as read-only tools.

A small MCP server you can read end to end, so adding it to your agent costs you very little trust.

Three tools, that's it

  • search — full-text across IOCs, blog, adversaries, CISA KEV and the rest of the corpus (live counts).
  • enrich-ioc — IP enrichment: country, ASN, threat type, malware family, cross-index correlations.
  • stix-feed-summary — index stats + pointers to our STIX 2.1 / TAXII 2.1 feeds.

No tools that write. No tools that touch your filesystem. No tools that exec. Read-only, all the way down.

Wire it into Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

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

Restart Claude Desktop. Three tools appear in the picker. Same pattern works for Cursor, Windsurf, Claude Code, or any MCP client that speaks STDIO.

Local policy enforcement: --dredd-gate

bash
dugganusa-mcp --dredd-gate

Pre-flights every tool call: validates tool name, required arguments, logs allowed calls to stderr. Read the verdict function in mcp/lib/serve.js (function dreddVerdict). This is the hook where you wire stricter policy: deny lists, IP allow-lists, per-tool rate limits, or a remote dredd verdict endpoint.

Default is off. Turn it on if your environment is anything more than your laptop.

Why this MCP exists

A STDIO MCP server runs on your machine with your permissions, so the question to ask of any of them, ours included, is how much you have to trust it. We tried to make the answer "very little":

  • Read-only tool surface only — no write, no exec
  • No third-party MCP SDK dependency (every line is in this repo)
  • Customer owns the binary, runs it locally, sees every request before it leaves the machine
  • Optional --dredd-gate local policy hook
  • Zero npm runtime dependencies

This is that MCP.

Auditing the binary

Read the bytes you're running:

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

Should return nothing.

Source layout under mcp/:

  • mcp/serve.js — bin entry, argv parser (~45 LOC)
  • mcp/lib/serve.js — JSON-RPC 2.0 over STDIO (~125 LOC)
  • mcp/lib/tools.js — three tool schemas + handlers (~80 LOC)
  • mcp/lib/upstream.js — HTTPS request to analytics.dugganusa.com (~40 LOC)

Tests:

bash
npm run test:mcp

10 tests covering the dispatch surface and live network calls. Every release runs them in CI before publishing.

Provenance

Releases ≥ v1.3.0 are published via npm Trusted Publishing (GitHub Actions OIDC) with --provenance. Verify:

bash
npm audit signatures dugganusa-cli

You get signed attestation that the published bytes came from a specific commit in a specific GitHub workflow run. No long-lived tokens involved.


Checking our work

We get things wrong and say so in public: corrections are dated and kept next to the original claim at dugganusa.com. Every verdict carries the source it came from, so you can check it against that source instead of taking our word. If something here is wrong, open an issue; that is the most useful thing you can send us.


Part of the DugganUSA ecosystem

License

MIT — DugganUSA LLC, Minnesota. Contact: [email protected].

Free tier means free. Audit it. Fork it. Tell us when we got something wrong.


DugganUSA Defender Family

Same DugganUSA Feed, surfaced wherever you live. Open source, MIT licensed, receipts on every repo.

PluginSurface
dugganusa-scanner-coreCore IOC scanning engine
dugganusa-vscodeVS Code extension
dugganusa-splunkSplunk Technology Add-on
dugganusa-slackSlack bot
dugganusa-raycastRaycast extension
dugganusa-sentinelMicrosoft Sentinel TAXII connector
dugganusa-obsidianObsidian plugin
dugganusa-nvimNeovim plugin
dugganusa-elasticElastic / OpenSearch integration
dugganusa-edge-shieldCloudflare Worker
dugganusa-cli (this repo)CLI scanner + local STDIO MCP server
dugganusa-chromeChrome extension
dugganusa-actionGitHub Action
dredd-mcpPre-flight MCP security judge

Backed by the DugganUSA Feed. Numbers are live: /api/v1/search/stats. Pricing: analytics.dugganusa.com/pricing. Contact: [email protected].

Threat intelligence you can check.

来源:README.md,提交 71d3783

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.3.4最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分