CommunityCodierung & Entwicklunggithub.com

Sichere Web-App-Entwicklung

Nutzung für OWASP-basierte Sicherheitshinweise beim Erstellen, Bearbeiten oder Überprüfen von Webanwendungen. Aktivieren Sie es proaktiv für Authentifizierung, Sessions, JWT/OAuth/OIDC, Benutzereingaben, Datenbankabfragen, Datei-Uploads, API-Endpunkte, Cookies/CORS/CSP/Sicherheitsheader, Geheimnisse, Weiterleitungen, externe URL-Aufrufe, Logging/Fehler, Abhängigkeiten, Bedrohungsmodellierung, Härtung, Audits, LLM/KI-Funktionen wie Prompt-Handling, Agent-Tools und MCP-Server oder Schwachstellenklassen wie XSS, SQLi, IDOR, CSRF, SSRF, offene Weiterleitung, Prototype Pollution, Deserialisierung, Prompt Injection und Supply-Chain-Risiken.

Was ist Sichere Web-App-Entwicklung?

Diese Fähigkeit verwandelt die OWASP Top 10:2025, ASVS 5.0, die Cheat Sheet Series und ausgewähltes WSTG-Material in praktische Sicherheitsleitlinien für Webanwendungen. Sie arbeitet in mehreren Modi, die je nach Bedarf aufgerufen werden können: Audit (vollständige priorisierte Überprüfung), Quick-Check (nur die höchsten Risiken), Härten (direkte sichere Änderungen), Remediation (iterativer Audit-Fix-Zyklus), Design-Review (Bedrohungsmodell vor der Implementierung), Bericht (formaler Bericht), Update und Wartung. Die Fähigkeit lädt nur die Referenzen, die für die jeweilige Aufgabe benötigt werden, und vermeidet Massenladungen. Sie ist agentenunabhängig und funktioniert in Claude Code, Codex, Gemini CLI und anderen Tools, die Fähigkeiten oder AGENTS.md/GEMINI.md laden. Sie überwacht ständig eine Liste von 20 kritischen Sicherheitsproblemen, wie fehlende Autorisierungsprüfungen, hartcodierte Geheimnisse, unsichere Datenbankabfragen, JWT-Schwachstellen und SSRF-Risiken. Die Fähigkeit schreibt standardmäßig sicheren Code, gibt keine bewusst unsicheren Codebeispiele aus und führt keinen Penetrationstest durch – sie ist auf Code- und Design-Reviews spezialisiert. Sie unterstützt gängige Web-Stacks wie Next.js, Express, Django, Flask, FastAPI, Rails, Spring, Laravel, Go und ähnliche Frameworks.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/gabrielereylane/lovable-skills/tree/HEAD/.agents/skills/secure-webapp

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Sichere Web-App-Programmierung

Verwandelt OWASP Top 10:2025, ASVS 5.0, die Cheat Sheet Series und ausgewähltes WSTG-Material in praktische Sicherheitsleitlinien für Webanwendungen.

Standard (inline): Sicherheitsbewusst programmieren ohne große Erklärungen; nur das wichtigste Sicherheitsproblem in der Nähe anzeigen. Audit: Bei Aufforderung mit "review", "audit", "harden", "is this secure?" oder einer Incident-Nachbereitung — lies assets/audit-checklist.md und erstelle priorisierte Ergebnisse.

Modi, aufgerufen als $secure-webapp <modus>:

  • $secure-webapp audit: vollständige priorisierte Überprüfung; lies assets/audit-checklist.md.
  • $secure-webapp quick-check: nur die höchsten Risiken prüfen — Autorisierung, Authentifizierung/Session, Geheimnisse, Injection/XSS, Uploads, SSRF, Tokens. Kein vollständiger Checklistenbericht.
  • $secure-webapp harden: sichere Änderungen direkt anwenden, wo Bearbeitungen autorisiert sind; kleine Patches, die die Architektur erhalten; überprüfen und ggf. Produktfreigabe anfordern.
  • $secure-webapp remediate: iterativer Audit→Fix-Loop; lies zuerst assets/remediate-checklist.md vollständig.
  • $secure-webapp design-review: Bedrohungsmodell vor der Implementierung — Annahmen, Vertrauensgrenzen, Missbrauchsfälle, zwingend erforderliche Kontrollen, offene Fragen.
  • $secure-webapp report: Erstelle einen formellen Bericht in docs/security-audit-report-YYYY-MM-DD.md; lies zuerst assets/report-template.md vollständig und befolge jeden Schritt. Erfordert ein vorheriges Audit in dieser Sitzung. Schreibe die Datei, nie in den Chat.
  • $secure-webapp update: Selbstaktualisierung dieser Installation durch Ausführen von npx --yes github:hov172/secure-webapp-skill --global. Es prüft die Version und installiert nur neu, wenn eine neuere Version existiert. Flags: --claude/--codex/--gemini, --check, --force.
  • $secure-webapp maintain: Aktualisiere das Skill-Paket selbst, aus einem Klon des Quell-Repositorys — siehe scripts/README.md.

