Geautomatiseerde beveiliging
Hier bespreken we enkele manieren waarop u beveiligingscontroles kunt automatiseren in een opslagplaats die beschikbaar is voor beheerders van GitHub-opslagplaatsen.
Verouderde afhankelijkheden met beveiligingsproblemen detecteren en oplossen
Vrijwel elk project is tegenwoordig afhankelijk van externe pakketten. Hoewel deze onderdelen aanzienlijke voordelen in productiviteit kunnen bieden, kunnen ze andere beveiligingsrisico's veroorzaken. Het kan tijdrovend zijn om bij te blijven met deze pakketten en hun beveiligingsstatus, vooral gezien hoe elke afhankelijkheid zijn eigen afhankelijkheden kan hebben die moeilijk te volgen en te onderhouden zijn. Gelukkig biedt GitHub functies die deze workload verminderen.
Afhankelijkheidsgrafieken van opslagplaatsen
Een standaardfunctie die elke opslagplaats bevat, is afhankelijkheidsgrafieken. GitHub scant algemene pakketmanifesten, zoals package.json, requirements.txten andere. Met deze grafieken kunnen projecteigenaren alle afhankelijkheden van hun project recursief bijhouden.
Zie Over de afhankelijkheidsgrafiekvoor de lijst met ondersteunde afhankelijkheidsmanifesten.
Dependabot-waarschuwingen
Zelfs met een visuele afhankelijkheidsgrafiek kan het nog steeds overweldigend zijn om op de hoogte te blijven van de nieuwste beveiligingsoverwegingen voor elke afhankelijkheid die een project heeft. Om deze overhead te verminderen, biedt GitHub Dependabot-waarschuwingen die uw afhankelijkheidsgrafieken voor u bekijken. Vervolgens maakt het kruisverwijzingen tussen doelversies en versies die op bekende lijsten van kwetsbaarheden staan. Wanneer er een risico wordt gedetecteerd, wordt het project gewaarschuwd. Invoer voor de analyse is afkomstig van GitHub Security Advisories.
Automatische updates van afhankelijkheden met Dependabot
Een afhankelijkheidswaarschuwing kan ertoe leiden dat een projectbijdrager de verwijzing naar het offending-pakket naar de aanbevolen versie verhoogt en een pull-aanvraag voor validatie maakt. Zou het niet geweldig zijn als er een manier was om deze inspanning te automatiseren? Goed nieuws. Dependabot doet dat gewoon. Er wordt gescand op afhankelijkheidswaarschuwingen en er worden pull-aanvragen gemaakt, zodat een inzender de update kan valideren en de aanvraag kan samenvoegen.
Zie Dependabot-beveiligingsupdates configurerenvoor meer informatie over de flexibiliteit van Dependabot.
Geautomatiseerd scannen van code
Net zoals Dependabot uw opslagplaats scant op afhankelijkheidswaarschuwingen, kunt u codescans gebruiken om beveiligingsproblemen en fouten in de code in een GitHub-opslagplaats te analyseren en te vinden. Codescans hebben verschillende voordelen. U kunt deze gebruiken om oplossingen voor bestaande problemen of mogelijke beveiligingsproblemen te vinden, te classificeren en er prioriteit aan te geven. Het is ook handig om te voorkomen dat ontwikkelaars nieuwe beveiligingsproblemen in de code introduceren.
Een ander voordeel van codescans is de mogelijkheid om CodeQL te gebruiken. Met CodeQL kunt u code opvragen als gegevens, waarmee u aangepaste query's kunt maken of query's kunt gebruiken die worden onderhouden door de opensource-community. Codescan biedt u de vrijheid om aan te passen en te onderhouden hoe de code in uw opslagplaats wordt gescand.
U kunt waarschuwingen en werkstromen voor codescans inschakelen op het tabblad Beveiliging van een GitHub-opslagplaats:
Meer informatie over Code scannen en CodeQL-.
Geheim scannen
Een andere functie voor automatisch scannen in een GitHub-opslagplaats is geheim scannen. Net als bij de vorige beveiligingsscanfuncties zoekt het scannen van geheimen naar bekende geheimen of inloggegevens die zijn vastgelegd in de repository. Deze scan wordt uitgevoerd om het gebruik van frauduleus gedrag te voorkomen en om de integriteit van gevoelige gegevens te beveiligen. Het scannen van geheimen vindt standaard plaats op openbare opslagplaatsen en u kunt het scannen van geheimen op privÊopslagplaatsen inschakelen door beheerders van opslagplaatsen of eigenaren van organisaties.
Wanneer het scannen van geheimen een set inloggegevens detecteert, meldt GitHub de serviceprovider die het geheim heeft verstrekt. De serviceprovider valideert de inloggegevens. Vervolgens wordt bepaald of ze het geheim moeten intrekken, een nieuw geheim moeten uitgeven of rechtstreeks contact met u moeten opnemen. De actie is afhankelijk van de bijbehorende risico's voor u of de serviceprovider.
Meer informatie over Geheim scannen op openbare en persoonlijke opslagplaatsen.