Scannen von Secrets und fest codierte Zugangsdaten
Verhindern Sie mit git-secrets, gitleaks und pre-commit-Hooks, dass API-Schlüssel und Passwörter committed werden.
Scannen von Secrets und fest codierte Zugangsdaten ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Das Problem hartcodierter Secrets
Entwickler committen versehentlich API-Schlüssel, Passwörter, private Schlüssel und Tokens in Quellcode-Repositories. Sobald sie in der Git-Historie enthalten sind, bleiben sie auch nach dem Löschen bestehen. Öffentliche Repositories werden innerhalb von Sekunden nach einem Push von Bots durchsucht.
Was wird committet?
Häufig in Repositories gefundene Secrets:
- AWS-Zugriffsschlüssel (
AKIA...) - Persönliche Zugriffstokens für GitHub
- Datenbankpasswörter in Konfigurationsdateien
- Stripe-/Zahlungs-API-Schlüssel
- Private TLS-/SSH-Schlüssel
- Slack-Webhook-URLs
Pre-Commit-Hooks zur Prävention
Verhindern Sie von vornherein, dass Secrets in Git gelangen:
# Install gitleaks as a pre-commit hook:
pip install pre-commit
# .pre-commit-config.yaml:
repos:
- repo: https://github.com/zricethezav/gitleaks
rev: v8.18.1
hooks:
- id: gitleaksBestehende Repositories scannen
Scannen Sie vorhandene Repositories auf Secrets:
# gitleaks: scan entire git history
gitleaks detect --source . --log-opts="--all"
# truffleHog: high-entropy string + regex detection
trufflehog git file://.
# GitHub secret scanning (automatic for public repos)
# Alerts under Security → Secret scanning alertsGitHub Secret Scanning
GitHub scannt öffentliche Repositories automatisch auf bekannte Secret-Muster (AWS-Schlüssel, GitHub-Tokens usw.) und benachrichtigt den jeweiligen Anbieter. Für private Repositories erweitert GitHub Advanced Security diese Funktion. Anbieter wie AWS widerrufen bei einer Erkennung automatisch die Schlüssel.
Die .gitignore-Lösung und ihre Grenzen
Das Hinzufügen von .env zu .gitignore verhindert versehentliche Commits. Entwickler committen Secrets jedoch weiterhin in anderen Dateien, und .gitignore hilft nicht, wenn die Datei bereits committet wurde. Mehrschichtige Absicherung: gitignore plus Pre-Commit-Hooks plus CI-Scanning.
Umgebungsvariablen verwenden
Secrets sollten niemals im Code stehen. Verwenden Sie Umgebungsvariablen, die zur Laufzeit geladen werden:
# Python:
import os
api_key = os.environ["API_KEY"]
# Node.js with dotenv (for local dev only):
require("dotenv").config()
const apiKey = process.env.API_KEY
# Never commit .env to gitSecrets-Manager
Produktionsanwendungen sollten dedizierte Secrets-Manager verwenden:
- AWS Secrets Manager – automatische Rotation, durch IAM kontrollierter Zugriff
- HashiCorp Vault – Open Source, für Unternehmen geeignet, viele Backends
- Azure Key Vault / GCP Secret Manager
Secrets befinden sich niemals im Code oder auf der Festplatte gespeicherten Umgebungsvariablen.
Kompromittierte Secrets rotieren
Wenn ein Secret offengelegt wurde:
- Widerrufen Sie das Secret sofort (noch vor der Untersuchung)
- Prüfen Sie die Zugriffsprotokolle auf unbefugte Verwendung
- Erzeugen Sie ein neues Secret
- Aktualisieren Sie alle Systeme, die das alte Secret verwenden
- Entfernen Sie es mit
git-filter-repooder BFG Repo Cleaner aus der Git-Historie
Secrets aus der Git-Historie entfernen
Entfernen Sie das Secret nach dem Widerruf aus der Historie:
# BFG Repo Cleaner (faster than filter-branch):
java -jar bfg.jar --delete-files .env repo.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force
# Note: force push rewrites history - coordinate with teamSecrets in CI/CD-Pipelines
CI/CD-Systeme verfügen über eine eigene Secrets-Verwaltung:
- GitHub Actions: Secrets werden in den Repository-/Organisationseinstellungen gespeichert und als
${{ secrets.API_KEY }}abgerufen - GitLab CI: CI/CD-Variablen
- Jenkins: Credentials-Plugin
Maskieren Sie Secrets in Protokollen. Geben Sie sie niemals in der Debug-Ausgabe aus.
Schnelltest: Scannen auf Secrets
Was ist die wirksamste erste Verteidigungslinie, um zu verhindern, dass Secrets in ein Repository gelangen?
Zusammenfassung der Lektion
Hartcodierte Secrets in Git stellen ein kritisches Risiko dar – öffentliche Repositories werden innerhalb von Sekunden von Bots durchsucht. Prävention: Pre-Commit-Hooks (gitleaks), gitignore. Erkennung: truffleHog, GitHub Secret Scanning. Speichern Sie Secrets in Umgebungsvariablen oder dedizierten Secrets-Managern (Vault, AWS Secrets Manager). Rotieren Sie sie sofort, wenn sie offengelegt wurden, und entfernen Sie sie mit BFG Repo Cleaner aus der Git-Historie.
Häufig gestellte Fragen
Ist die Lektion „Scannen von Secrets und fest codierte Zugangsdaten“ kostenlos?
Ja — der vollständige Text von „Scannen von Secrets und fest codierte Zugangsdaten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Scannen von Secrets und fest codierte Zugangsdaten“?
Verhindern Sie mit git-secrets, gitleaks und pre-commit-Hooks, dass API-Schlüssel und Passwörter committed werden. Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Scannen von Secrets und fest codierte Zugangsdaten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- SAST und DAST in CI/CD-Pipelines
- Software Composition Analysis (SCA)
- Scannen von Secrets und fest codierte Zugangsdaten
- Security Champions und Threat Modeling