Dredd Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Dredd Mcp (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Docs: https://docs.dugganusa.com/agents/dredd/
You do you. I do me. We share contexts.
Everything is context now: data, transport, the TV in your living room. Share the context, never the core. Dredd judges what's about to cross into your agent before it runs: the server, its full dependency tree, and the CVEs published against it. Every verdict is signed, and you get an honest unknown when we couldn't see.
"Jeevesus saves. Dredd judges."
Dredd MCP is a pre-invocation security check for the Model Context Protocol ecosystem. Before your agent calls a tool on any other MCP server, Dredd renders a verdict: BLOCK, ADVISORY, or ALLOW. Every verdict is HMAC-signed and cites the IOC or behavioral signal that drove the decision.
Three PyPI ML packages were compromised in eight days during late April 2026. Twenty-plus MCP-named GitHub repositories were caught serving SmartLoader malware in the wild. The official MCP Registry was clean of those when we measured — but the typosquat surface is wide open.
Dredd is the layer that catches the next compromise before the malicious tool gets called.
Dredd no longer stops at the named server. It walks the transitive dependency graph.
The Shai-Hulud worm taught the ecosystem the hard lesson: the malicious code is rarely in the package you installed — it's three levels down, in a transitive dependency that got its publish token stolen. A check that only vets the server you named is blind to exactly the attack that's been hitting npm and PyPI.
So every preflight now resolves the target server's full npm/pypi dependency graph and joins every transitive package against our continuously updated IOC corpus — including the OSV malicious-package feeds for npm and PyPI. If a known-malicious package is buried anywhere in the tree, Dredd blocks the call before the tool runs.
The verdict is signed (HMAC-SHA256) and now carries a `dep_graph` field telling you whether transitive supply-chain risk was actually evaluated for that target:
{
"verdict": "BLOCK",
"severity": "critical",
"dep_graph": { "evaluated": true, "packages_checked": 247, "malicious_transitive": 1 },
"signature": "sha256=..."
}If the server doesn't expose a resolvable manifest, dep_graph.evaluated is false and Dredd drops to the advisory tier — it tells you it couldn't see the tree rather than pretending it's clean.
Every preflight call evaluates these signals:
lightning==2.6.2 or any other known-compromised version, the call is blocked. The dep_graph field on the verdict reports whether the transitive tree was evaluated.The verdict comes back signed in under 200 ms (Cloudflare-edge cached, 5-minute TTL). The hook fails open by default — if our endpoint is ever down, Dredd does not brick your tooling.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"dredd": {
"url": "https://analytics.dugganusa.com/api/v1/dredd/mcp"
}
}
}Restart Claude Desktop. You'll see Dredd available with one tool: check_mcp_server.
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"dredd": {
"url": "https://analytics.dugganusa.com/api/v1/dredd/mcp"
}
}
}curl -X POST https://analytics.dugganusa.com/api/v1/dredd/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'You should see one tool: check_mcp_server.
check_mcp_server| Argument | Type | Required | Description |
|---|---|---|---|
server | string | yes | MCP server name (e.g. io.github.foo/bar) or substring |
version | string | no | Optional semver of the server |
tool | string | no | Optional name of the specific tool being invoked |
Returns a JSON verdict:
{
"success": true,
"server": "io.github.foo/bar",
"version": "1.2.3",
"tool": "list_files",
"verdict": "ALLOW",
"severity": "clean",
"findings_count": 0,
"findings": [],
"dep_graph": { "evaluated": true, "packages_checked": 247, "malicious_transitive": 0 },
"checked_at": "2026-05-04T20:00:00Z",
"ttl_seconds": 300,
"signature": "sha256=..."
}Verdict values:
| Verdict | Severity tier | What to do |
|---|---|---|
BLOCK | critical or high | Refuse the invocation. Do not call the target tool. |
ADVISORY | medium or advisory | Surface to the user; let them decide. |
ALLOW | clean | Proceed. |
The signature field is an HMAC-SHA256 of the canonical verdict body using a server-side secret. Hooks should verify this to defeat MITM-forged "all clear" responses (verification key distributed out of band on request).
Real-time aggregate dashboard of every active finding across the registry — free, no auth, no email gate:
[`https://analytics.dugganusa.com/api/v1/dredd/watchtower.json`](https://analytics.dugganusa.com/api/v1/dredd/watchtower.json)
Returns counts by severity, recent findings, current verdict (CLEAN / WATCH / HIGH / CRITICAL).
Updated continuously as the daily fetcher + correlator pipeline runs against the registered MCP corpus.
┌─────────────────────────────────────────────────┐
│ Your Agent (Claude Desktop / Cursor / custom) │
│ calls check_mcp_server(server, version, tool)│
└─────────────────┬───────────────────────────────┘
│ JSON-RPC over HTTPS
▼
┌────────────────────────────────────────────────┐
│ Dredd MCP — analytics.dugganusa.com/api/v1/dredd/mcp │
│ - look up findings for (server, version, tool)│
│ - aggregate severity, render verdict │
│ - HMAC-sign canonical verdict │
└────────────────┬───────────────────────────────┘
│
▼
┌────────────────────────────────────────────────┐
│ mcp_findings index — populated by │
│ daily fetcher + correlator joining the │
│ resolved transitive dep graph × IOC corpus │
│ (Socket, Aikido, GitGuardian, ReversingLabs, │
│ + OSV malicious-package feeds: npm & PyPI) │
└────────────────────────────────────────────────┘The correlation cadence today is 12 hours (08:30 UTC and 20:30 UTC). When a real compromise lands in the registered-MCP corpus, cadence tightens.
signature field on every verdict.DREDD_BYPASS=<reason>) for critical workflows.(server, version, tool) only — never the contents of tool arguments. Those stay on your machine./api/v1/feed-uniqueness, overlap with ThreatFox), timeliness (/api/v1/kev-lead, a live ledger of when each exploited CVE entered our corpus next to its CISA KEV date), accuracy (/api/v1/spamhaus-validation), and liveness (/api/v1/feed-efficacy, opt-in consumer reports of when our indicators actually fire on real traffic — proof the feed is operationally live, not just large).Dredd is the 13th member of the DugganUSA defender family — and the first MCP-native member:
dugganusa-scanner-core — Core IOC scanning enginedugganusa-vscode — VS Code extensiondugganusa-splunk — Splunk Technology Add-ondugganusa-slack — Slack botdugganusa-raycast — Raycast extensiondugganusa-sentinel — Microsoft Sentinel TAXII connectordugganusa-obsidian — Obsidian plugindugganusa-nvim — Neovim plugindugganusa-elastic — Elastic / OpenSearch integrationdugganusa-edge-shield — Cloudflare Workerdugganusa-cli — CLI scannerdugganusa-chrome — Chrome extensiondugganusa-action — GitHub ActionCompanion MCP server: [Jeevesus](https://analytics.dugganusa.com/jeevesus.html), natural-language search over the DugganUSA corpus (live counts).
MIT — see LICENSE.
Built in Minneapolis. Defender-grade. Read-only. Receipts do the work.
<!-- DUGGANUSA-FAMILY-FOOTER-V1 -->
Same DugganUSA Feed, 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 | CLI scanner |
| dugganusa-chrome | Chrome extension |
| dugganusa-action | GitHub Action |
| dredd-mcp _(this repo)_ | Dredd: pre-flight MCP security |
Backed by the DugganUSA Feed. Numbers are live: /api/v1/search/stats. Pricing: analytics.dugganusa.com/stix/pricing. Contact: [email protected].
_Threat intelligence you can check._
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.