Automatiseret sikkerhed
Her diskuterer vi nogle måder, du kan automatisere sikkerhedskontroller på i et lager, der er tilgængeligt for GitHub-lageradministratorer.
Registrer og løs forældede afhængigheder med sikkerhedsrisici
Stort set alle projekter i disse dage kræver afhængigheder af eksterne pakker. Selvom disse komponenter kan give betydelige produktivitetsfordele, kan de medføre andre sikkerhedsrisici. Det kan være tidskrævende at holde styr på disse pakker og deres sårbarhedsstatus, især i betragtning af, hvordan hver afhængighed kan have sine egne afhængigheder, der kan blive vanskelige at spore og vedligeholde. Heldigvis indeholder GitHub funktioner, der reducerer denne arbejdsbelastning.
Diagrammer over lagerafhængigheder
En standardfunktion, som hvert lager inkluderer, er afhængighedsdiagrammer. GitHub scanner almindelige pakkemanifester, f.eks. package.json, requirements.txtog andre. Disse grafer gør det muligt for projektejere rekursivt at spore alle de afhængigheder, deres projekt er afhængig af.
Du kan se en liste over understøttede afhængighedsmanifester under Om afhængighedsgrafen.
Afhængige beskeder
Selv med en graf over visualiseringsafhængigheder kan det stadig være overvældende at holde styr på de seneste sikkerhedsovervejelser for hver afhængighed, et projekt har. GitHub leverer Dependabot-beskeder, der ser dine afhængighedsdiagrammer for dig, for at reducere dette spild. Den krydsreferencer derefter destinationsversioner med versioner på kendte lister over sårbarheder. Når der opdages en risiko, får projektet besked. Input til analysen kommer fra GitHub Security Advisories.
Automatiserede opdateringer af afhængighed med Dependabot
En afhængighedsbesked kan føre til, at en projektbidragsyder støder på den ulovlige pakkereference til den anbefalede version og opretter en pullanmodning til validering. Ville det ikke være dejligt, hvis der var en måde at automatisere denne indsats på? Godt nyt! Dependabot gør netop det. Den scanner efter afhængighedsbeskeder og opretter pullanmodninger, så en bidragyder kan validere opdateringen og flette anmodningen.
Du kan få mere at vide om Dependabots fleksibilitet under Konfiguration af afhængige sikkerhedsopdateringer.
Automatiseret kodescanning
På samme måde som Dependabot scanner dit lager for afhængighedsbeskeder, kan du bruge kodescanning til at analysere og finde sikkerhedsrisici og fejl i koden i et GitHub-lager. Kodescanning har flere fordele. Du kan bruge den til at finde, triage og prioritere rettelser til eksisterende problemer eller potentielle sikkerhedsrisici. Det er også nyttigt at hjælpe med at forhindre udviklere i at introducere nye sikkerhedsproblemer i koden.
En anden fordel ved kodescanning er muligheden for at bruge CodeQL. Med CodeQL kan du forespørge om kode som data, så du kan oprette brugerdefinerede forespørgsler eller bruge forespørgsler, der vedligeholdes af community'et med åben kildekode. Kodescanning giver dig frihed til at tilpasse og vedligeholde, hvordan koden i dit lager scannes.
Du kan aktivere beskeder og arbejdsprocesser om kodescanning under fanen Sikkerhed i et GitHub-lager:
Få mere at vide om Kodescanning og CodeQL-.
Hemmelig scanning
En anden automatiseret scanningsfunktion i et GitHub-lager er hemmelig scanning. På samme måde som med de tidligere sikkerhedsscanningsfunktioner søger hemmelig scanning efter kendte hemmeligheder eller legitimationsoplysninger, der er gemt i lageret. Denne scanning udføres for at forhindre brugen af svigagtig adfærd og for at sikre integriteten af følsomme data. Som standard udføres hemmelig scanning på offentlige lagre, og du kan aktivere hemmelig scanning på private lagre af lageradministratorer eller organisationsejere.
Når hemmelig scanning registrerer et sæt legitimationsoplysninger, giver GitHub den tjenesteudbyder, der har udstedt hemmeligheden, besked. Tjenesteudbyderen validerer legitimationsoplysningerne. Derefter beslutter den, om de skal tilbagekalde hemmeligheden, udstede en ny hemmelighed eller kontakte dig direkte. Handlingen afhænger af de tilknyttede risici for dig eller tjenesteudbyderen.
Få mere at vide om Secret-scanning efter offentlige og private lagre.