Læs mere om Udvikling

Kritisk sårbarheder i AI-agenter som Claude Code & Gemini CLI

Automatiserede AI-kodeagenter som Claude Code, Gemini CLI og OpenAI Codex har på kort tid revolutioneret den måde, softwareudviklere arbejder på. Ved at integrere disse værktøjer direkte i udviklingsmiljøer og CI/CD-pipelines (Continuous Integration/Continuous Deployment) har virksomheder opnået markante hastighedsfordele.

Men den udbredte brug af AI i udviklingsflowet bringer nye, kritiske sikkerhedsrisici med sig.

Ved den seneste Black Hat-konference blev der afsløret alvorlige sårbarheder i flere af de mest populære AI-kodeagenter. Undersøgelser viser, hvordan skadelige aktører kan udnytte helt almindelige input – såsom et ubehandlet GitHub-issue – til at udføre fjernkode (Remote Code Execution / RCE), stjæle adgangsoplysninger og kompromittere hele softwareudviklingskæden (supply chain).

I denne artikel gennemgår vi de tekniske fund, konsekvenserne for danske IT-organisationer og de konkrete tiltag, i bør iværksætte med det samme for at beskytte jeres kildekode.

Hvad blev afsløret på black hat?

Sikkerhedsforskere demonstrede på Black Hat, hvordan standardkonfigurationer af førende AI-agenter kan manipuleret til at køre uautoriseret kode direkte i udviklernes miljøer eller på CI/CD-servere.

Særligt bemærkelsesværdigt var et fund vedrørende Googles Gemini CLI, som modtog den højest mulige kritikalitetsvurdering: CVSS 10.0.

Mekanismen bag angrebet: Indirekte prompt injection

Kernen i sårbarhederne ligger i måden, hvorpå AI-agenter behandler eksterne data uden tilstrækkelig validering. Dette kaldes i sikkerhedsverdenen for Indirect Prompt Injection.

Forløbet i et typisk angreb ser således ud:

  1. Injektion: En angriber opretter et offentligt GitHub-issue, en PR (Pull Request) eller en kommentar, som indeholder skjulte instrukser formuleret som naturligt sprog eller skjult kildekode.

  2. Aflæsning: AI-kodedev-agenten, der er sat til automatisk at gennemgå indkomne opgaver eller fejlrapporter, læser teksten.

  3. Execution: Agenten fortolker den skadelige instruktion som en legitim opgave og udfører kommandoer i lokalmiljøet – eksempelvis ved at afvikle terminalkommandoer, hente eksterne scripts eller læse miljøvariabler.

  4. Kompromittering: Angriberen opnår adgang til følsomme API-nøgler, SSH-nøgler eller direkte adgang til at indsætte bagdøre i produktionskoden.

Dette betyder i praksis, at en udefrakommende person uden adgang til jeres repositorier kan få afviklet kode på jeres interne servere blot ved at indsende en tekstbesked.

Hvorfor er risikoprofilen så høj for CI/CD-workflows?

Mange udviklingsteam har integreret AI-agenter direkte i deres automatiserede bygge- og testprocesser. Når en agent har læse- og skriveadgang til et repository samt adgang til hemmeligheder (secrets) i CI/CD-pipelinen, bliver den en oplagt indgangsvinkel for angribere.

Konsekvenserne af et succesfuldt angreb omfatter:

  • Læk af fortrolige oplysninger: Lækage af API-nøgler, databasestrenge og cloud-adgangskoder.

  • Supply Chain-angreb: Indsættelse af skadelig kode i software, der opdateres hos jeres slutkunder.

  • Uautoriseret adgang: Fuld kontrol over udviklerarbejdsstationer og byggeinfrastruktur.

Hvilke systemer er berørt, og hvad skal I gøre nu?

Sikkerhedsrettelser (patches) er blevet frigivet af leverandørerne, og det er afgørende, at alle organisationer opdaterer deres værktøjer øjeblikkeligt.

