Secrets
Environment files, provider tokens, database URLs, private keys, and public client variables.
A working AI-built app can still commit a live credential, trust the browser with an admin key, skip tenant isolation, or give a deployment workflow more access than it needs. Scan the repository and the public app as two separate attack surfaces.
Five boundaries to verify
Research on AI-generated code has found that functional success does not guarantee security. The useful response is a repeatable review at the places where authority changes hands.
Environment files, provider tokens, database URLs, private keys, and public client variables.
Server routes and database rules that must separate users, roles, and tenants after login.
Supabase RLS, service-role placement, exposed tables, storage policies, and administrative clients.
GitHub Actions permissions, untrusted pull requests, mutable actions, and deployment secrets.
TLS, headers, cookies, exposed files, source maps, redirects, CORS, and browser-facing behavior.
A safer shipping loop
A production scan cannot see a private workflow file. A repository scan cannot prove that a CDN serves the right security headers. Use both.
Scan the repository. Rotate any committed secret before doing anything else.
Review workflow permissions, database migrations, and new server authorization paths.
Scan the live URL for TLS, headers, cookies, exposed files, source maps, and redirects.
Run a clean scan again. A deleted finding is evidence that the fix reached the public surface.
Practical security guides
Rotate it, remove it from history, and stop the next leak before push.
Read the guideReduce token permissions and keep untrusted pull request code away from secrets.
Read the guideVerify RLS, key placement, policies, storage, and server-side admin access.
Read the guideVibe coding security FAQ
AI-assisted code is not automatically insecure. The risk appears when generated code is accepted without reviewing secrets, authorization, database access, workflows, dependencies, and production behavior. Treat generated code as unreviewed code and verify its security boundaries before release.
Only if the file is also publicly deployed. The current ScanMySaaS repository scanner checks security-relevant files in the repository's current tree. GitHub secret scanning should remain enabled because it can also detect supported secrets in Git history, issues, pull requests, discussions, and wikis.
No. ScanMySaaS reads a bounded set of security-relevant text files from a public GitHub repository. It does not clone, install dependencies, run builds, or execute repository code.
Use a GitHub App with access limited to selected repositories and read-only metadata and contents permissions. Private repository support is planned for ScanMySaaS after the public read-only scanner is validated.
Research and primary guidance