Hookcheck MCP server
io.github.CloudCorpRecords/hookcheck·v0.1.18Persistence hook auditor: scan repos for auto-exec hooks, flag Shai-Hulud patterns.
0 stars2.9k downloads/wk
Reviews
Write oneNobody has reviewed Hookcheck yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Hookcheck tools (2)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
explain_hookExplain one hook found by scan_hooks: its command, classification, rules that fired, and what the classification means. Pass the hook id (e.g. package.json:postinstall) or its file path.
scan_hooksScan a local repo directory for auto-exec hooks: npm install scripts, Claude Code settings hooks, VS Code folderOpen tasks, husky, lefthook, pre-commit, Cursor and Codex configs, MCP autostart configs, and GitHub workflow run steps. Classifies each hook SAFE, RISKY, or UNKNOWN and returns a CLEAN, REVIEW, or COMPROMISED-PATTERN verdict with evidence per finding. Deterministic, local only, no netwo
Public scan report
scanner v0.1.10 · 2026-10-24 · same rubric, same numbers if you re-run it
- Code scan12 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evaldist/core.js: …url); const code = await * res.text(); eval(code)). The REMOTE-EVAL pattern misses t…
How Hookcheck compares
Against every graded Security MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 85/100
- higher than 70% of 918 Security servers
- Tools
- 2
- the typical Security server has 6
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 2,896
- more than 95% of 240 Security servers with a package
What its tools let an agent do: 2 read
Install Hookcheck in Claude Code, Cursor or VS Code
Runs npx -y @reneturcios/hookcheck on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add hookcheck -- npx -y @reneturcios/hookcheck
What the publisher says
From the Hookcheck repository's README, as published. We do not edit it. Read it on GitHub
hookcheck
Find the hooks that run before you do. One scan, every auto-exec surface, one verdict.
Modern supply chain attacks do not need you to run anything. They persist through hooks that run automatically: an npm postinstall script, a Claude Code SessionStart hook in .claude/settings.json, a VS Code task set to run on folder open. The Shai-Hulud npm worm used exactly this pattern, planting a preinstall dropper and then persisting through agent and editor hooks so it survived cleanup and stole credentials on the next open.
hookcheck scans a local repo for every auto-exec hook, classifies each one, and prints a single verdict: CLEAN, REVIEW, or COMPROMISED-PATTERN, with the file, command, rules, and evidence for every finding. Deterministic only. No LLM, no network in the core scan.
Why this exists
Reports in October 2026 described AI agents orchestrating attacks and a self-propagating npm worm that backdoored hundreds of packages. Its persistence layer was not exotic malware. It was ordinary config files that every developer and every coding agent already trusts: package.json install scripts, .claude/settings.json hooks, and .vscode/tasks.json folderOpen tasks. Defenders needed a fast local check that an agent itself can call before opening, installing, or trusting a repo. That is hookcheck.
What it checks
Every surface above is discovered by one bounded recursive walk, not only at the scan root: a surface that appears inside a subdirectory (for example packages/foo/.claude/settings.json, sub/.vscode/tasks.json, or sub/.github/workflows/ci.yml) is inventoried from a parent scan with its real relative path in the finding, within the discovery bound documented under Limits. A surface file is inventoried exactly once however many discovery paths reach it.
Classification per hook:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Hookcheck: common questions
- Is Hookcheck MCP server safe?
- Yes, by our scan: it is graded A (85/100). Read the Hookcheck safety report
- How do I install Hookcheck?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Hookcheck need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Hookcheck maintained?
- The last commit was 10 days ago (2026-10-23). The latest release is v0.1.18.
- What can I use instead of Hookcheck?
- Servers from other publishers that do the same job: Oauth Auditor MCP server, Jikida MCP server and PyMemoryEditor MCP server.
- How does Hookcheck compare with other Security MCP servers?
- safety score 85/100 (higher than 70% of 918 Security servers); tools 2 (the typical Security server has 6); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Hookcheck
Same job from other publishers: the closest match first, then the best rated.
- Oauth AuditorScans MCP server auth code for OAuth 2.1 anti-patterns: token passthrough, missing audiencenot reviewedGrowingA
- JikidaSecurity tools for your AI: scan, pentest, check headers, guard code and scan repos for secrets.not reviewedGrowingA
- PyMemoryEditorRead, write and scan process memory, Cheat Engine style, on Windows, Linux and macOS.not reviewedEstablishedA
- Autopilot JobhuntAgentic job hunt: scan careers pages, score against your resume, draft applications. Never applies.not reviewedGrowingA
- Solana Security StandardScan Solana/Anchor code against the Solana Security Standard and serve the ruleset to MCP clients.not reviewedGrowingA