Open source · Free · Runs locally

BlissPoint AI Security

A free, local-first scanner for everything your AI coding agent loads automatically — MCP servers, Agent Skills, memory files — with every finding explained in plain English.

npx @blisspointanalytics/ai-security scan

View on GitHub →Package on npm

Terminal output of a scan: an inventory summary, then one CRITICAL finding (TXT-003) with the file and line, what it means, and what to do.
A real scan: the inventory, then one finding — rule, file and line, what it means, what to do.

The problem, in plain English

If you use Claude Code, Claude Desktop, or Cursor, your agent already trusts a growing pile of things without asking you each time: MCP servers (outside tools it can call), Agent Skills (packaged instructions it can follow), and memory files like CLAUDE.md that it reads on every session. Most teams have never seen the full list in one place — and security research keeps finding real, exploitable problems hiding in exactly these things: servers with no authentication, skills bundling malicious scripts, instruction files quietly poisoned to make an agent misbehave persistently.

BlissPoint AI Security inventories all of it on your own machine and tells you exactly what needs attention — in language a manager with no security background can act on, not just a security engineer.

Where to run it, and what happens

  1. Open a terminal in the project you want checked

    The folder that holds your agent's configuration — the one with a .claude/ or .cursor/ directory, a CLAUDE.md, or an MCP server config. For example cd ~/code/my-app. You need Node.js installed; npx comes with it.

  2. Run the one command

    npx @blisspointanalytics/ai-security scan fetches the scanner the first time and runs it against the current folder. Nothing is installed globally and no account is created.

  3. It reads, and only reads

    The scanner opens config files and text files and looks at their contents. It never executes, imports or runs anything it finds, never changes a file, and never sends anything off your machine — there is no network call and nothing is recorded anywhere. Run it as often as you like.

  4. Read the output in your terminal

    First an inventory — how many MCP servers, skills and memory files it found — then the findings, most severe first. Each one names its rule, the file and line, what this means, and what to do, and maps to a published OWASP category. A clean run says "no known issues found by the current rules" — deliberately not "secure".

  5. Optionally, keep watching

    blisspoint-security lock records a baseline; scan --verify then flags anything new, changed or removed since. scan --sarif results.sarif writes results for GitHub's code-scanning UI, and a ready-made GitHub Action in the repository runs it on every push.

What it actually checks

14 deterministic rules — no LLM involved, no network call, the same result every time on the same input. Every finding maps to the OWASP MCP Top 10 or the OWASP Agentic Skills Top 10, with a plain-English explanation and a concrete fix — never a bare "vulnerability detected". Among them:

Hard-coded secrets

API keys or tokens sitting in an MCP server's config, where every agent session can read them.

Unpinned servers

An MCP server launched without a pinned version — the classic "rug pull" setup where tomorrow's update isn't today's code.

Unauthenticated remotes

A remote MCP server reachable with no visible authentication at all.

Command injection

Shell commands assembled from untrusted input inside a server or skill.

Hidden Unicode

Invisible characters in a skill or memory file — the standard way to smuggle instructions past a human reader.

Data exfiltration instructions

Text telling the agent to send, upload or forward your data to an outside address.

Pipe-to-shell

An instruction to download a script and run it straight away, sight unseen.

Built to be trusted

Deterministic rules, a public benchmark, and findings you can act on in minutes.

Benchmarked, and the benchmark is public

Every rule is scored against a published corpus of real configurations, skills and memory files that ships in the repository — 100% precision and recall on that corpus today, with each new real-world sample folded in as it is found. You can run the benchmark yourself with one command.

Every finding is a decision, not a guess

A finding names its rule, the file and the line, says what it means in plain English, and tells you what to do — ranked most severe first and mapped to the OWASP category it belongs to. Five minutes per finding is the design target, and most take less.

A clean run says exactly what was checked

"No known issues found by the current rules" is a precise statement: these 14 rules, this inventory, this moment. Lock a baseline and every later change to what your agent loads is flagged the instant it appears. The rule set and the tested platforms are listed in the project README.

Free and open source, MIT licensed

Run it on every project, as often as you like, with nothing to sign up for. Security disclosure policy · questions to solutions@blisspointanalytics.com.

Get the source →