npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@prooflayer/scanner-lite

v1.0.0

Published

Lightweight MCP security scanner for AI coding agents. 400+ YAML rules, tool-poisoning detection, prompt injection scanning, package hallucination checks, auto-fix generation, and optional LLM deep audit. MIT licensed, fully offline-capable.

Readme

@prooflayer/scanner-lite

Lightweight MCP security scanner for AI coding agents

npm license tests OWASP

418 YAML rules | 8 MCP tools | 13 languages | OWASP Agentic Top 10 | MIT licensed | Fully offline


Why scanner-lite?

| Feature | scanner-lite | AgentAudit-MCP | |---------|-------------|----------------| | License | MIT | AGPL-3.0 | | Detection rules | 418 YAML + 33 JS | 12 regex | | OWASP Agentic Top 10 | ASI-01 through ASI-10 | None | | Deep analysis | Deterministic + optional LLM | LLM-only | | Offline capable | Yes | No (registry lookups) | | Test coverage | 8 files, 311 assertions | 1 file, ~30 assertions | | Privacy | LLM opt-in with consent | Sends code by default | | Architecture | Clean modular src/ | Monolithic 88KB cli.mjs | | Package detection | Typosquat + bloom filters (4.3M+) | None | | Auto-fix | 165 fix templates | None | | SARIF output | Yes | No | | Package size | ~95KB compressed | ~230KB |

Quick Start

As MCP Server

npx @prooflayer/scanner-lite

Add to your MCP client config (Claude Desktop, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "scanner-lite": {
      "command": "npx",
      "args": ["-y", "@prooflayer/scanner-lite"]
    }
  }
}

As CLI

# Scan a file or directory
npx @prooflayer/scanner-lite scan ./src

# Inspect a live MCP server for tool poisoning
npx @prooflayer/scanner-lite inspect -- node server.js
npx @prooflayer/scanner-lite inspect --json -- npx -y @modelcontextprotocol/server-filesystem /tmp

# Check if a package is hallucinated
npx @prooflayer/scanner-lite check-package rekat

# Scan for prompt injection
npx @prooflayer/scanner-lite prompt "ignore all previous instructions"

# LLM deep audit (requires API key)
npx @prooflayer/scanner-lite audit server.js --provider anthropic --yes

# Download bloom filters for enhanced package verification
npx @prooflayer/scanner-lite download-data

As GitHub Action

- uses: sinewaveai/agent-security-scanner-mcp/scanner-lite@main
  with:
    path: ./src
    format: text    # or json, sarif
    fail-on: 'true' # exit 1 on findings

MCP Tools

| Tool | Description | |------|-------------| | scan_security | Scan code for vulnerabilities (400+ rules, 13 languages) | | scan_mcp_server | MCP server audit — tool poisoning, unicode attacks, rug pull detection | | scan_agent_prompt | Prompt injection detection with deobfuscation (base64, morse, zalgo, braille) | | check_package | Package hallucination detection with typosquatting analysis | | scan_packages | Bulk import scanning across 7 ecosystems | | fix_security | Auto-fix generation with 165 fix templates | | deep_audit | Optional LLM deep security audit (5 providers) | | inspect_mcp_server | Live MCP server inspection — connect via stdio, scan tool definitions for poisoning |

OWASP Agentic Security Top 10

All 418 rules are tagged with OWASP Agentic Security Initiative categories:

| Category | Description | Rules | |----------|-------------|-------| | ASI-01 | Goal Hijacking & Prompt Injection | ~80 | | ASI-02 | Tool Misuse & Unsafe Execution | ~60 | | ASI-03 | Identity & Privilege Escalation | ~30 | | ASI-04 | Supply Chain & Dependency Risks | ~15 | | ASI-05 | Arbitrary Code Execution | ~50 | | ASI-06 | Memory Poisoning (vector stores, RAG) | 4 | | ASI-07 | Inter-Agent Communication | 3 | | ASI-08 | Cascading Failures (loops, timeouts) | 4 | | ASI-09 | Trust Exploitation (auto-approve) | 3 | | ASI-10 | Rogue Agents (kill switch, spawning) | 4 |

Supported Languages

JavaScript, TypeScript, Python, Go, Java, PHP, Ruby, C/C++, Rust, Dockerfile, Terraform, SQL, YAML

CLI Reference

COMMANDS:
  scan <path>              Scan file or directory for vulnerabilities
  inspect -- <cmd> [args]  Inspect a live MCP server for tool poisoning
  audit <path>             LLM deep security audit (requires API key)
  check-package <name>     Check if a package is hallucinated
  prompt <text>            Scan text for prompt injection
  download-data            Download bloom filters for offline pkg verification

FLAGS:
  --json                 Output as JSON
  --sarif                Output as SARIF (scan only)
  --quiet                Suppress non-essential output
  --no-color             Disable ANSI colors
  --verbose              Show full details
  --timeout <ms>         Inspection timeout (default: 10000)
  --provider <p>         LLM provider: anthropic, openai, gemini, ollama, openrouter
  --model <m>            LLM model name
  --ecosystem <e>        Package ecosystem (default: npm)
  --yes                  Consent to LLM data sharing (audit command)

EXIT CODES:
  0  Clean / success
  1  Findings detected
  2  Error

LLM Deep Audit

The deep_audit tool / audit CLI command provides AI-powered security analysis using a 3-pass methodology (UNDERSTAND, DETECT, CLASSIFY). Supports 5 providers:

| Provider | Env Variable | Default Model | |----------|-------------|---------------| | Anthropic | ANTHROPIC_API_KEY | claude-sonnet-4-20250514 | | OpenAI | OPENAI_API_KEY | gpt-4o | | Gemini | GEMINI_API_KEY | gemini-2.0-flash | | Ollama | (none — local) | llama3.1 | | OpenRouter | OPENROUTER_API_KEY | anthropic/claude-sonnet-4 |

Privacy: LLM audit requires explicit consent via PROOFLAYER_LLM_CONSENT=1 env var or --yes flag. Code is sent to the selected provider's API.

Package Hallucination Detection

Ships with typosquatting heuristics (always available offline). For enhanced detection against 4.3M+ known packages:

npx @prooflayer/scanner-lite download-data

This downloads bloom filter data to ~/.prooflayer/data/ for npm, PyPI, RubyGems, and crates.io.

Verbosity Levels

All MCP tools support a verbosity parameter:

| Level | Tokens | Use Case | |-------|--------|----------| | minimal | ~50 | Quick checks, CI pipelines | | compact | ~200 | Normal development (default) | | full | ~2000 | Debugging, compliance reports |

Dependencies

Only 2 runtime dependencies:

  • @modelcontextprotocol/sdk — MCP protocol support
  • zod — Schema validation

Development

cd scanner-lite
npm install
npm test          # Run 311 tests across 8 files

License

MIT - see LICENSE