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

provekit

v0.1.0

Published

Attack-tested security scanning for AI-generated code. Catches leaked secrets and the insecure patterns AI agents love to introduce, mapped to the OWASP Top 10. Zero dependencies.

Readme

provekit

Attack-tested security scanning for AI-generated code. Catches leaked secrets and the insecure patterns AI agents love to introduce, mapped to the OWASP Top 10. Zero dependencies, runs locally, gates your CI.

npx provekit

Why this exists

Coding agents (Cursor, Claude Code, Copilot) ship code fast. They also paste API keys into files mid-debug, fetch user-controlled URLs with no guard, build SQL by string concatenation, and disable TLS verification, and they do it in fluent, convincing code that looks fine in review.

provekit reads the code your agents write and flags the security mistakes they actually make, before it merges. It's built to be precise: it won't cry wolf on code that's already guarded, because a scanner you can't trust is a scanner you turn off.

Precision in practice: it skips parameterized SQL, env-var reads, bcrypt/argon hashes, and placeholder values, and in test/, examples/, and fixture files it stays quiet on the insecure things test code does on purpose (disabling TLS, fake secrets) while still catching a real leaked key anywhere. On axios + express (372 files, heavily audited) it reports zero findings; on a file full of planted vulnerabilities it finds all nine.

What it catches

| OWASP | Examples | |---|---| | A07 / A02 — Leaked secrets | AWS / GitHub / Stripe / OpenAI / Anthropic keys, private-key blocks, DB URLs with inline credentials, hard-coded passwords | | A10 — SSRF | user-controlled input reaching a server-side HTTP request with no host allowlist | | A03 — Injection | eval / new Function, shell commands built by string interpolation, SQL by concatenation, innerHTML / dangerouslySetInnerHTML | | A02 — Broken crypto/transport | TLS verification disabled, MD5/SHA1 for passwords, Math.random() for tokens | | A05 — Misconfiguration | wildcard CORS, debug mode on |

See it work

git clone https://github.com/Th3Circle-app/provekit && cd provekit
npm run demo
provekit — 9 issues found

CRITICAL vulnerable-example.js:8   [A07 / A02 · Leaked secret]
         AWS access key ID committed to code
CRITICAL vulnerable-example.js:21  [A03 · Command injection]
         Shell command built with string interpolation — command injection risk
HIGH     vulnerable-example.js:15  [A10 · SSRF]
         User-controlled input reaches a server-side HTTP request — SSRF risk...
...
Summary: 3 critical, 4 high, 2 medium
✗ failing.

Usage

provekit                 # scan your uncommitted changes (the AI-code use case)
provekit --staged        # scan staged changes — great as a pre-commit hook
provekit --diff main     # scan everything changed vs a branch — great in CI on a PR
provekit <files...>      # scan specific files
provekit --all           # scan every tracked source file
provekit --fail-on medium --json

Add // provekit-ignore to a line to whitelist a false positive.

In CI (GitHub Actions)

# .github/workflows/provekit.yml
name: provekit
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 0 }
      - run: npx provekit --diff origin/${{ github.base_ref }}

The scan fails the build on any high+ finding, so insecure AI-generated code can't merge.

Who's behind it

Built by Harrison C. Songolo, who does this for real: found, fixed, and responsibly disclosed live SSRF vulnerabilities in open-source tools, and built redteam-loop, an AI-in-the-loop system that attacks a service, has an LLM propose a fix, and re-runs the exact attack to prove it closed. This tool is the fast, free front end of that same discipline.

Roadmap

provekit today is static pattern detection, fast and precise. The next step is the thing nobody else does: adversarial verification, actually firing the exploit at a running copy and proving the control holds, not just guessing from the source. That's redteam-loop, and it's where this is headed.

MIT. Contributions and new rules welcome, open an issue.