Security-Audit-Skill
Die exakte Methodik, mit der wir unsere monatlichen Sicherheits-Audits durchführen — öffentlich nachvollziehbar.
Was ist das hier?
Diese Seite dokumentiert rankion-security-audit — eine Claude-Code-Skill, die wir intern ausführen, um Rankion monatlich (und ad-hoc vor jedem Major-Deploy) auf Sicherheitsprobleme zu prüfen. Die Ergebnisse landen — in redigierter Form — auf /trust/security-audits.
Wir veröffentlichen Methodik, Checkliste und Redaktions-Regeln, damit du nachvollziehen kannst, was wir prüfen und warum bestimmte Details nicht öffentlich sind (responsible disclosure: konkrete Schwachstellen bleiben privat, bis sie gepatcht sind).
Wie wir es ausführen
Der Audit ist eine Claude-Code-Skill — ein versionierter Workflow aus Prompts und Bash-Befehlen, den ein Engineer in einer Claude-Code-Session triggert. Das ist bewusst kein Black-Box-Cron:
- jeder Schritt ist im Skill-Markdown dokumentiert (siehe unten)
- jede Ausgabe wird vom Engineer gegen die Checkliste verifiziert
- Findings werden in zwei Files geschrieben: ein privater JSON-Bericht (für die interne Patch-Pipeline) und ein redigiertes Public-Markdown (für den Trust-Center-Log)
Kadenz: monatlich am 15. (oder nächster Werktag) plus ad-hoc vor jedem Deploy, der Auth, Sessions, Dependencies oder Environment-Konfiguration berührt.
Skill-Definition
Die Skill besteht aus drei Markdown-Files (Skill-Definition + zwei Reference-Files). Die wichtigsten Schritte:
- Setup — Working-Directory + Git-Status prüfen, Datum festhalten, Reference-Files laden.
- Dependency-Audit —
composer audit+npm audit --omit=dev, Ergebnisse pro Severity zählen. - HTTP-Header-Check — Live-Request gegen rankion.ai, sechs Sicherheits-Header-Klassen verifizieren.
- Konfigurations-Verifikation — Exposure-Tests gegen `.env`, Debug-Routen und VCS-Verzeichnisse.
- Code-Pattern-Scan — Diff der letzten 30 Tage, plus statische Greps auf gefährliche Patterns.
- Versions-Check — PHP- und Laravel-Release gegen Support-Matrix.
- Output-Generierung — strukturiertes JSON (privat) plus redigiertes Markdown (öffentlich).
- Redaktions-Validierung — automatisierte Greps gegen die Privacy-Allowlist (siehe unten).
Audit-Checkliste — die 7 Bereiche
A · Dependencies
composer audit + npm audit (production-only). Laravel- und PHP-Version gegen Support-Matrix.
B · HTTP-Header
HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Content-Security-Policy, Permissions-Policy. Server-Header darf keine Version leaken.
C · Konfiguration
Environment-Files nicht abrufbar, Debug-Modus aus, keine Dev-Routen erreichbar, kein VCS-Verzeichnis exponiert.
D · Auth / Session
CSRF-Tokens auf POST-Forms, Session-Cookies mit Secure + HttpOnly + SameSite, Sanctum-Tokens gehasht, bcrypt-Cost >= 10.
E · Code-Patterns
Keine SQL-Injection-Risiken, keine offene Mass-Assignment, keine unserialize/eval auf User-Input, sichere File-Upload-Validierung, Output-Escaping.
F · AI-spezifisch
Sub-Processor-Liste deckungsgleich zwischen Code-Inventory, Privacy-Page und Trust-Center; LLM-Calls strikt team-scoped; PII-haltige Prompts gekennzeichnet.
G · Operational
Backups aktuell und restorable, Queue-Worker gesund, Disk-Usage < 80%, keine Brute-Force-Anomalien.
Redaktions-Regeln
Der Skill schreibt zwei Files pro Audit: ein vollständiges JSON (intern) und ein redigiertes Markdown (öffentlich auf /trust/security-audits). Diese Allowlist trennt beide:
Wird veröffentlicht
- Audit-Datum, Auditor, Scope
- Aggregierte Severity-Counts (kritisch/hoch/mittel/niedrig)
- Status-Aggregate (z.B. „alle hohen Findings binnen 24h behoben")
- Methodik-Übersicht und nächster Audit-Termin
Wird NIE veröffentlicht (bis gepatcht + 14 Tage)
- File-Pfade aus dem Codebase
- CVE-Nummern offener Findings
- Library-Namen + Versionen aktuell verwundbarer Dependencies
- HTTP-Pfade oder Parameter verwundbarer Endpoints
- Reproduktions-Schritte für Exploits
- Inhalte der internen JSON-Felder „details" und „remediation"
Die Validierung läuft automatisiert vor jedem Commit: ein Grep-Set prüft das Public-Markdown gegen die Sperr-Patterns. Bei Treffer wird der Public-File neu redigiert, bevor commit/push erlaubt ist.
Kadenz
- Monatlich am 15. (oder nächster Werktag) — regulärer Baseline-Audit; Public-MD landet auf /trust/security-audits.
- Ad-hoc vor jedem Major-Deploy mit Auswirkung auf Auth, Sessions, Dependencies oder Environment-Konfiguration.
- Patch-Fristen: kritische CVEs binnen 72h, hohe binnen 7 Tagen, mittlere im laufenden Sprint.
Schwachstelle gefunden? Bitte nutze unser Responsible-Disclosure-Verfahren. Wir bestätigen den Eingang innerhalb von 2 Werktagen.
Letzte Aktualisierung: 03.05.2026 · Skill-Version 1.0