Relevante opdateringer

  • Claude Code: Opdater til version 2.1.163 eller nyere.

  • Gemini CLI: Opdater til version 0.39.1 eller nyere.

  • OpenAI Codex / relaterede workflows: Gennemgå rettelsesnoter fra leverandøren og opdater lokale integrationsagenter.

4 trin til at fremtidssikre jeres AI-integrerede udviklingsmiljø

Opdatering af software er kun det første skridt. For at beskytte jeres organisation mod fremtidige zero-day sårbarheder i AI-værktøjer bør I implementere følgende sikkerhedsprincipper:

1. Anvend princippet om mindste privilege (Least Privilege)

Giv aldrig en AI-agent flere adgange, end den reelt har brug for. En agent, der skal analysere kode, bør ikke have skriveadgang til produktions-branches eller adgang til produktionsnøgler.

2. Isoler AI-kørsel i sandkasser (Sandboxing)

Kør altid AI-agenter i isolerede containere eller virtuelle miljøer med begrænset netværksadgang. Herved forhindres en agent i at tilgå det lokale netværk eller læse følsomme filer fra udviklerens maskine, hvis den bliver kompromitteret.

3. Implementer “Human-in-the-Loop”

Lad aldrig en AI-agent udføre ændringer i kildekoden eller køre systemkommandoer uden eksplicit godkendelse fra en menneskelig udvikler. Automatisk fletning (auto-merging) af AI-genererede PR’er bør undgås i kritiske repositorier.

4. Valider og saniter usikre input

Behandl alle eksterne data – herunder GitHub issues, brugerfeedback og tredjepartsbiblioteker – som potentielt skadelige. AI-modeller skal ikke have direkte ufiltreret adgang til at behandler uverificerede input i automatiserede miljøer.

Konklusion: Balance mellem innovation og cybersikkerhed

AI-drevne udviklingsværktøjer giver ubestridelige konkurrencefordele i form af øget effektivitet og hurtigere eksekvering. Men som de seneste fund demonstrerer, åbner automatiseringen også op for nye angrebsflader, hvis sikkerheden ikke tænkes ind fra starten.

Hos Dominant rådgiver vi virksomheder om digital transformation, IT-strategi og cybersikkerhed. Ved at kombinere moderne teknologi med stærke sikkerhedsprincipper kan jeres virksomhed udnytte AI-potentialet uden at gå på kompromis med datasikkerheden.

Har i brug for en gennemgang af jeres IT-infrastruktur eller rådgivning om sikker brug af AI i udviklingsafdelingen?
Book et uforpligtende møde til en dialog om jeres sikkerhed.

Kilder:
https://github.com/advisories/GHSA-jj69-4grx-fqj5
https://thehackernews.com/2026/08/claude-code-and-gemini-cli-flaws-let.html

Del opslag

Jesper Pedersen
CDO & Co-founder

Casper Thomsen
CTO & Co-founder

Flere artikler, samme retning

Microsofts største opdatering: 970 sårbarheder & AI-trusler

Cloudflare: Bots står nu for 57% af alle webrequests

Webdesign

Figma åbner for Community Publishing af Shaders og Plugins

Udvikling

PhpStorm 2026.2 update: Laravel-værktøjslinje & opdateringer

Udvikling

Elementor Pro sårbarhed: Beskyt din WordPress hjemmeside

LinkedIn AI Slop: Overfladisk AI-indhold dræber din rækkevidde

Udvikling

GitHub Copilot fjerner AI-modeller starter fra 2. oktober

EU AI Act & AI-vandmærker: Hvad det betyder for din SEO?

Google tillader personaliserede alkoholannoncer på YouTube

AI overtager menneskers arbejde – Bill Gates vil indføre AI-skat

Reddit lancerer 15-sekunders Engaged Video Views til annoncører

AI eksploderer i dansk erhvervsliv: Fra 15% til 42% på to år

OpenAI, Google & Anthropic advarer: Flere AI-angreb er på vej

ChatGPT Ads omsætter for 6,4 milliarder kr. & er åbnet i Europa

EU dropper Chat Control: Hvad betyder det for virksomheder?

