GitHub breidt zijn codescanningtool uit met machinelearning, zodat die vaker moet kunnen waarschuwen bij de ontdekking van vier veelvoorkomende soorten kwetsbaarheden. De machinelearningtool is nu als publieke bèta beschikbaar.
De nieuwe tool gebruikt machinelearning en deeplearning om JavaScript- en TypeScript-code te scannen op eventueel aanwezige kwetsbaarheden. De tool kan kwetsbaarheden als cross-site scripting, path injection, NoSQL injection en SQL injection opsporen. Deze vier soorten kwetsbaarheden zorgen volgens GitHub voor veel van de recente CVE-kwetsbaarheden in JavaScript en TypeScript.
De machinelearningtool is een uitbreiding van de codescanner die GitHub sinds september 2020 aanbiedt. Die codescanner is gemaakt door GitHub-beveiligingsexperts en -communityleden en kan code scannen op veel voorkomende kwetsbaarheden. De codescantool identificeert hiervoor libraries in code met bekende kwetsbaarheden.
Doordat het gebruik van opensourcesoftware volgens GitHub is toegenomen, zijn er ook meer libraries verschenen die minder vaak worden gebruikt. Omdat deze minder populair zijn, worden deze ook minder snel opgenomen in de reguliere scantool die door communityleden en beveiligingsexperts wordt onderhouden. Daarom heeft GitHub de machinelearningtool ontwikkeld, die op basis van voorbeelden uit de bestaande tool kwetsbaarheden in andere libraries kan herkennen. GitHub deelt op een aparte pagina een uitgebreidere werking van de tool.
Ontwikkelaars die de security-extended
- en security-and-quality
-suites voor analyse gebruiken, krijgen automatisch de machinelearningtool. Gebruikers kunnen deze suites aan hun codescanningconfiguratiebestand toevoegen om de machinelearning te activeren. GitHub waarschuwt wel dat door de experimentele bèta-status van de tool, er ook meer false positives kunnen verschijnen. Dit zou naarmate de tool meer gebruikt wordt, wel moeten verminderen. De machinelearningtool gebruikt andere labels voor de waarschuwingen dan de reguliere codescanner, om aan te geven dat de kans op false positives hoger is.