Grundlegendes Sicherheitsbewusstsein
Die fünf nicht verhandelbaren Regeln, an die sich jeder Entwickler halten muss
⏱ ca. ~5 Min
01 · Lesen
Du musst kein Sicherheitsexperte sein. Aber du musst unbedingt die Fehler vermeiden, die die meisten Sicherheitsvorfälle verursachen.
Die Wahrheit ist: Die meisten Sicherheitsvorfälle werden nicht durch raffinierte Hacker verursacht. Sie entstehen, weil Entwickler die Basics vergessen: Passwörter im Quellcode lassen, User-Input nicht validieren, HTTP-Endpoints, die HTTPS sein sollten.
Diese fünf Regeln halten dich aus dem Ärger heraus. Sie sind nicht optional — das ist das Minimum, um Code zu schreiben, dem andere vertrauen können.
02 · Lesen
Merke dir diese fünf Regeln. Sie decken die meisten Sicherheitsfehler ab, die Junior-Entwickler machen.
Kernpunkte
- Niemals Geheimnisse committen: API-Keys, Passwörter, Tokens → .env + .gitignore
- Niemals User-Input vertrauen: alles aus Formularen oder URLs vor der Nutzung sanitizen
- Immer HTTPS verwenden: niemals HTTP für etwas Echtes — Daten in Transit gehören verschlüsselt
- Abhängigkeiten aktuell halten: regelmäßig npm audit für bekannte Schwachstellen ausführen
- Keine sensiblen Daten loggen: niemals console.log(password) oder Tokens in Produktions-Logs
03 · Lesen
Du hast gerade eine App bekommen, die vor dem Go-Live noch geprüft werden muss. Schauen wir, wie viele Sicherheitsverletzungen du mit cat und grep finden kannst.
04 · Terminal-Übung
Lies zuerst den vollständigen Quellcode. Suche nach allem, was die fünf Sicherheitsregeln verletzt, die du gerade gelernt hast.
(Diese Sektion ist interaktiv — aktiviere JavaScript, um sie zu nutzen.)
05 · Terminal-Übung
Suche jetzt mit grep alle möglichen Sicherheitsverletzungen auf einmal — alles, was nach Passwort, Secret oder Key aussieht.
(Diese Sektion ist interaktiv — aktiviere JavaScript, um sie zu nutzen.)
06 · Code-Beispiel
So sieht die korrigierte Version aus. Vergleiche mit dem, was du gesehen hast — jede Sicherheitsverletzung wurde behandelt.
app.js — Sicherheitsprobleme behoben
require('dotenv').config();
const express = require('express');
const app = express();
// Secrets from .env, not hardcoded
const API_SECRET = process.env.API_SECRET;
app.post('/login', (req, res) => {
// POST body, not URL query string
const { username, password } = req.body;
console.log('Login attempt:', username);
// No password logged! Compare with hashed version in DB
});
app.listen(process.env.PORT || 3000, () => {
console.log('Server running');
// No secrets logged!
});
Die Fixes: (1) Geheimnisse über dotenv in die .env verschoben, (2) Login per POST (Body) statt GET (URL), (3) nur den Benutzernamen loggen — niemals das Passwort, (4) keine hartcodierten Passwortvergleiche — ein vernünftiges Auth-System mit gehashten Passwörtern verwenden, (5) Start-Logs verraten keine Geheimnisse.
07 · Quiz
Welche der folgenden Dateien sollte niemals in git committet werden?
- package.json
- Eine .env-Datei mit API-Keys
- index.html
- README.md
08 · Ausfüllen
Um die Abhängigkeiten deines Projekts auf bekannte Schwachstellen zu prüfen, führst du npm _____ aus.
Andere Lektionen aus diesem Kapitel
⚠ Das volle interaktive Erlebnis braucht JavaScript. Bitte aktiviere es und lade die Seite neu.
※ Diese Seite ist ein unabhängiges Bildungsprojekt — kein offizielles Anthropic-Produkt. Claude™ ist eine eingetragene Marke von Anthropic, PBC.