En undersøgelse viste, at AI-genereret kode er 1,7x mere tilbøjelig til at have større problemer og 2,74x mere modtagelig for sikkerhedssårbarheder end menneske-skrevet 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.
- 45% af AI-genereret kode indeholder mindst én sikkerhedssårbarhed
- 1,7x mere tilbøjelig til at have større problemer mod menneske-skrevet kode
- 2,74x mere modtagelig for sikkerhedssårbarheder specifikt
- Mest almindelig: Hardcodede API-nøgler, manglende inputvalidering, ingen row-level sikkerhed
- Tid til revision: 2-3 timer for et typisk vibe-kodet projekt
- Sidst bekræftet: 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 brugerautentificering," genererer det kode, der autentificerer brugere. Det tilføjer ikke automatisk hastighedsbegrænsning, input-sanering, CSRF-beskyttelse eller sikker sessionsstyring — fordi du ikke bad om disse ting.
AI skriver præcis hvad du beskriver. Sikkerhed kræver at beskrive ting, du ikke naturligt tænker på — edge cases, ondartede inputs, uautoriserede adgangsmønstre. 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 klient-side JavaScript eller React-komponenter. Alle kan åbne browser DevTools og se dem. Løsning: Flyt alle nøgler til miljøvariabler (.env-filer) og få adgang til dem kun server-side. Tid: 15 minutter.
2. Ingen row-level sikkerhed på databaser. Hvis du bruger Supabase (almindeligt i vibe coding), giver AI-genereret kode ofte hver autentificeret bruger adgang til enhver anden brugers data. Løsning: Aktivér Row Level Security og tilføj per-bruger-politikker. Tid: 30 minutter.
3. Ingen server-side inputvalidering. Formularer accepterer alt — scripts, oversized payloads, SQL-injektionsforsøg. AI tilføjer klient-side validering (som brugere kan omgå) men springer server-side validering over. Løsning: Tilføj Zod-skemaer eller lignende validering på hvert API-endpoint. Tid: 30 minutter per endpoint.
4. Ingen hastighedsbegrænsning. Alle kan ramme dit API 1.000 gange pr. sekund. Ingen throttling, ingen beskyttelse mod misbrug. Løsning: Tilføj hastighedsbegrænsning gennem Upstash Redis eller lignende. Tid: 20 minutter.
5. Ubeskytt ruter. Dashboard-sider, admin-paneler og brugerdata-endpoints indlæses uden at kontrollere, om brugeren er logget ind. Løsning: Tilføj autentificerings-middleware til hver beskyttet rute. Tid: 15 minutter.
Får du værdi ud af dette? Vi udgiver sikkerhedsvejledninger til AI-byggede projekter ugentligt. Slut dig til læsere, der bygger sikkert →
Sådan reviderer du dit projekt
Gennemgå denne tjekliste for ethvert projekt bygget med AI-kodningsværktøjer:
Søg i hele din kodebase efter hardcodede nøgler. Kør: grep -r "sk-" . && grep -r "api_key" . && grep -r "secret" . i din projektmappe. Alle 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.
Bekræft databasesikkerhed. Hvis du bruger Supabase, tjek Authentication → Policies-fanen. Hvis der ikke er RLS-politikker, kan enhver bruger se enhver anden brugers data.
Test autentificering på hver side. Åbn din browser i privatindstillingen (ikke logget ind) og naviger til hver side i din app. Hvis nogen dashboard eller bruger-specifik side indlæses, er den rute ubeskyttet.
Kontroller for hastighedsbegrænsning. Prøv at ramme dit API-endpoint 100 gange i hurtig rækkefølge ved hjælp af et simpelt script. Hvis alle 100 succeeds, har du ingen hastighedsbegrænsning.
For en komplet sikkerhedstjekliste, 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 enhver vibe-koder begår.
Tankegangsændringen
AI skriver kode, der virker. Du skal sikre, at koden er sikker. Disse er to forskellige færdigheder. Hvert prompt til et AI-kodningsværktøj bør inkludere sikkerhedskrav sammen med funktionelle krav. "Tilføj brugerautentificering med hastighedsbegrænsning, inputvalidering og beskyttede ruter" producerer dramatisk mere sikker kode end "tilføj brugerautentificering."
Vores Prompt Optimizer kan hjælpe dig med at tilføje disse sikkerhedsspecifikationer til ethvert kodeprompt automatisk.
Dette er hvad vi gør hver uge. Et dybdegående dyk ned i AI-værktøjer, arbejdsprocesser og ærlige holdninger — uden hype, uden fyld. Slut dig til os →
Oplysning: Nogle links i denne artikel er affiliatelinks. Vi anbefaler kun værktøjer, vi har testet personligt og bruger regelmæssigt. Se vores fuldstændige offentliggørelsespolitik.