Fairy

Resources

What human experts actually catch in AI-generated code — and how to ship it safely.

How to Avoid: Missing null/empty handling

August 11, 2026 · 8-minute read · Failure mode

Learn why AI code skips null checks, how to detect missing empty handling, and the correct patterns to prevent crashes in production.

How to Avoid: External Call Without Timeout

August 10, 2026 · 9-minute read · Failure mode

Learn why AI generates HTTP calls without timeouts, how to detect hanging requests, and the correct AbortController pattern for production code.

How to Avoid: Supabase Table Without RLS

August 9, 2026 · 8-minute read · Failure mode

Learn why AI generates Supabase tables without RLS, how to detect this critical flaw, and the correct pattern to secure your database.

How to Avoid: SSRF via User-Controlled URL

August 6, 2026 · 8-minute read · Failure mode

Learn why AI generates SSRF vulnerabilities via user-controlled URLs and how to implement allowlists and IP blocking to prevent server-side request forgery.

How to Avoid: SQL Built by String Interpolation

August 5, 2026 · 8-minute read · Failure mode

Learn why AI generates SQL with string interpolation, how to detect it, and the correct parameterized query pattern to prevent injection attacks.

How to Avoid: Secret behind NEXT_PUBLIC_

August 2, 2026 · 6-minute read · Failure mode

Learn why AI generates NEXT_PUBLIC_ secrets, how to detect them, and the correct pattern to keep API keys server-side in Next.js.

How to Avoid: Passwords Stored Without a KDF

August 1, 2026 · 8-minute read · Failure mode

Learn why AI generates weak password storage and how to fix it. Detect MD5/SHA1 hashes and implement bcrypt, argon2, or scrypt correctly.

How to Avoid: OAuth State Not Validated

July 31, 2026 · 8-minute read · Failure mode

Learn why AI code skips OAuth state validation, how to detect login CSRF vulnerabilities, and the correct pattern for secure OAuth callbacks.

How to Avoid: N+1 Query in a Loop

July 30, 2026 · 7-minute read · Failure mode

Learn why AI generates N+1 query bugs in loops and how to detect and fix them with batching, joins, and eager loading patterns.

How to Avoid: JWT Signed Without Expiration

July 21, 2026 · 8-minute read · Failure mode

Learn why AI generates JWTs without expiration, how to detect this critical auth bug, and the correct pattern to prevent forever-valid tokens.

How to Avoid: Secrets Hardcoded in Source

July 19, 2026 · 6-minute read · Failure mode

Learn why AI hardcodes API keys and secrets in source code, how to detect exposed credentials, and the correct pattern using environment variables.

How to Avoid: Floating Point Used for Money

July 17, 2026 · 7-minute read · Failure mode

Learn why AI generates floating point money bugs, how to detect them, and the correct integer cents pattern to prevent rounding drift in production.

How to Avoid: CORS Wildcard with Credentials

July 15, 2026 · 7-minute read · Failure mode

Learn why AI generates CORS wildcard with credentials errors and how to fix them. Prevent this common network security flaw in production code.

How to Avoid: Container Runs as Root

July 14, 2026 · 9-minute read · Failure mode

Learn why AI generates containers that run as root, how to detect this security flaw, and the correct non-root USER pattern for production.

How to Avoid: Async without Error Handling

July 12, 2026 · 8-minute read · Failure mode

Learn why AI generates async code without try/catch, how unhandled rejections crash production, and the correct patterns to fix them.