The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the DugganUSA CLI — Local STDIO MCP listing page.
1.5M+ IOCs. ~38M+ documents. Two binaries. One install. The MCP we'd audit.
--file package.json and known-bad packages surface next to network IOCs. This is the CI angle: catch a poisoned dependency before it ships.A two-person Minnesota LLC. A Bloom filter for novelty checks. Meilisearch cross-index correlation. A github-hunt cron that runs at 08:15 UTC every day.
That's the stack that named TeamPCP 45 days before CISA added LiteLLM CVE-2026-42208 to KEV. That named Handala 28 days before they exfiltrated 6 petabytes from Dubai. That named NGINX-UI as actively exploited 20 days before the same agency caught up.
This is the CLI that puts the same corpus in your terminal.
Bin rename (since v1.3.0): the scanner bin was
dugganusa-lookupin v1.2.0. It is nowdugganusa-cli. The olddugganusa-lookuppackage is dead — usedugganusa-cli. The MCP bin (dugganusa-mcp) is unchanged. Update any pinned scripts.
| Code | Meaning |
|---|---|
| 0 | All clean — no threat indicators found |
| 1 | Threat indicator(s) found — use in CI to fail builds |
| 2 | Error (network, invalid input, etc.) |
Exit 1 on match is the whole point. Block deployments containing known-bad indicators before they ship.
The STIX feed is API-key-enforced: anonymous requests get 401, an unregistered Bearer gets 429. The free tier is a free registered key — not anonymous. Register here: analytics.dugganusa.com/stix/register
Free tier: 500 queries/day. Set the key via --key flag or DUGGANUSA_API_KEY env var.
1.5M+ indicators sourced from 15 external feed sources (OTX, 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 65 indexes covering ~38M+ documents. The same feed pulled daily by 275+ consumers in 46 countries — including Microsoft, AT&T, and Starlink.
You are getting the receipts the big platforms get. Same corpus, your terminal.
Local STDIO MCP server. Wire it into any MCP client, your AI assistant gets the DugganUSA threat-intel corpus as read-only tools.
This is the MCP we wrote because the ones we audited were dangerous.
No tools that write. No tools that touch your filesystem. No tools that exec. Read-only, all the way down.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
Restart Claude Desktop. Three tools appear in the picker. Same pattern works for Cursor, Windsurf, Claude Code, or any MCP client that speaks STDIO.
--dredd-gatePre-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.
On April 20, 2026 we published "Anthropic's MCP Has a Critical RCE Vulnerability. We Don't Use MCP. Here's Why." (dugganusa.com)
We named the affected vendors three weeks before they hit the headlines: MCP Inspector, LibreChat, Windsurf, LiteLLM, Langchain-Chatchat, NGINX-UI. The architectural problem was that MCP trusts the transport — STDIO gives an AI model a pipe to execute commands on the host, and the path from "tool definition" to "command execution" had no gate.
We meant it. We still don't trust other people's MCPs without auditing them first. The coherent answer is to ship the MCP we'd audit:
--dredd-gate local policy hookThis is that MCP.
Read the bytes you're running:
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:
10 tests covering the dispatch surface and live network calls. Every release runs them in CI before publishing.
Releases ≥ v1.3.0 are published via npm Trusted Publishing (GitHub Actions OIDC) with --provenance. Verify:
You get signed attestation that the published bytes came from a specific commit in a specific GitHub workflow run. No long-lived tokens involved.
The platform behind this CLI runs left-of-boom on adversary infrastructure:
| Adversary | We named them | Vendor / agency caught up | Days early |
|---|---|---|---|
| TeamPCP (Trivy / LiteLLM / Telnyx supply chain) | Mar 24, 2026 | CISA KEV adds CVE-2026-42208 May 8 | 45 days |
| NGINX-UI (actively exploited MCP) | Apr 20, 2026 | CISA KEV adds May 8 | 20 days |
| Lynx ransomware vs ACN Healthcare | indexed | Microsoft published | 43 days |
| Handala (Iran/MOIS-aligned) vs Dubai | indexed | Disclosure | 28 days |
| Medtronic vish chain | flagged | Microsoft published | 39 days |
Five entries in the quantified ledger as of May 10, 2026. The pattern is not luck. The pattern is the methodology.
Read the math: dugganusa.com/post/45-days-early-on-litellm-20-days-early-on-nginx-ui-cisa-caught-up-today-1
MIT — DugganUSA LLC, Minneapolis, MN.
Free tier means free. Audit it. Fork it. Tell us when we got something wrong.
Same threat corpus, surfaced wherever you live. Open source, MIT licensed, receipts on every repo.
| Plugin | Surface |
|---|---|
| dugganusa-scanner-core | Core IOC scanning engine |
| dugganusa-vscode | VS Code extension |
| dugganusa-splunk | Splunk Technology Add-on |
| dugganusa-slack | Slack bot |
| dugganusa-raycast | Raycast extension |
| dugganusa-sentinel | Microsoft Sentinel TAXII connector |
| dugganusa-obsidian | Obsidian plugin |
| dugganusa-nvim | Neovim plugin |
| dugganusa-elastic | Elastic / OpenSearch integration |
| dugganusa-edge-shield | Cloudflare Worker |
| dugganusa-cli (this repo) | CLI scanner + local STDIO MCP server |
| dugganusa-chrome | Chrome extension |
| dugganusa-action | GitHub Action |
| dredd-mcp | Pre-flight MCP security judge |
Backed by the live DugganUSA threat intel platform: analytics.dugganusa.com.
Jeevesus saves. Dredd judges.