Secrets and env boundaries
Flags private-looking keys, public frontend env names that look sensitive, service-role references, and local environment-file hygiene issues.
Free npm scanner
A defensive static scanner for JavaScript, TypeScript, AI-app, and MCP-server repos built with Lovable, Bolt, Replit, Cursor, v0, Base44, Supabase, Firebase, Stripe, and AI APIs.
Install
npx --yes shipcheck-cli .
npx --yes shipcheck-cli . --format markdown > shipcheck-report.md
npx --yes shipcheck-cli . --format sarif > shipcheck.sarif
npx --yes --package shipcheck-mcp shipcheck-mcp
- uses: TateLyman/shipcheck-action@v1
with:
format: sarif
output: shipcheck.sarif
fail-on: medium
strict: true
See the demo repo code scanning alerts for a small AI-app fixture.
Checks
Flags private-looking keys, public frontend env names that look sensitive, service-role references, and local environment-file hygiene issues.
Looks for Stripe webhook handlers without visible signature verification and highlights payment paths that need a human review before launch.
Checks for Firebase rules and Supabase RLS policy evidence so a generated app does not quietly ship with weak data boundaries.
Finds routes and files that look like debug, seed, reset, mock, or test shortcuts before they become production exposure.
Warns when repos use AI APIs without obvious rate limits, quotas, throttling, or usage controls around expensive calls.
Catches missing CI, missing lockfiles, missing README depth, risky scripts, loose dependency versions, and TypeScript config gaps.
Exports SARIF so teams can upload Shipcheck findings into GitHub code scanning instead of leaving them buried in a CI log.
Runs as an MCP server so AI coding agents can scan authorized local repos and return text, Markdown, JSON, or SARIF reports.
Flags missing mcpName, missing server.json, unpinned MCP registry versions, absent install config, and unclear tool-safety notes.
Why now
The Cloud Security Alliance published a 2026 research note on AI-generated code security and vibe coding risks.
Cloud Security Alliance noteRecent research on exposed API credentials found web-specific exposure vectors, including JavaScript-originated leaks.
Keys on Doormats paperAcademic work is already proposing security gate frameworks specifically for AI-generated code.
VibeGuard paperWhen the scan finds something
Run Shipcheck, export markdown, and feed the findings back into your coding workflow with the remediation notes.
Send the repo or report for a human pass across auth, data rules, env boundaries, Stripe, deploy config, and the first paid user flow.
Pay after scope confirmationFix the highest-value blocker first: exposed config, payment webhook issue, deploy failure, database rule gap, or broken production flow.
Defensive use only