Einleitung
Wenn Sie mit dem Erstellen eines Repositorys auf GitHub beginnen, sollten Sie als Erstes über Sicherheit nachdenken.
Wenn Sie Ihr eigenes GitHub-Repository erstellen oder häufig Beiträge zum Repository leisten, müssen Sie wissen, ob Ihr Code Schwachstellen enthält. Sicherheitslücken in Repositories in der Vergangenheit führten zu Sicherheitsproblemen. Dies wurde durch die Tatsache unterstrichen, dass zwei der größten Datenlecks der letzten Zeit -
Equifax und
Heartbleed SSL Exploit - mit Sicherheitslücken mit entsprechenden Open-Source-Komponenten begannen, die in Zukunft verwendet werden könnten.
In diesem Beitrag werden vier verschiedene Tools untersucht und analysiert, mit denen Sie Schwachstellen in Ihrem GitHub-Repository identifizieren können. Jedes dieser vier Werkzeuge hat seine eigenen Superkräfte, aber jedes hat seine Schwächen. Dieser Artikel hilft Ihnen bei der Auswahl des richtigen Tools für Ihr Open Source-Projekt.

Dieser Artikel wurde mit Unterstützung von EDISON Software übersetzt, das Junioren praktische Ratschläge gibt , Software entwirft und TK auf Russisch und Englisch schreibt .

GuardRails ist eine Freemium-Sicherheitsanwendung, die auf dem
GitHub-Marktplatz verfügbar
ist . GuardRails kann eine statische Code-Analyse bereitstellen sowie anfällige Abhängigkeiten identifizieren. Er schreibt Kommentare mit Schwachstellen in den Anforderungspool.
Die Anwendung selbst scannt neue Einträge im Benutzercode in Echtzeit, so dass Benutzer schnell Maßnahmen ergreifen können, um Sicherheitsanfälligkeiten zu beseitigen, fast unmittelbar nachdem sie aufgetaucht sind. Dies schützt das Repository und den Code vor Eindringlingen. In Bezug auf den Anforderungspool schreibt GuardRails Kommentare zu jeder Anforderung, wenn ein Sicherheitsproblem festgestellt wird, und mit den Zweigen werden diese Informationen in Ihrem GuardRails-Dashboard angezeigt.
Das Leitprinzip des GuardRails-Dienstes ist die umfassende und schnelle Einrichtung, mit der Benutzer GuardRails in wenigen Minuten in alle ihre Repositorys integrieren können. Sie können GuardRails auch in Slack integrieren, damit Benachrichtigungen Sie effizienter erreichen.
GuardRails unterstützt derzeit Python, Ruby, JavaScript, Solidity, Go, Java und PHP.

Mit WhiteSource Bolt können GitHub-Benutzer Scans ihrer Repositorys erstellen und Open-Source-Schwachstellen identifizieren, die möglicherweise im Code enthalten sind. Es wird von WhiteSource bereitgestellt, einem Spezialisten auf dem Gebiet der Sicherheit, Lizenzierung und Berichterstellung im Bereich Open Source. Sie sind seit 2011 auf dem Markt tätig und können auf die Hilfe von mehr als 2,1 Millionen verschiedenen Entwicklern zählen.
Ihr Dienst funktioniert so, dass Bolt bei jeder Push-Aktion mit dem Scannen Ihres Repositorys beginnt und dann für jede erkannte Sicherheitsanfälligkeit ein Problem erstellt. Außerdem entstehen Probleme bei neuen Sicherheitslücken, die mit vorhandenen Open-Source-Code-Komponenten entdeckt wurden. Darüber hinaus kann verhindert werden, dass anfällige Komponenten den Code eingeben, indem ein Pool von Anforderungen, die Anfälligkeiten enthalten, automatisch abgebrochen wird.
Bolt bietet seinen Benutzern auch Zugang zu seiner eigenen WhiteSource-Schwachstellendatenbank, die umfangreich ist und von vielen als der teuerste Open-Source-Sicherheitsmarkt angesehen wird. Sie erhalten einige Informationen zu erkannten Schwachstellen, einschließlich CVE- und CVSS-Daten, vorgeschlagenen Korrekturen, Pfaden zu anfälligen Komponenten und Links zur Hilfe.
Bolt unterstützt derzeit über 200 verschiedene Programme, darunter Java, Python, PHP, C #, C ++ und andere.

LGTM ist eine kostenlose Open-Source-Projekt-App, mit der Benutzer potenzielle Sicherheitslücken in ihrem Code erkennen und deren Auftreten von vornherein verhindern können. LGTM verwendet insbesondere Daten, die von einem Sicherheitsforschungsteam gesammelt wurden, das sich auf das Auffinden von Zero-Day-Schwachstellen konzentriert. Mehr als 700.000 Entwickler und mehr als 135.000 Open Source-Projekte haben von LGTM-Diensten profitiert, und diese Erfahrung bestätigt die Qualität ihrer Dienste. Die LGTM GitHub-App ist auf dem GitHub-Marktplatz verfügbar.
Wenn Sie in Ihrem Repository arbeiten, kann LGTM Ihren Code automatisch scannen und nach möglichen Schwachstellen und CVE suchen. Dank der großen Community von erfahrenen LGTM-Entwicklern und -Forschern wissen Sie, dass die von ihnen angebotenen Services einen großen Nutzen für die Sicherheit Ihres Repositorys haben können. Dies macht es noch einfacher als die Verwaltung eines Abfrageprotokolls. Mit diesem Protokoll können Sie potenzielle Schwachstellen erkennen, bevor sie in die Codebasis eingegeben werden.
LGTM verfügt derzeit über eine große Anzahl unterstützter Programmiersprachen, deren Unterstützung sich auf C, C ++ erstreckt. COBOL, Python, Javascript und Java.

GitHub Security Alerts ist ein kostenloser Service für Besitzer und Mitglieder von GitHub-Repositorys mit Abhängigkeiten. Mithilfe eines eigenen Abhängigkeitsdiagramms können Benutzer feststellen, ob Sicherheitsanfälligkeiten in ihren Abhängigkeiten vorliegen, und Vorschläge zur Behebung dieser Sicherheitsanfälligkeiten bereitstellen.
Wenn GitHub Sie über eine potenzielle Sicherheitsanfälligkeit informiert, erhalten Sie ein Update, in dem GitHub Sie darüber informiert, welche Ihrer Abhängigkeiten aktualisiert werden müssen. Wenn es eine bekannte sichere Version der Abhängigkeit gibt, wählt GitHub eine für Sie mit maschinellem Lernen aus und diese wird in die Empfehlung aufgenommen.
Wenn es um Informationen zu jeder Sicherheitsanfälligkeit geht, teilt GitHub Ihnen mit, welche Sicherheitsanfälligkeit betroffen ist, welche Versionen betroffen sind, welche CVE-ID vorliegt und welche Korrekturvorschläge in der Sicherheitsanfälligkeitsdatenbank enthalten sind.
Der Dienst unterstützt derzeit JavaScript, Ruby und Python.

Lesen Sie auch den Blog
EDISON Unternehmen:
20 Bibliotheken für
spektakuläre iOS-Anwendung