Lade nur die Referenzen, die die Aufgabe benötigt. Lade niemals alle auf einmal.

Routings

Aufgabe betrifftLade
Nicht vertrauenswürdige Zeichenketten, die als HTML/DOM/SQL/Shell/NoSQL/LDAP/Regex/CSV interpretiert werdenreferences/input-handling.md
Login, Registrierung, Passwörter, MFA, Zurücksetzen, Brute-Force, Sessions, Cookies, Logoutreferences/auth-and-sessions.md
Berechtigungen, Rollen, Eigentümerprüfungen, IDOR, Mandantenisolierungreferences/authorization.md
JWTs, API-/Refresh-Tokens, Signierung und Verifizierung, OAuth/OIDC, PKCE, Statereferences/tokens-and-oauth.md
REST/GraphQL/WebSocket-Endpunkte, Ratenbegrenzung, Massenzuweisung, Antwortform, Uploads/Downloads, Path Traversal, Pre-Signed-URLsreferences/apis-and-files.md
Secure/HttpOnly/SameSite, CSP, CORS, CSRF, Header, Iframes, postMessagereferences/frontend-and-headers.md
Umgebungsvariablen, .env, Schlüssel, Secrets Manager, Debug-Modus, Standardwertereferences/secrets-and-config.md
Verschlüsselung, Passwort-Hashing, Algorithmen, Schlüsselverwaltung, PIIreferences/data-and-crypto.md
Abhängigkeiten, Lockfiles, SBOM, CI/CD, GitHub Actions, signierte Artefaktereferences/supply-chain.md
Benutzerkontrollierte externe URLs, SSRF, Race Conditions, Deserialisierung, Prototype Pollutionreferences/secure-coding.md
Logging, Fehlerantworten, Stack Traces, Prüfpfade, Fail-Closed, Rollbackreferences/logging-and-errors.md
Design neuer Funktionen, Bedrohungsmodellierung, Multi-Tenancy, Secure-by-Design-Entscheidungenreferences/insecure-design.md
LLM/KI-Funktionen, Prompt-Konstruktion, RAG, Agent-Tool-Aufrufe, MCP-Server, gerenderte oder ausgeführte Modellausgabenreferences/ai-and-llm.md

Immer-Aktive-Watchlist

