GitHub: AI hjelper utviklere med å skrive tryggere kode, men du må få det grunnleggende riktig

0
13
Lås med 466 farger sakkmesterke/Getty Images

Det kan være greit å ha sofistikerte cybersikkerhetsverktøy for å oppdage sårbarheter, men kodesikkerhet må fortsatt starte med at utviklere får det grunnleggende riktig. 

Dette fokuset på grunnlaget betyr å følge grunnleggende ting, som å slå på tofaktorautentisering (2FA) og ta i bruk industristandarder og beste praksis, sa Mike Hanley, GitHubs sikkerhetssjef (CSO) og senior vice president of engineering. < /p>

Også: De beste VPN-tjenestene (og hvordan du velger den rette for deg)

Den Microsoft-eide programvareutviklingsplattformen har mer enn 100 millioner brukere og ser sin rettferdige andel av målrettede nettangrep. Formen på disse angrepene har imidlertid ikke endret seg vesentlig i løpet av det siste tiåret. Flertallet av disse forsøkene er phishing- og sosialingeniørangrep, som tar sikte på å overta legitimasjonen og kontoene til programvarevedlikeholdere, samt utnyttelse av sårbarheter i nettapplikasjoner. 

Med nettkriminelle som stort sett holder seg til samme taktikk, er det avgjørende at sikkerhet starter med utvikleren. “Du kan kjøpe verktøy for å forhindre og oppdage sårbarheter, men det første du må gjøre er å hjelpe utviklere med å sikre at de bygger sikre applikasjoner,” sa Hanley i et videointervju med ZDNET. 

< sterk>Dessuten: De beste passordbehandlerne for å spare deg for problemer med pålogging

Som store programvareverktøy, inkludert de som driver videokonferansesamtaler og autonome biler, bygges og bibliotekene deres gjøres tilgjengelige på GitHub, hvis kontoene til personer som vedlikeholder disse applikasjonene ikke er ordentlig sikret, kan ondsinnede hackere ta over disse kontoene og kompromittere et bibliotek. 

Skaden kan være vidtrekkende og føre til et annet tredjepartsbrudd, slik som SolarWinds og Log4j, bemerket han. Hanley begynte i GitHub i 2021, og tok på seg den nyopprettede rollen som CSO ettersom nyheten om det kolossale SolarWinds-angrepet spredte seg. 

“Vi ber fortsatt folk om å slå på 2FA…å få det grunnleggende er en prioritet,” sa han. 

Han pekte på GitHubs innsats for å gi mandat bruk av 2FA for alle brukere, som er en prosess som har vært i arbeid de siste halvannet årene og vil fullføres tidlig i år. 

Også: Hva er passord? Den livsendrende magien med å bli passordløs

Med sikkerhetsmarkedet nå oversvømmet med “prangende” tilbud, kan det være lett for fagfolk å overse behovet for en enkel lås på døren.< /p>

De grunnleggende kontrollene kommer til å være mer effektive for å sikre en organisasjons miljø, sammen med innføringen av industristandarder og beste praksis, sa han. Disse praksisene inkluderer Cloud Security Alliances publiserte benchmarks og Singapores Safe App Standard, som er bygget på “sunn fornuft” grunnleggende sikkerhetspraksis og innspill fra både private og offentlige organisasjoner for å bidra til å fokusere på de mest essensielle komponentene. 

< h2>Redefinering av shift-left-utvikling med AI

Kunstig intelligens (AI), inkludert generativ AI, dukker også opp som en viktig følgesvenn for programvareutviklere, spesielt når det gjelder å identifisere potensielle sårbarheter når de skriver koden sin, iht. Hanley. 

Også: Hvordan bruke ChatGPT til å skrive kode

AI redefinerer Skift-venstre-modellen og hjelper til med å forhindre utviklere i å skrive sårbarheter i koden sin helt fra starten, sa han. 

Skift-venstre-tilnærmingen innebærer å teste programvare tidligere i utviklingslivssyklusen, så dens kvalitet kan vurderes og foredles gjennom hele utviklingsstadiet. 

Med programvaresårbarheter som ofte oppdages etter at kodene er utgitt til offentligheten – og noen ganger tar det år før de blir avdekket, for eksempel i tilfellet med Log4j – muligheten for AI til å identifisere og gi forslag til å plugge potensielle sårbarheter før programvaren er publisert er en spillveksler for utviklere, sa Hanley.  

I følge forskning fra GitClear, som så på 153 millioner endrede kodelinjer skrevet fra 2020 til 2023, anslås andelen koder som blir tilbakestilt eller oppdatert mindre enn to uker etter at de er skrevet. fordobles i år sammenlignet med 2021. 

Også: Implementere AI i programvareutvikling? Her er alt du trenger å vite

Hanley peker på GitHubs AI-assisterte programvareutviklingsverktøy, Copilot, og sa at teknologien har som mål å ikke bare hjelpe utviklere med å skrive kode, men også å gjennomgå og fikse den.  

GitHub Copilot er utpekt for å gi kodeforslag som er på linje med et prosjekts kontekst og stilkonvensjoner, og gir utviklere muligheten til å bestemme hva de skal akseptere, avvise eller redigere. Verktøyet kan integreres med andre redaktører, som Visual Studio og Neovim, og kan foreslå syntaks og kode på flere språk, inkludert Python, JavaScript, Ruby og C#. 

Introdusert først i oktober 2021 , GitHub Copilot brukes for tiden av mer enn én million utviklere og 20 000 organisasjoner, sa GitHub-sjef Thomas Dohmke i et innlegg fra juni 2023. Det AI-assisterte verktøyet har generert mer enn tre milliarder aksepterte linjer med koder. 

Brukerne har i gjennomsnitt akseptert nesten 30 % av kodeforslagene, og dette tallet har økt etter hvert som utviklerne har blitt kjent med verktøyet, sa Dohmke, og siterte en prøveanalyse av 934 533 GitHub Copilot-brukere.

Basert på de 30 % produktivitetsrate, og anslått 45 millioner utviklere i 2030, sa han at generative AI-utviklerverktøy potensielt kan legge til 15 millioner “effektive utviklere” til den globale kapasiteten innen 2030, og øke BNP med mer enn 1,5 billioner dollar. 

< p>Også: Hvordan AI-assistert kodeutvikling kan gjøre IT-jobben din mer komplisert

GitHub Copilot-brukere rapporterer også koding 55 % raskere med verktøyet, bemerket han og la til at 46 % av kodene ble fullført av den AI-drevne teknologien i filer der den ble aktivert.

I likhet med selvkjørende biler er imidlertid ikke AI-assisterte utviklingsverktøy en erstatning for menneskelige utviklere og kodegjennomgangsprosesser, sa Hanley. De er følgeverktøy, og som monikeren antyder, er co-piloter for programvareutviklere mer effektive når de jobber sammen med sine menneskelige kolleger.