En undersøgelse viste, at AI-genereret kode er 1,7x mere tilbøjelig til at have større problemer og 2,74x mere tilbøjelig til sikkerhedssårbarheder end menneskeskrevet kode. Hvis du har bygget noget med Cursor, Claude Code eller GitHub Copilot, har dit projekt sandsynligvis mindst ét af de fem mest almindelige sikkerhedshul. Her er hvad de er, og hvordan du finder dem.

Hurtige fakta
  • 45% af AI-genereret kode indeholder mindst én sikkerhedssårbarhed
  • 1,7x mere tilbøjelig til at have større problemer sammenlignet med menneskeskrevet kode
  • 2,74x mere tilbøjelig til sikkerhedssårbarheder specifikt
  • Mest almindelige: Hardkodede API-nøgler, manglende inputvalidering, ingen row-level sikkerhed
  • Tid til revision: 2-3 timer for et typisk vibe-kodet projekt
  • Sidst verificeret: April 2026

Hvorfor AI-kode er sårbar

AI-kodningsværktøjer optimerer for "virker det?" ikke "er det sikkert?" Når du beder Cursor om at "tilføje brugerauthentificering," genererer det kode, der godkender brugere. Det tilføjer ikke automatisk rate limiting, inputrensning, CSRF-beskyttelse eller sikker sessionsstyring — fordi du ikke bad om disse ting.

AI'en skriver præcis det, du beskriver. Sikkerhed kræver, at du beskriver ting, du ikke naturligt tænker på — edgecases, ondsindet input, uautoriseret adgang. Hvis det ikke er i dit prompt, er det ikke i din kode.

De 5 mest almindelige sårbarheder

1. API-nøgler hardkodet i frontend-kode. AI placerer ofte API-nøgler direkte i JavaScript på klientsiden eller React-komponenter. Enhver kan åbne browser DevTools og se dem. Fix: Flyt alle nøgler til miljøvariabler (.env-filer) og få adgang til dem kun på serversiden. Tid: 15 minutter.

2. Ingen row-level sikkerhed på databaser. Hvis du bruger Supabase (almindelig i vibe-kodning), giver AI-genereret kode ofte hver godkendt bruger adgang til hver anden brugers data. Fix: Aktivér Row Level Security og tilføj per-bruger-politikker. Tid: 30 minutter.

3. Ingen serverside inputvalidering. Formularer accepterer hvad som helst — scripts, overstyrede payloads, SQL-injektionsforsøg. AI'en tilføjer klientside-validering (som brugere kan omgå) men springer serverside-validering over. Fix: Tilføj Zod-skemaer eller lignende validering på hvert API-endpoint. Tid: 30 minutter pr. endpoint.

4. Ingen rate limiting. Enhver kan slå dit API 1.000 gange pr. sekund. Ingen throttling, ingen beskyttelse mod misbrug. Fix: Tilføj rate limiting gennem Upstash Redis eller lignende. Tid: 20 minutter.

5. Ubeskyttede ruter. Dashboard-sider, admin-paneler og brugerdata-endpoints indlæses uden at kontrollere, om brugeren er logget ind. Fix: Tilføj authentificeringsmiddleware til hver beskyttet rute. Tid: 15 minutter.

Får du værdi af dette? Vi publicerer sikkerhedsvejledninger til AI-byggede projekter ugentligt. Bliv med læsere, der bygger sikkert →

Sådan reviderer du dit projekt

Gå igennem denne checklist for ethvert projekt bygget med AI-kodningsværktøjer:

Søg i hele din kodebase efter hardkodede nøgler. Kør: grep -r "sk-" . && grep -r "api_key" . && grep -r "secret" . i din projektmappe. Eventuelle matches i frontend-filer er kritiske sårbarheder.

Kontroller hvert API-endpoint for inputvalidering. Åbn hver API-rutefil. Hvis den direkte bruger req.body uden validering, er den sårbar.

Verificer databasesikkerhed. Hvis du bruger Supabase, checkAuthentification → Policies-fanen. Hvis der ikke er RLS-politikker, kan hver bruger se enhver anden brugers data.

Test authentificering på hver side. Åbn din browser i inkognito-tilstand (ikke logget ind) og naviger til hver side i din app. Hvis nogen dashboard- eller brugerspecifik side indlæses, er denne rute ubeskyttet.

Kontroller for rate limiting. Prøv at ramme dit API-endpoint 100 gange i hurtig rækkefølge ved hjælp af et simpelt script. Hvis alle 100 lykkes, har du ingen rate limiting.

For en komplet sikkerhedschecklist, se vores fuldstændige vejledning til sikring af vibe-kodede apps. For de mest almindelige fejl og deres løsninger, læs 5 sikkerhedsfejl, som hver vibe-coder begår.

Tankeskiftet

AI skriver kode, der virker. Du skal sikre, at koden er sikker. Dette er to forskellige færdigheder. Hvert prompt til et AI-kodningsværktøj skal omfatte sikkerhedskrav sammen med funktionelle krav. "Tilføj brugerauthentificering med rate limiting, inputvalidering og beskyttede ruter" producerer dramatisk sikrere kode end "tilføj brugerauthentificering."

Vores Prompt Optimizer kan hjælpe dig med at tilføje disse sikkerhedsspecifikationer til ethvert kodningsprompt automatisk.

Dette er hvad vi gør hver uge. En grundig analyse af AI-værktøjer, arbejdsgange og ærlinge meninger — uden hyype, uden fyld. Bliv med os →

Oplysning: Nogle links i denne artikel er affiliate-links. Vi anbefaler kun værktøjer, vi personligt har testet og bruger regelmæssigt. Se vores fuldstændige oplysingspolitik.