# Penthera

> Open-source, offline, rule-based cyber security agent that scans apps, dependencies, and AI coding tool configurations.

Penthera is an open-source cyber security agent built by Daan van der Zwaag and released under the MIT license. It checks an app, its dependencies, and AI coding tool configuration on the user's own machine, and every finding comes from a readable rule with its evidence. The latest release listed is v1.9.0.

## What It Is

Penthera is a command-line security scanner that runs offline with no account and no telemetry, requiring Node.js 22 or later. It scans a running app by URL (headers, TLS, cookies, CORS, auth, JWT, IDOR, OAuth, OpenAPI), a repository (routes, secrets including AI keys, risky code sinks), dependencies (what each npm and Python package can do, typosquats, known-malicious versions), and AI tooling (MCP servers, skills, hooks, permissions, plugins). Findings carry a severity, a confidence label and evidence at file:line, and reports come out as Markdown, JSON and SARIF.

## How the Workflow Runs

Running `npx penthera` starts a guided setup that detects the project read-only, asks what to check and reports a grade per area. A fix loop applies deterministic fix recipes on a local branch after approval, then re-scans to confirm; it never commits or pushes. A local dashboard (`penthera ui`) offers a Simple mode and an Advanced mode. A pre-commit hook and a GitHub Action can block risky changes and comment dependency capability diffs on pull requests.

## Agent and Compliance Integrations

Penthera can be used as an Agent Skill, a read-only MCP server with six tools for Claude Code, Cursor, Codex, VS Code and Windsurf, a Claude Code plugin, and a Gemini CLI extension. An opt-in AI mode lets a local model propose leads that rules then check; the README marks it experimental. For EU compliance it produces signed evidence bundles and NIS2 and Cyber Resilience Act drafts, described as readiness tooling rather than certification.

## Accuracy and Limits

The project says rules decide and models only propose. It publishes a benchmark of precision 0.92 and recall 0.96 on labs it wrote itself, which it says do not measure real-world accuracy. It finds known classes of problems, not novel ones, and does not replace a human penetration test. A passive live check is available on penthera.org.

## Features
- Offline, rule-based scanning with evidence at file:line
- URL scan for headers, TLS, cookies, CORS, auth, JWT, IDOR, OAuth and OpenAPI
- Repository scan for secrets, AI keys, routes and code-execution sinks
- Dependency capability analysis, typosquat and known-malicious package detection
- AI tooling audit for skills, MCP servers, hooks and permissions
- Fix loop on a local branch with re-scan verification
- Local dashboard with Simple and Advanced modes
- Pre-commit hook and GitHub Action for pull requests
- Read-only MCP server with six tools
- Signed evidence bundles and NIS2 and CRA drafts
- Reports in Markdown, JSON and SARIF
- Opt-in experimental AI mode
- Passive live website check

## Integrations
Claude Code, Cursor, Codex, VS Code, Windsurf, Gemini CLI, GitHub Actions, GitHub code scanning (SARIF), npm, Docker

## Platforms
WEB, API, VSC_EXTENSION, CLI

## Pricing
Open Source

## Version
1.9.0

## Links
- Website: https://penthera.org
- Documentation: https://penthera.org/docs/index.md
- Repository: https://github.com/danoszz/penthera
- EveryDev.ai: https://www.everydev.ai/tools/penthera
