Slik får du AI-agenter til å oppføre seg med Git Hooks
Slik tetter du sikkerhetshullet rundt AI-agenter med Git Hooks
De fleste som jobber med AI-agenter i utviklingsflyter, har hørt den samme bekymringen: Hva hindrer agenten i å bare åpne en shell og kjøre kommandoer direkte?
Spørsmålet er relevant. MCP-servere gir deg kontroll over hva agenten får lov til, men så snart den har shell-tilgang, blir de vanlige restriksjonene lett å omgå.
Hvorfor MCP alene ikke holder
MCP-laget lar deg definere tillatte kommandoer og blokkere farlige mønstre. Men en smart agent som oppdager begrensningene, kan ganske enkelt hoppe over hele laget. Den starter en subprocess og kjører kommandoen direkte – uten at MCP-en får vite noe.
Det betyr at en force-push til main eller andre risikable operasjoner kan skje uten at noen policy fanger det opp.
Git Hooks som reell beskyttelse
Shield v0.7.0 introduserer en enkel, men effektiv løsning: git hooks som håndhever policyene dine direkte i Git.
Hooksene kjører på Git-nivå, uavhengig av hvordan agenten prøver å utføre handlingen. Selv om den omgår MCP og kjører kommandoer direkte, blir operasjonen stoppet før den når frem.
Hva er nytt
Nye pre-commit, pre-push og prepare-commit-msg hooks jobber sammen med din eksisterende MCP-konfigurasjon. De bruker samme policy-språk, så du slipper å lære noe nytt eller endre konfigurasjonen.
Installasjonen er kort:
pip install --upgrade aperion-shield
shield install-git-hooks
Etter det er repoet ditt beskyttet.
Samme regler – overalt
Fordelen er at du definerer reglene én gang. Enten agenten går via MCP eller prøver å kjøre kommandoer direkte, gjelder de samme begrensningene. Du får fornuftige standardinnstillinger (ingen force-push, ingen rm -rf utenfor prosjektmappen), men kan overstyre dem via ~/.shield/config.yaml eller .shield.yaml i repoet.
Oversikt over blokkerte forsøk
Alle forsøk som stoppes, logges til ~/.shield/logs/git-hooks.log. Der finner du tidspunkt, hvilken kommando som ble forsøkt, og hvilket repo det gjaldt. Det gir deg innsikt i hvordan agentene oppfører seg – og mulighet til å justere policyene etter behov.
Hva betyr dette for deg
Hvis du kjører AI-agenter i CI/CD, eller bruker dem til kodegjennomganger og deploy, endrer dette trusselbildet. Du trenger ikke lenger stole på at agenten følger reglene – reglene håndheves på systemnivå.
For utviklere betyr det mindre usikkerhet. For DevOps-team er det et ekstra lag i forsvaret, uten at du må bygge om hele infrastrukturen.
Kompatibilitet
Løsningen støtter macOS, Linux og WSL. Den krever Git 2.30 eller nyere, og fungerer sammen med eksisterende MCP-oppsett uten bruddendringer.
Dokumentasjonen inneholder blant annet et eksempel på et angrep der en agent prøver å omgå restriksjonene, pluss vanlige policy-konfigurasjoner.
Hvorfor dette er viktig
Med v0.7.0 blir gapet mellom hva vi ønsker at AI-agenter skal kunne gjøre, og hva vi faktisk kan kontrollere, mindre. Git hooks er allerede en del av utviklerens verktøykasse – nå kan de også håndheve policyer. Det gir en naturlig utvidelse av eksisterende arbeidsflyter, uten ny kompleksitet.
Hvis du har vært usikker på å bruke AI-agenter i sensitive miljøer, er dette en oppdatering verdt å se nærmere på.