Markiere diese Probleme beiläufig, wenn sie in Web-Code gesehen werden, mit einer konkreten Korrektur:

  1. Fehlende serverseitige Authentifizierungs-/Eigentumsprüfungen auf Ressourcen-Routen. Bevorzuge Query-Ebene-Scoping wie WHERE owner_id = :current_user.
  2. Hartcodierte Geheimnisse, Anmeldeinformationen, JWT-Geheimnisse, API-Schlüssel oder eingecheckte .env-Dateien.
  3. String-basierte SQL/NoSQL/Shell-Abfragen. Verwende parametrisierte Abfragen, sichere Builder oder argv-APIs.
  4. Klartext- oder schnell gehashte Passwörter. Verwende argon2id, scrypt oder bcrypt; PBKDF2 nur, wenn erforderlich.
  5. JWT-Verifizierung mit nicht fixierten Algorithmen, fehlenden exp/iss/aud-Prüfungen oder Geheimnissen im Code.
  6. dangerouslySetInnerHTML, v-html oder innerHTML mit Benutzerinhalten. Als Text rendern oder bereinigen.
  7. Berechtigte CORS mit Wildcard- oder geechoeten Ursprüngen. Verwende eine strenge Allowlist.
  8. Fehlende Ratenbegrenzung bei Login, Registrierung, Zurücksetzen, MFA/OTP oder teuren Endpunkten.
  9. Ausführliche Produktionsfehler, Stack Traces, SQL/ORM-Details oder Debug-Modus, die an Clients weitergegeben werden.
  10. Offene Weiterleitungen von nicht validierten next-, returnTo- oder URL-Parametern.
  11. SSRF von benutzergelieferten URLs ohne Allowlists und Private-IP-Blockierung nach DNS und Weiterleitungen.
  12. Protokolle, die Passwörter, Tokens, Session-IDs, Geheimnisse oder unnötige PII enthalten.
  13. Nur clientseitige Sicherheitskontrollen: versteckte Felder, deaktivierte Buttons, Client-Rollenansprüche, Frontend-only-Validierung.
  14. Datei-Uploads ohne Größen-, Typ-, Pfad-, Speicher- oder generierte Namens-Kontrollen.
  15. Fail-Open-Ausnahmepfade bei Authentifizierung, Autorisierung, Ratenbegrenzung, Feature-Flags oder Transaktionen.
  16. Nicht-atomare Statusänderungen für Guthaben, Kontingente, Zahlungen, Bestand, Gutscheine oder Einmal-Token.
  17. Modell/LLM-Ausgabe, die ungeprüft ein Ziel erreicht — innerHTML, Shell, SQL, Dateipfade, fetch-URLs oder ein nachgelagerter Agent. Behandle sie als nicht vertrauenswürdige Eingabe.
  18. Agent-Tool-Aufrufe, die gegen das Service-Konto und nicht gegen den Endbenutzer autorisiert sind, oder generische run_shell-/execute_sql-/http_request-Tools, die Prompt Injection in RCE, SQLi oder SSRF verwandeln.
  19. Nicht vertrauenswürdiger Text, der in einen System-Prompt eingefügt wird; Geheimnisse oder Daten anderer Benutzer im Modellkontext.
  20. Veränderbare Abhängigkeits- oder CI-Action-Referenzen, wo Pinning und Lockfiles erwartet werden — ein verschobener Tag führt Angreifer-Code in diesem Job mit dessen Geheimnissen aus. Bewerte als Hoch, wenn der Job Bereitstellungs-Anmeldeinformationen, Signierschlüssel oder Veröffentlichungsrechte hält; Gleiches gilt für langlebige Cloud-Anmeldeinformationen, wo OIDC existiert. Überprüfe jeden Workspace in einem Monorepo und markiere ein --audit-level schwächer als high.

Verhalten

  • Schreibe standardmäßig sicheren Code, ohne lange Erklärungen. Nenne sicherheitsrelevante Entscheidungen kurz, wenn nützlich.
  • Passe die Gründlichkeit an die Bedeutung der App an; erzwinge keine Unternehmenskontrollen in Wegwerf-Prototypen.
  • Erstelle niemals absichtlich unsicheren Code. Biete die sichere Alternative an und nenne die Einschränkung in einem Satz.
  • Bei neuen Vertrauensgrenzen-Funktionen prüfe: nicht vertrauenswürdige Eingabe, Autorisierung, Fehlermodus, gespeicherte Daten, Missbrauchspfad.
  • Bei Audits inspiziere echten Code, stelle nur wesentliche Abgrenzungsfragen und melde Schweregrad + Ort + Beweis + Korrektur, priorisiert.
  • Zitiere OWASP-Anforderungsnummern nicht, es sei denn, du wirst danach gefragt.
  • Behaupte nicht, Penetrationstests durchzuführen; dies ist eine Code- und Design-Überprüfung.

Umfang

Gängige Web-Stacks — Next.js, Express, Django, Flask, FastAPI, Rails, Spring, Laravel, Go und ähnliche. Für Nischenbereiche, die die Referenzen nicht abdecken, weise darauf hin und verweise auf die relevante OWASP-Quelle, anstatt zu raten.

Agenten-unabhängig: Funktioniert in Claude Code, Codex, Gemini CLI und allem anderen, das Fähigkeiten lädt oder AGENTS.md/GEMINI.md liest. Wo diese Datei ein Tool benennt, verwende dein eigenes Äquivalent.

Verwandte Skills