Atlas / MCP servers / blamejs / exceptd Security

exceptd SecurityBLOCK

mcp/blamejs/exceptd-skills

AI security skills grounded in mid-2026 threat reality, not stale framework documentation

Verdict
BLOCK
Grade
F
Trust score
23 /100
Exposed tools
11 11r · 0w · 0d
Transport
—
License
NOASSERTION
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

AI security skills grounded in mid-2026 threat reality, not framework documentation from 2020.

[](https://github.com/blamejs/exceptd-skills/releases) [](https://www.npmjs.com/package/@blamejs/exceptd-skills) [](https://github.com/blamejs/exceptd-skills/actions/workflows/ci.yml) [](https://scorecard.dev/viewer/?uri=github.com/blamejs/exceptd-skills) [](https://www.apache.org/licenses/LICENSE-2.0) [](#skill-inventory) [](https://atlas.mitre.org) [](https://attack.mitre.org) [](AGENTS.md) [](data/global-frameworks.json)

Core premise: Every major security and compliance tool on the market is still operating on stale threat models. NIST 800-53, ISO 27001, SOC 2, and PCI-DSS were written for network-centric, on-prem or early-cloud environments. They have no controls for AI pipeline integ

Read from source at commit 783e16adaf56OBSERVED · 2026-10-12
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add example-lib --env EXCEPTD_ALLOW_WEAK_KEY_ACL=${EXCEPTD_ALLOW_WEAK_KEY_ACL} --env GITHUB_TOKEN=${GITHUB_TOKEN} --env KEYS_ROTATED=${KEYS_ROTATED} --env NVD_API_KEY=${NVD_API_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "example-lib": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "EXCEPTD_ALLOW_WEAK_KEY_ACL": "${EXCEPTD_ALLOW_WEAK_KEY_ACL}",
        "GITHUB_TOKEN": "${GITHUB_TOKEN}",
        "KEYS_ROTATED": "${KEYS_ROTATED}",
        "NVD_API_KEY": "${NVD_API_KEY}"
      }
    }
  }
}
03

Exposed tools (11)

11 read · 0 write · 0 destructive.

ToolRiskDescription
CISA-KEV-RESPONSE-SLAreadd
Nreadd
advisoriesreadPrimary-source advisory feeds (Qualys TRU, Red Hat RHSA, Ubuntu USN, Zero Day Initiative / ZDI) — surfaces CVE IDs disclosed at T+0 to T+1 that lag NVD enrichment. Report-only — does not auto-write the catalog.
cve-regression-watcherreadNEW-CTRL-074 detection method — surfaces poller-diff historical-CVE references that may indicate silent vendor regression (the MiniPlasma class). Report-only; depends on ADVISORIES_SOURCE observations as input.
epssreadFIRST.org EPSS scores
ghsareadGitHub Advisory Database — multi-ecosystem disclosure feed (npm, PyPI, Maven, Go, etc.)
kevreadCISA Known Exploited Vulnerabilities
nvdreadNIST NVD 2.0 CVSS metrics
osvreadOSV.dev — OSSF Malicious Packages (MAL-*) + Snyk + GHSA + RustSec + Mageia + Go Vuln DB + Ubuntu USN. Unauthenticated. Slot in for the broader supply-chain-class disclosure space — covers package compromises that don
pinsreadMITRE ATLAS / ATT&CK / D3FEND / CWE upstream release pins
rfcreadIETF Datatracker RFC status + auto-discovery
04

Trust audit

BLOCKgrade F · trust 23/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryFAIL
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (17 observation(s))
Network
declared (10 observation(s))
Shell
declared (5 observation(s))
Dependencies
pinned
Secrets in source
found

Findings (25)

CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
data/playbooks/secrets.json:456
"value": "\"type\"\\s*:\\s*\"service_account\"[^{}]*\"private_key\"\\s*:\\s*\"-----BEGIN PRIVATE KEY-----",
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
lib/collectors/secrets.js:166
{ id: "gcp-service-account-json",   re: /"type"\s*:\s*"service_account"[\s\S]{0,1200}?"private_key"\s*:\s*"-----BEGIN PRIVATE KEY-----[A-Za-z0-9+/=\s\\]{40,4000}-----END/g },
HIGHInventory / provenance · inv.suspicious_name · CWE-1104
data/exploit-availability.json
exploit-availability.json
Why it matters. member named after an attack tool
Fix. remove or justify
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
data/playbooks/supply-chain-recovery.json:347
"threat_context": "Supply-chain-recovery landscape mid-2026 is dominated by the Shai-Hulud worm family. The September 2025 Shai-Hulud wave (180+ npm packages) established the modular pattern: postinst
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/collectors/ai-api.js:394
? { value: "~/.aws/credentials present but unread — profile inventory undetermined, not absent", captured: false, reason: "read skipped or failed; see collector_errors for the reason" }
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/collectors/ai-api.js:395
: { value: "~/.aws/credentials absent", captured: true },
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/collectors/secrets.js:49
".npmrc", ".pypirc", ".netrc", ".git-credentials",
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/collectors/secrets.js:55
const SSH_PRIVATE_KEY_FILES = new Set(["id_rsa", "id_ed25519", "id_ecdsa", "id_dsa"]);
Why it matters. touches a credential store
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
skills/cloud-iam-incident/skill.md:91
3. **2026 Azure managed-identity token replay (design-class issue, not a single CVE).** Attackers with limited code-execution on an Azure VM (often via SSRF in a hosted web application) steal the mana
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
CHANGELOG.md:845
Threat-intelligence pins: MITRE ATLAS advances from v2026.05 to v2026.06 across the manifest, the TTP catalog metadata, and every operator-facing reference. The update is additive — v2026.06 adds thre
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
skills/age-gates-child-safety/skill.md:449
- **`ai-attack-surface`** — red-team coverage on safety filtering for child-relevant topics (self-harm, eating-disorder, grooming, sextortion, CSAM generation); jailbreak resilience on per-cohort capa
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
skills/ai-attack-surface/skill.md:82
**ATLAS ref:** AML.T0054 (LLM Jailbreak) and AML.T0051 (LLM Prompt Injection)
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
skills/ai-attack-surface/skill.md:178
| AML.T0054 | LLM Jailbreak | Missing in all major frameworks | No control covers adversarial-instruction injection that bypasses guardrails and coerces the model into attacker-chosen actions | CVE-20
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
CHANGELOG.md:4532
5. **`mcp-response-instruction-coercion`** — keyed off `mcp-tool-response-log`. Regex match against `<IMPORTANT>` blocks, "Before using this tool, read", "Do not mention to user", compliance-urgency m
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
CHANGELOG.md:4575
Catalog had `iocs: null`. Added: ANSI escape sequence detection (any byte 0x1B in tools/list field or tools/call response — SGR, cursor-movement, OSC-8 subclasses), Unicode Tag-block smuggling (U+E000
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
MEDIUMInsecure crypto · crypto.weak_random · CWE-327, CWE-338
data/cwe-catalog.json:1650
"real_requirement": "Linters that flag Math.random(), java.util.Random, rand() in security contexts; pin random-token generation to CSPRNG via type-level distinctions (e.g. SecureRandom in Java; secre
MEDIUMInsecure crypto · crypto.weak_random · CWE-327, CWE-338
data/playbooks/crypto-codebase.json:322
"threat_context": "Library-author crypto posture mid-2026: FIPS 203/204/205 finalized 2024-08-13. Production ML-KEM / ML-DSA / SLH-DSA reference implementations available via liboqs, pq-crystals, Clou
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
bin/exceptd.js:2600
"llm-tool-use-exfil",
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
bin/exceptd.js:6082
hint: `chmod 600 '${childAbs}'  # NEW-CTRL-050: AI-assistant configs holding MCP tokens / API keys must be 0600 to defeat unprivileged exfil`,
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
bin/exceptd.js:6165
"llm-tool-use-exfil", "supply-chain-recovery",
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
bin/exceptd.js:7112
"rogue": ["ai-c2", "llm-tool-use-exfil"],
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
bin/exceptd.js:7113
"agentic": ["ai-c2", "llm-tool-use-exfil", "mcp"],
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
lib/collectors/hardening.js:169
if (yamaSig !== undefined) signal_overrides["yama-ptrace-permissive"] = yamaSig;
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
lib/collectors/runtime.js:282
: { value: "/proc walkable but /proc/<pid>/exe symlinks unreadable (likely hidepid / ptrace-restrict / non-root scope)", captured: false, reason: "insufficient exe-link visibility to reach a verdict"
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
orchestrator/index.js:1410
/kernel|linux|ptrace|pidfd/i.test(`${e.name || ''} ${e.vector}`) &&

Gates applied: critical_finding, instruction_override, no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 783e16adaf56full audit observations/trust-audit/mcp-server/blamejs__exceptd-skills.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12783e16adaf56BLOCKF23first audit
06

Questions

What is the @blamejs/exceptd-skills MCP server?

AI security skills grounded in mid-2026 threat reality, not stale framework documentation

What tools does @blamejs/exceptd-skills expose?

11 in total: 11 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is @blamejs/exceptd-skills safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (23/100) and found 15 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does @blamejs/exceptd-skills need?

It reads EXCEPTD_ALLOW_WEAK_KEY_ACL, GITHUB_TOKEN, KEYS_ROTATED and NVD_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (783e16adaf56), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement