Skip to main content

Best-Practices-Spickzettel für Snyk und Bitbucket

Artikel von
Finding open source vulnerabilities within the Bitbucket workflow tumb

3. März 2022

0 Min. Lesezeit

Da die Partnerschaft zwischen Snyk und Atlassian weiter wächst, haben wir einen Spickzettel mit Best Practices zusammengestellt, damit Sie das Beste aus unserer Integration mit Bitbucket herausholen. So können Sie Bitbucket sicherer zum Verwalten und Speichern Ihres Codes nutzen und Ihren Code sowie Ihre Abhängigkeiten mit Snyk kontinuierlich auf potenzielle Schwachstellen überwachen.

In diesem Beitrag stellen wir Ihnen die folgenden sieben Best Practices vor:

  1. Speichern Sie niemals Zugangsdaten in Code oder Konfigurationsdateien auf Bitbucket

  2. Entfernen Sie sensible Daten

  3. Kontrollieren Sie Zugriffe streng

  4. Fügen Sie eine SECURITY.md-Datei hinzu

  5. Validieren Sie Bitbucket-Apps

  6. Erhalten Sie Sicherheitstipps direkt in Ihrem Workflow mit Code Insights

  7. Ergänzen Sie Pull Requests um Sicherheitstests

Snyk und Bitbucket Security-Spickzettel mit sieben Best Practices, darunter Schutz von Zugangsdaten, Zugriffskontrolle, Sicherheitstests und Code-Einblicke.

Laden Sie den Spickzettel herunter

1. Speichern Sie niemals Zugangsdaten in Code oder Konfigurationsdateien in Bitbucket

Wenn Sie Passwörter, API-Schlüssel oder andere Zugangsdaten in öffentlich zugänglichem Code speichern, setzen Sie Ihre Anwendung und Ihr Unternehmen Risiken aus. Deshalb sollten Sie Maßnahmen ergreifen, damit Zugangsdaten gar nicht erst in Ihre Bitbucket-Repositories gelangen.

Die git-secrets-scan-Pipeline kann Builds bei Bedarf abbrechen, um zu verhindern, dass Code an Bitbucket übertragen wird, und so die Veröffentlichung sensibler Daten verhindern. Dazu scannt das Tool Ihre Dateien nach fest codierten Daten und kennzeichnet diese in einem Sicherheitsbericht.

Mit truffleHog können Sie außerdem nach versehentlich veröffentlichten Secrets suchen. Das Tool scannt Git-Repositories einschließlich Commit-Verlauf und Branches nach Secrets. Ein Pre-Commit-Hook kann Entwickler ebenfalls daran hindern, bestimmte Secrets zu übertragen.

Schließlich können Sie sich über die Vault Secrets-Export-Pipeline mit einem Secrets-Manager wie Hashicorp Vault verbinden. Diese ruft Secrets bei Bedarf automatisch aus dem HashiCorp Vault ab, statt sie im Repository zu speichern.

2. Entfernen Sie sensible Daten

Wie beim vorherigen Tipp ist es wichtig, sensible Daten aus Ihrem in Bitbucket gespeicherten Code zu entfernen. Sie sollten bereits veröffentlichte Tokens oder Passwörter ungültig machen, da sie möglicherweise von unbefugten Dritten gestohlen wurden.

Außerdem sollten Sie den Git-Verlauf bereinigen und den überarbeiteten Verlauf per Force-Push übertragen. Nachdem Sie alle Secrets ungültig gemacht und den Git-Verlauf bereinigt haben, sollten Sie die Auswirkungen möglicherweise offengelegter privater Informationen bewerten.

Adaptivist ScriptRunner kann diese Aufgaben durch die Automatisierung des Secrets-Managements erleichtern.

3. Kontrollieren Sie Zugriffe streng

Viele Sicherheitsvorfälle sind auf menschliche Fehler und Fehlentscheidungen zurückzuführen. Deshalb ist es wichtig, strenge Zugriffskontrollen einzurichten. Mit wenigen einfachen Konfigurationen können Sie das Risiko verringern, dass unbefugte Personen auf Ihren Code in Bitbucket zugreifen.

Zu strengen Zugriffskontrollen gehören:

  • Wenn Sie für alle Bitbucket-Konten die Zwei-Faktor-Authentifizierung verlangen, schaffen Sie durch einen zweiten Schritt eine zusätzliche Sicherheitsebene.

  • Wenn Sie es Entwicklern untersagen, Konten gemeinsam zu nutzen, stärken Sie das Prinzip der geringsten Berechtigungen und das Need-to-know-Prinzip als wichtige Sicherheitspraktiken.

  • Durch die angemessene Absicherung physischer Geräte mit Zugriff auf den Quellcode schützen Sie Ihre Werte im Falle eines Diebstahls.

  • Entziehen Sie ehemaligen Mitarbeitern den Bitbucket-Zugriff, um Ihr geistiges Eigentum zu schützen.

4. Fügen Sie eine SECURITY.md-Datei hinzu

Mit einer SECURITY.md-Datei können Sie zukünftige Mitwirkende oder Maintainer über wichtige sicherheitsrelevante Informationen zu Ihrem Projekt informieren. Diese Datei sollte Folgendes enthalten:

  • Richtlinie zur Offenlegung: Der Prozess zum Melden von Sicherheitsproblemen, einschließlich der Kontaktperson, ihrer Erreichbarkeit und der bereitzustellenden Informationen.

  • Richtlinie für Sicherheitsupdates: Wie das Projekt Nutzer über neu entdeckte Schwachstellen und deren mögliche Auswirkungen informiert.

  • Sicherheitsrelevante Konfiguration:Empfohlene Einstellungen für die Nutzung des Codes, etwa HTTPS, eine Autorisierungsebene oder Verfahren zum Zurücksetzen von Passwörtern.

  • Bekannte Sicherheitslücken und geplante Verbesserungen: Dabei handelt es sich um noch nicht umgesetzte Sicherheitsverbesserungen. Sie weisen auf Risikobereiche hin, die Nutzer des Projekts selbst entschärfen müssen.

5. Validieren Sie Bitbucket-Apps

Da Bitbucket-Apps von Drittanbietern entwickelt werden, sollten Sie prüfen, ob sie sicher verwendet werden können. Vergewissern Sie sich zunächst, dass die Zugriffsrechte der App unerwünschten Zugriff auf Ihren Code verhindern, indem Sie nur die erforderlichen Berechtigungen erteilen. Entfernen oder deaktivieren Sie außerdem Apps, die nicht mehr verwendet werden.

Prüfen Sie auch die Vertrauenswürdigkeit des App-Entwicklers, unabhängig davon, ob es sich um eine Einzelperson oder eine Organisation handelt. Denken Sie daran: Ihre Sicherheit ist nur so stark wie ihr schwächstes Glied. Wählen Sie daher unbedingt Apps von vertrauenswürdigen Entwicklern.

Bewerten Sie schließlich die Sicherheitslage der Bitbucket-App selbst. Sind ihre Sicherheitsmaßnahmen unzureichend, kann ein Sicherheitsvorfall Angreifern Zugriff auf Ihren Code verschaffen. Prüfen Sie die verwendeten Apps regelmäßig, um sicherzustellen, dass sie weiterhin benötigt werden und sicher sind.

6. Erhalten Sie Sicherheitstipps direkt in Ihrem Workflow mit Code Insights

Die Integration von Snyk mit Bitbucket kann Ihre Pull Requests scannen, damit Sie keine neuen Schwachstellen einführen. Snyk zeigt direkt im Pull Request detaillierte Inline-Anmerkungen zur jeweiligen potenziellen Schwachstelle an. So können Entwickler sofort fundierte Entscheidungen treffen.

Zusätzlich zu Informationen über Schwachstellen in Abhängigkeiten bietet Snyk empfohlene Upgrades zur Behebung sowie weitere konkrete Tipps zur Risikominderung auf Grundlage der Snyk Intel Vulnerability Database.

7. Ergänzen Sie Pull Requests um Sicherheitstests

Mit Bitbucket-Hooks können Sie bei jedem Pull Request Code-Scans auslösen, um Codequalität und Sicherheit zu prüfen. So können Sie beispielsweise Webhooks verwenden, um mit SonarCloud Bugs und Code-Smells zu erkennen, und Code-Reviews mit Code Climate automatisieren.

Mit Bitbucket-Hooks kann Snyk jeden Pull Request scannen und Schwachstellen oder Lizenzprobleme als Teil Ihres gewohnten Entwicklungs-Workflows erkennen. So erhalten Entwicklungsteams so früh wie möglich die benötigten Sicherheitseinblicke.

Weiterlesen

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSec: Sicherheit, die mit der KI-Entwicklung Schritt hält

KI-gestützte Entwicklung überholt herkömmliche Security-Workflows. Snyk Agentic AppSec setzt Security-Agenten ein, die Schwachstellen kontinuierlich finden, beheben und überprüfen – während Menschen die Maßstäbe festlegen.

blog feature ai violet
Blog

VulnBump: Können KI-Agenten anfällige Abhängigkeiten beheben, ohne den Build zu beschädigen?

VulnBump testet KI-Agenten anhand von 307 realen Dependency-Upgrades. Eine Lösung zählt nur, wenn die Sicherheitslücke behoben ist und Build sowie Tests weiterhin erfolgreich sind.

Blog

Frontier-Modelle fanden die Schwachstellen. Nur der Angreifer fand die Angriffsketten.

Die statische Analyse fand die Schwachstellen, doch erst Live-Angriffstests bewiesen, wie sie sich zu Angriffen verketten lassen. Ein Vergleich von Evo COS, Claude Security und Claude Code Security.