Google lemper Parasite SEO i EU: Sådan ændres Googles spamregler

Gemini Omni i Google Ads: Guide til AI-videogenerering

Webdesign

Figma Pop-out Agent Chat: AI-workflows for designere & bureauer

X Ads MCP: Fremtidens AI-styrede annoncering på X (Guide)

Google Ads API v25.1: Nye funktioner & fordele for din virksomhed

Webdesign

Figma opdaterer Auto Layout: Responsive CSS-spacing funktioner

Udvikling

NativePHP v4 & Laravel AI: Skab iOS/Android apps og AI i PHP

Udvikling

Laravel 13.26: Read-Through Disks & Queue-funktioner forklaret

ChatGPT Ads lander i Danmark: Udnyt OpenAIs nye annonceplatform

Google AI Max for Search: Auto-Upgrade starter 1. september 2026

ChatGPT Annoncer i Europa: Hvad betyder det for dansk marketing

Udvikling

Laravel update: Global queue pausing & ny artisan dev terminal UI

Fitts’s Law: Hvad er det & hvorfor øger det konverteringer?

Generativ AI i bureauverdenen: Hvad er juniorernes nye rolle?

Reinforcement i UX: Sådan former du brugeradfærd med forstærkning

Digital Personalisering – Skab relevans & højere konvertering

Scarcity i UX & konverteringsoptimering – Guide til adfærdsdesign

WCAG 3.0 Guide: Fremtidens digitale tilgængelighed og UX

Udvikling

Sikkerhed i AI-drevet softwareudvikling: Undgå security debt

Udvikling

TypeScript 7.0: Lynhurtig Performance update med ny Go-compiler

Social Proof & Social Influence: Sådan øger du konverteringer

Choice Architecture i UX: Sådan designer du bedre digitale valg

Webdesign

Adobe ChatGPT Plugin: 70+ kreative værktøjer direkte i chatten

Nudging i digitalt design: Guide til adfærdsdesign & CRO

Progressive Disclosure: Tæm kompleksitet & øg konvertering

Udvikling

Kritisk sårbarheder i AI-agenter som Claude Code & Gemini CLI

Snapchat Ads MCP Server: AI-drevet annoncering på Snapchat

Webdesign

Figma update: Nested folders, farver & mapperettigheder

Google Ads Smart Bidding update 2026: Budgetlofter (tCPA & tROAS)

Udvikling

Laravel lancerer officiel Language Server (LSP) til IDE’er

Cloud- og SaaS-miljøer er hackers nye hovedmål: Beskyt dit firma

Digital tilgængelighed og WCAG: Guide til tilgængelighedsloven

Udvikling

Cloudflare Connect: AI-agenter og fremtidens agentic web

Er procesoptimering vigtig? Højere effektivitet, færre ressourcer

Hvad er visuel identitet? Logo, farver, design & brand forklaret

LinkedIn bekæmper AI-slop: Hvad det betyder for din B2B-strategi

Anthropic lancerer Claude Opus 5 – Pris, funktioner & betydning

Google AI Overview vises i 43-48% af søgningerne i 2026

Hvad er konverteringsoptimering (CRO)? Guide til mere salg

Hvad er SaaS? En komplet guide til Software as a Service

Branding i 2026: Guide til Brand Strategy og Identitet

Webtilgængelighed og EAA: Sådan sikrer du WCAG 2.2 AA i 2026

2 leverandører på ét projekt? Undgå fælden ved fælles fakturering

Automatisk SEO opslag på WordPress med AI: Komplets guide (2026)

Udvikling

Hvorfor PHP og Laravel er det foretrukne valg i 2026

SEO Pris i 2026: Hvad koster søgemaskineoptimering?

Meta Location Fees i Europa Hvad det betyder for dit ad spend?

Udvikling

OpenAI Codex Security CLI: Styrk din kodesikkerhed med AI

Webdesign

Figma opdaterer Auto Layout: Tættere på CSS end nogensinde før

Book et møde

Hvornår?

Vælg dato