Auditing your AI tooling: penthera agents
Starter. For “is this MCP server or skill safe?”
Audit your agent setup
Your AI tools run code too.penthera agents audits the skills, MCP servers,
hooks, permissions, plugins and rule files that Claude Code, Cursor, Claude
Desktop, VS Code and Copilot load, and grades the setup A to F.
lib/agents/, so a skill can’t talk
its way past it.
Each finding names the OWASP MCP Top 10
and Agentic Top 10 (ASI) ids it maps to, and the
usual
--json, -o, --markdown and --sarif outputs all work. The scanner
is built for the ways LLM-judged skill scanners have been bypassed: it reads
whole files (no context window to overflow), every file in a skill folder (not
just SKILL.md), and treats text aimed at a reviewer as a finding rather than
an argument.
Why these files matter
A coding agent runs with your developer’s permissions. What it can do is decided by files that rarely get reviewed:.mcp.json, .claude/settings.json, hooks,
skills, plugins, CLAUDE.md, AGENTS.md and .cursor/ rules. Some arrive from
a teammate’s pull request, some from a marketplace, some from a blog post. In
2025 and 2026 attackers used these paths: skills with instructions hidden from
human reviewers, MCP servers launched with npx -y on whatever version was
latest, and npm worms that wrote to ~/.claude and ran the claude CLI on the
victim’s machine.
penthera deps also flags packages that write to ~/.claude, ~/.cursor or
.mcp.json, or run the claude, gemini or q CLIs, which is how the
s1ngularity attack used local AI tools (penthera deps).
For a team
Add the pre-commit hook so agent-config changes are checked before they are committed, and the GitHub Action inagents mode on pull requests
(in CI):
What you get
From Penthera’s own test fixture of a deliberately bad setup (abridged):What it does not do
- It reads configuration and files on disk. It does not watch what an agent does at run time, and it does not sandbox anything. For running agents, see running AI agents safely.
- It does not know whether a remote MCP server is trustworthy. It checks how the server is launched and configured, not what the service behind it does.
- It does not check the registries for newly published malicious skills or packages. A registry-watching service such as Socket covers that.
- Its rules cover the patterns in the methodology. A new trick needs a new rule and a release.