Ba Claude finne hull i koden deres. Det fant den
Sercan Leylek fikk utviklerne i Fremtind til å slippe Claude løs på kodebasene deres, med en «ClaudeHack Workshop».
«Smak din egen medisin» er et av mine favorittuttrykk på norsk.
Jeg bruker det vanligvis når jeg spiller COD Multiplayer Online, men uttrykket kan også være nyttig når utviklere skal finne ut hvordan de bør jobbe med sikkerhet.
Hvis angriperne bruker KI til å hacke systemene, må utviklerne bruke KI til å avdekke og tette sikkerhetshullene som et motsvar.
ClaudeHack Workshop
Selv om vi i Fremtind jobber kontinuerlig med sikkerhet, er det fortsatt viktig at vi er årvåkne på applikasjonsnivå.
En av de store sakene forrige uke var NSMs advarsel om cybersikkerhet. Direktoratet hevet risikonivået til det nest høyeste nivået (HØYT). I dagene før NSMs kunngjøring holdt Php2Shell mange utviklere våkne om natten. Sist, men ikke minst, ble UiT angrepet av en aktør med store ressurser.
Alle disse ferske hendelsene er et tydelig signal til mange utviklere: Vi må jobbe mer proaktivt med sikkerhetssårbarhetene våre, for et sikkert system krever mer enn å rette opp varsler fra Dependabot.
For å bli mer proaktive i arbeidet med sikkerhetsutfordringer, arrangerte vi en workshop for teamet mitt:
Som på mange andre arbeidsplasser er Claude også et hot topic blant utviklerne våre. Derfor bestemte vi oss for å hacke repoene våre med Claude, og kalte aktiviteten «ClaudeHack Workshop».
Her er en oppsummering av planen vår:
#1: Opprett én epic per repo
#2: Finne svakhetene. 🔍
Fordel deler av repoet mellom utviklerne
Prompt Claude å finne sårbarhetene 🤖
Brenn gjerne opp hele kvoten 💸
#4: Opprett så mange Jira-saker som mulig
#5: Prioriter oppgavene. 📈
Høy sannsynlighet og stort skadepotensial => HØY
Beste praksis => MIDDELS
Lav sannsynlighet eller vedlikeholdsarbeid => LAV
#6: Fiks sikkerhetshullene. 🛠️
Vi klarte ikke å bruke mer enn en liten del av kvoten på én dag, blant annet på grunn av den kognitive belastningen.
Eksempler på prompter
Først fokuserte vi på å finne så mange svakheter som mulig. Derfor fordelte vi deler av kodebasene mellom utviklerne.
De fleste frontend-repoer har for eksempel noen av disse mappenavnene under ./src: api, components, hooks, pages, utilities osv. Vi fordelte disse mappene mellom utviklerne slik at de kunne sikkerhetsskannes. Alle gikk gjennom sin tildelte del av kodebasen. Backend-utviklerne kan naturligvis gjøre det samme i sine egne kodebaser.
Siden dette var første gang vi arrangerte ClaudeHack Workshop, var de første promptene våre ganske eksperimentelle. Her er noen eksempler du kan prøve på din egen kodebase, om du er nysgjerrig:
Skann kodebasen min og list opp de tre viktigste sikkerhetshullene. Hvis du var en hacker, hvordan ville du forsøkt å hacke kodebasen min?
Jeg vil finne potensielle sikkerhetsproblemer i kodebasen min. Skann filene i mappen ./src/utilities/ og list opp maksimalt 5 sikkerhetsforbedringer for disse filene.
Har vi noen sikkerhetssårbarheter i index.html?
Kognitivt belastende
Fremtinds Claude-rammeverk gir utviklerne en daglig kvote de kan bruke. Det å tilføre utfordringen litt Escobar-stemning skulle motivere utviklerne til å avdekke flere svakheter.
Tanken var at cybersikkerhet er så viktig at man gjerne kan brenne opp hele kvoten sin for å finne og tette sikkerhetshull.
Denne delen av planen fungerte imidlertid ikke helt som forventet. Vi klarte ikke å bruke mer enn en liten del av kvoten på én dag, blant annet på grunn av den kognitive belastningen.
Først og fremst må utvikleren vurdere hvert eneste sikkerhetsråd fra modellen. Noen av rådene kan være falske positiver generert av KI.
For det andre kan sikkerhetshullet være der fordi vi mangler kompetanse innen cybersikkerhet. Utvikleren må derfor også sette seg inn i den aktuelle sårbarhetstypen og gjøre egne undersøkelser for å vurdere hvor alvorlig problemet er, og hvor raskt det bør håndteres.
Resultatet var at promptingen under workshopen kostet mindre enn vi hadde forventet.
Lærer mer av praktiske utfordringer
ClaudeHack Workshop ga oss en god oversikt over cybersikkerhetsbildet vårt, og mange sikkerhetshull er nå tettet.
Jeg ser ærlig talt ikke på meg selv som en sikkerhetsekspert, og mange andre utviklere kjenner seg sikkert igjen i den følelsen. En av de store fordelene med denne typen workshop er at man får jobbe med ulike hackingteknikker og undersøke begreper man aldri har hørt om før.
Enda viktigere er det at man jobber med reelle sikkerhetsutfordringer og bygger opp sin egen kompetanse innen sikkerhet. I stedet for å følge et teoretisk kurs i programvaresikkerhet lærer utviklere altså mer av å jobbe med praktiske utfordringer.
ClaudeHack Workshop kan også arrangeres med jevne mellomrom. Etter hvert som nye funksjoner og oppdateringer legges til i kodebasen, kan det dukke opp nye sårbarheter i systemet. Derfor vil det være nyttig å arrangere en ny workshop for å identifisere de nye sikkerhetshullene.
Oktober er den internasjonale sikkerhetsmåneden. Tradisjonelt arrangerer Fremtind en rekke aktiviteter knyttet til beredskap, brann, trafikkulykker, førstehjelp og lignende. Cybersikkerhet er også et viktig tema for oss, og vi gjennomfører flere aktiviteter på dette området i løpet av måneden. Derfor var det naturlig å arrangere ClaudeHack Workshop som en del av sikkerhetsarbeidet vårt i oktober.
I forsikringsbransjen finnes det et uttrykk: «Det eneste du ikke kan kjøpe når du trenger det mest, er forsikring.» Det samme gjelder sikkerhetshull. Du bør finne og tette dem før det går galt.
Foretrekk oss i Google Discover
Ved å legge oss til som foretrukket kilde i Google vil du blant annet få opp flere av sakene våre i Google Discover. Tusen takk for støtten!