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

vibescan-cli

v0.1.0

Published

Audit AI-generated code for security issues, duplicates, and vibe coding patterns

Downloads

131

Readme

VibeScan

Audit AI-generated code before it ships. Catches security issues, duplicate logic, missing error handling, and AI vibe-coding patterns.

VibeScan v0.1.0  Scanned 23 files

  CRITICAL  SECURITY     src/api/users.ts:45      SQL injection — string concat in query
  CRITICAL  SECURITY     src/utils/auth.ts:12     Hardcoded secret — password = "admin123"
  WARNING   ERRORS       src/hooks/useData.ts:15  async function missing try/catch
  WARNING   DUPLICATE    src/api/posts.ts:23      Exact duplicate of src/api/comments.ts:67
  INFO      AI-PATTERN   src/components/Card.tsx  Over-verbose comment pattern detected

  5 issues  2 critical · 1 warning · 2 info  in 340ms

Install

npm install -g vibescan
# or use without installing:
npx vibescan .

Usage

vibescan .                    # scan current directory
vibescan src/                 # scan specific folder
vibescan --diff               # scan git diff (staged + unstaged)
vibescan --diff HEAD~1        # scan last commit's changes
vibescan --json               # JSON output for CI pipelines
vibescan --severity critical  # only show critical issues
vibescan --no-patterns        # disable AI pattern detector
vibescan --no-duplicates      # disable duplicate detector
vibescan --no-security        # disable security checks
vibescan --no-errors          # disable error handling checks

Exit Codes

| Code | Meaning | |------|---------| | 0 | No issues found | | 1 | Issues found (warnings/info only) | | 2 | Critical issues found |

Detectors

SECURITY — OWASP Top 10

  • SQL injection via string concatenation or template literals
  • Hardcoded passwords, API keys, tokens, secrets
  • XSS via innerHTML assignment or dangerouslySetInnerHTML
  • Command injection via exec/spawn with string concat
  • NoSQL injection from raw request body in queries
  • Path traversal via user input in file paths
  • HTTP instead of HTTPS in fetch/axios calls
  • Route handlers without auth middleware

ERROR_HANDLING

  • async functions without try/catch
  • .then() without .catch()
  • fetch() without error handling
  • fs sync operations outside try/catch
  • JSON.parse() outside try/catch

DUPLICATE

  • Exact duplicate function bodies (hash-based)
  • Near-duplicate functions >80% similar (Jaccard token similarity)

AI_PATTERN

  • Over-verbose comments that restate what code does
  • Generic variable names (data, result, temp, response)
  • AI-generated TODO leftovers
  • Mixed camelCase + snake_case naming
  • Unexplained magic numbers

CI Integration

Add to your CI pipeline:

# GitHub Actions
- name: VibeScan
  run: npx vibescan --diff ${{ github.event.before }} --severity warning --json > vibescan.json
# Pre-push hook
npx vibescan --diff HEAD~1 --severity critical

Roadmap

  • [ ] GitHub Action wrapper
  • [ ] VS Code extension
  • [ ] AST-based detection (v2, fewer false positives)
  • [ ] Custom rule configuration (.vibescanrc)
  • [ ] Baseline mode (ignore existing issues, only flag new ones)
  • [ ] Python + Go support

License

MIT