Cyber Security Academy · Lektion

Skanning efter hemligheter och hårdkodade autentiseringsuppgifter

Förhindra att API-nycklar och lösenord checkas in med git-secrets, gitleaks och pre-commit hooks.

Lektion 3 av 413 steg

Skanning efter hemligheter och hårdkodade autentiseringsuppgifter är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Problemet med hårdkodade hemligheter

Utvecklare råkar checka in API-nycklar, lösenord, privata nycklar och token i kodförråd. När de väl finns i Git-historiken ligger de kvar även efter att de har tagits bort. Offentliga kodförråd genomsöks av botar inom sekunder efter en push.

Vad checkas in

Vanliga hemligheter som hittas i kodförråd:

  • AWS-åtkomstnycklar (AKIA...)
  • Personliga åtkomsttoken för GitHub
  • Databaslösenord i konfigurationsfiler
  • Stripe-/betalnings-API-nycklar
  • Privata TLS-/SSH-nycklar
  • Slack-webhook-URL:er

Hookar före commit för att förebygga

Förhindra att hemligheter över huvud taget når Git:

# 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: gitleaks

Genomsöka befintliga kodförråd

Genomsök befintliga kodförråd efter hemligheter:

# 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 alerts

GitHub Secret Scanning

GitHub genomsöker automatiskt offentliga kodförråd efter kända mönster för hemligheter (AWS-nycklar, GitHub-token och så vidare) och meddelar leverantören. För privata kodförråd utökar GitHub Advanced Security denna funktion. Leverantörer som AWS återkallar automatiskt nycklar vid upptäckt.

Lösningen med .gitignore (och dess begränsningar)

Att lägga till .env i .gitignore förhindrar oavsiktliga incheckningar. Men utvecklare checkar fortfarande in hemligheter i andra filer, och .gitignore hjälper inte om filen redan har checkats in. Försvar i flera lager: gitignore + hookar före commit + genomsökning i CI.

Använda miljövariabler

Hemligheter ska aldrig förekomma i kod. Använd miljövariabler som läses in vid körning:

# 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 git

Hanterare för hemligheter

Produktionsapplikationer bör använda dedikerade secrets managers:

  • AWS Secrets Manager — automatisk rotation, åtkomst styrd av IAM
  • HashiCorp Vault — öppen källkod, företagslösning, många backend-system
  • Azure Key Vault / GCP Secret Manager

Hemligheter finns aldrig i kod eller miljövariabler på disk.

Rotera röjda hemligheter

Om en hemlighet har röjts:

  1. Återkalla hemligheten omedelbart (innan ni utreder)
  2. Kontrollera åtkomstloggar efter obehörig användning
  3. Generera en ny hemlighet
  4. Uppdatera alla system som använder den gamla hemligheten
  5. Ta bort den från Git-historiken med git-filter-repo eller BFG Repo Cleaner

Ta bort hemligheter från Git-historiken

När hemligheten har återkallats tar ni bort den från historiken:

# 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 team

Hemligheter i CI/CD-pipelines

CI/CD-system har egen hantering av hemligheter:

  • GitHub Actions: Hemligheter lagras i inställningarna för kodförrådet eller organisationen → nås som ${{ secrets.API_KEY }}
  • GitLab CI: CI/CD-variabler
  • Jenkins: Credentials-plugin

Maskera hemligheter i loggar. Skriv aldrig ut dem i felsökningsutdata.

Snabbkontroll: Genomsökning efter hemligheter

Vilken är den effektivaste första försvarslinjen för att förhindra att hemligheter hamnar i ett kodförråd?

Sammanfattning av lektionen

Hårdkodade hemligheter i Git är en kritisk risk – offentliga kodförråd genomsöks av botar inom sekunder. Förebyggande: hookar före commit (gitleaks), gitignore. Upptäckt: truffleHog, GitHub secret scanning. Lagra hemligheter i miljövariabler eller dedikerade secrets managers (Vault, AWS Secrets Manager). Rotera dem omedelbart när de röjs och ta bort dem från Git-historiken med BFG Repo Cleaner.

Gratis att börja

Lär dig Cyber Security Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
303

Vanliga frågor

Är lektionen ”Skanning efter hemligheter och hårdkodade autentiseringsuppgifter” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Skanning efter hemligheter och hårdkodade autentiseringsuppgifter”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skanning efter hemligheter och hårdkodade autentiseringsuppgifter”?

Förhindra att API-nycklar och lösenord checkas in med git-secrets, gitleaks och pre-commit hooks. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?

Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Skanning efter hemligheter och hårdkodade autentiseringsuppgifter”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?

Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. SAST och DAST i CI/CD-pipelines
  2. Software Composition Analysis (SCA)
  3. Skanning efter hemligheter och hårdkodade autentiseringsuppgifter
  4. Security Champions och hotmodellering
← Tillbaka till Cyber Security Academy