Code-Repositories (GitHub, GitLab) – Wie Entwickler ungewollt sensible Infos preisgeben

Einleitung

Plattformen wie GitHub, GitLab oder Bitbucket sind unverzichtbare Werkzeuge für moderne Softwareentwicklung. Sie ermöglichen Zusammenarbeit, Versionskontrolle und Open-Source-Sharing.
Doch genau hier lauert eine Gefahr: Entwickler veröffentlichen manchmal unbewusst sensible Informationen, die für die Passive Reconnaissance extrem wertvoll sind.


Welche Informationen stecken in Repositories?

1. Zugangsdaten & Schlüssel

  • API-Keys, SSH-Schlüssel, Cloud-Tokens (z. B. für AWS, Azure oder Google Cloud).
  • Passwörter in Konfigurationsdateien oder Skripten.
    👉 Diese sind oft der direkte Schlüssel zu kritischen Systemen.

2. Interne Konfigurationsdateien

  • config.yml, .env oder settings.json enthalten oft Datenbankverbindungen, interne URLs oder Debug-Modi.
  • Pfade geben Hinweise auf interne Systemstrukturen.

3. Quellcode & Business-Logik

  • Rückschlüsse auf genutzte Frameworks, Versionen und Architekturen.
  • Sicherheitslücken können durch schlecht programmierte Funktionen sichtbar werden.

4. Commit-Historien

  • Alte Versionen von Dateien bleiben in der Historie erhalten.
  • Selbst wenn ein Passwort aus einer Datei entfernt wird, bleibt es oft in einem früheren Commit sichtbar.

5. Diskussionen & Issues

  • Entwickler sprechen offen über Bugs, Workarounds oder interne Probleme.
  • Diese Infos können wertvolle Einblicke in die IT-Landschaft geben.

Beispiele aus der Praxis

  • Ein Entwickler lädt versehentlich ein Repository mit .env-Dateien hoch → enthält Produktionsdatenbank-Zugang.
  • Ein Unternehmen veröffentlicht Open-Source-Code, in dem noch Hardcoded-Passwörter stehen.
  • Alte Commits enthalten Hinweise auf interne Projektcodenamen und Serverpfade.

Risiken für Unternehmen

  • Direkter Systemzugriff: Gestohlene Keys können Cloud- oder Datenbanksysteme kompromittieren.
  • Informationslecks: Interne Strukturen werden nach außen sichtbar.
  • Reputation: Sensible Leaks in öffentlichen Repos beschädigen Vertrauen bei Kunden und Partnern.

Schutzmaßnahmen

  1. Secret-Scanning: Automatisierte Tools einsetzen, die Repositories nach Schlüsseln und Passwörtern durchsuchen.
  2. Private Repositories: Interne Projekte niemals öffentlich stellen, außer bewusst als Open Source.
  3. Commit-Historie prüfen: Alte Commits regelmäßig auf sensible Daten überprüfen.
  4. Awareness: Entwickler schulen, wie sie mit sensiblen Daten umgehen sollen.
  5. Monitoring: Eigene Domains und Schlüssel mit Tools wie GitHub Advanced Security oder externen Services überwachen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert