Cybersecurity
FreeNot checkedA tool to add to an agent's repertoire to improve security of AI created apps and sites.
About
A tool to add to an agent's repertoire to improve security of AI created apps and sites.
README
A local-only MCP server that audits your own project for the security mistakes AI-generated apps ship with, before you deploy. It runs on your machine over stdio, reads the local path you point it at, and never probes remote targets. That makes it a pre-deploy safety net, not a recon tool.
Trust note: this tool is designed to be pointed at your most sensitive code. It runs entirely locally, sends no telemetry, and the only network call it makes is to OSV.dev, and only to look up your dependencies' published CVEs by name and version. See SECURITY.md for details. The source is open so you can verify all of that.
Why this in addition to /security-review?
Claude Code ships /security-review and it's good, for people who already
speak security. security-audit is built for the other audience: people
shipping AI-generated apps who don't know what RLS, CSRF, or a service-role
key are, and whose agent needs to fix the issue without a human translator.
/security-review |
security-audit |
|
|---|---|---|
| Audience | Devs comfortable with security | Non-technical people shipping AI apps |
| How it judges | LLM read of the diff | Deterministic rules + the OSV CVE database |
| False-positive rate | Variable (LLM noise) | Tight (curated, suppressible by fingerprint) |
| Tells you the same thing twice? | Yes (re-run = re-flag) | No, dismissals stick across edits |
| Dependency CVEs | No | Yes |
| Knows AI-build failure modes specifically | Generic | Yes: Supabase RLS, public-env leakage, etc. is the doctrine |
| Available where | Inside Claude Code | Any MCP-capable agent (Claude Code, Cursor, etc.) |
Use both. /security-review catches the broader long tail; security-audit
catches the specific failures AI-build tools ship with by default, in language
the human can act on without help, with a suppression model that survives
edits, and it adds dependency CVEs that /security-review doesn't do.
What it checks (v0)
| # | Check | Catches |
|---|---|---|
| 1 | Exposed secrets / public-env leakage | Hardcoded API keys, and the high-value case: a secret behind NEXT_PUBLIC_ / VITE_ / PUBLIC_ that gets inlined into the browser bundle. |
| 2 | Supabase RLS + service-role | Tables with Row-Level Security disabled or never enabled, and service-role keys (decoded from JWTs) used in client-reachable code. The signature vibecoded breach. |
| 3 | Dependency CVEs | npm, pnpm, PyPI (requirements / pyproject / uv.lock / Pipfile) manifests and lockfiles checked against OSV.dev (free, no key), with fixed versions. |
Every finding returns severity, confidence, a CWE id + standard references, file:line, a plain-language reason, a concrete fix, an optional "this might be intentional" note, and a stable fingerprint, written for a non-technical user and structured so an agent can remediate in the same loop.
By default the scan returns critical/high findings in full and collapses
medium/low to a count. Pass detail=true (CLI: --all) to see everything.
Tools
audit_project(path, detail=False): run all three checks (the orchestrator).scan_secrets(path, detail=False): secrets / public-env leakage only.scan_dependencies(path, detail=False): OSV dependency check only.check_supabase(path, detail=False): Supabase RLS / service-role only.suppress_finding(path, fingerprint, reason=""): dismiss a reviewed finding.list_suppressions(path): show what's currently dismissed.install_pre_deploy_guard(path)/uninstall_pre_deploy_guard(path): see below.
Get it into the agent's hands, not yours (pre-deploy guard)
The hardest part of any security tool is remembering to run it. So don't. Run this once per project:
uv run security-audit setup # writes the guard to ./CLAUDE.md
uv run security-audit setup --uninstall # removes only our managed block
It appends a short directive to your project's CLAUDE.md that tells the
agent, any agent that reads CLAUDE.md (Claude Code, Cursor, etc.), to
call audit_project before any deploy-intent command (git push to main,
vercel deploy, npm run deploy, supabase db push, etc.) and to stop on
any critical/high finding rather than letting the deploy proceed. Idempotent;
delimited so uninstall is exact. The agent does the work; you don't have to
remember.
Dismissing findings (suppression)
If a finding is intentional, dismiss it by its fingerprint (the id shown on
each finding). That writes the fingerprint to a committed .security-ignore
file at the project root, so the dismissal is shared with your team and survives
edits elsewhere in the file (it's keyed on a content fingerprint, not a line
number). Commit that file. Don't add it to .gitignore.
Quick start
uv sync
# One-shot CLI against the bundled vulnerable demo:
uv run security-audit scan examples/vulnerable-app
Register with Claude Code
claude mcp add security-audit -- uv run --directory "C:/Users/colli/Cybersecurity MCP" security-audit
Then ask Claude: "audit this project with security-audit before I deploy."
The demo
Point it at the bundled examples/vulnerable-app (or any AI-generated repo you have
locally) and watch it surface, in seconds: a service-role key shipped to the browser,
a public Supabase table with RLS off, and vulnerable dependencies. The bundled
.env.local also includes an anon key as a negative control, and security-audit leaves it
alone, because the anon key is public by design.
For contributors:
examples/vulnerable-app/is a fixture and is deliberately insecure. Don't "fix" it. The demo and tests depend on it. Its "secrets" are public Supabase demo keys and obviously-fake Stripe values, not real credentials.
Scope & ethics
security-audit audits the local project you point it at. It does not scan, probe, or send requests to third-party targets. The only network call it makes is to OSV.dev to look up published CVEs for your declared dependencies.
Installing Cybersecurity
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/LiamTCollins/Cybersecurity-MCPFAQ
Is Cybersecurity MCP free?
Yes, Cybersecurity MCP is free — one-click install via Unyly at no cost.
Does Cybersecurity need an API key?
No, Cybersecurity runs without API keys or environment variables.
Is Cybersecurity hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Cybersecurity in Claude Desktop, Claude Code or Cursor?
Open Cybersecurity on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Cybersecurity with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
