leistungsbilanz-ts/.agents/skills/pre-release-gate/SKILL.md
Grovy311 67476ea59b Add agent security skills for Codex and Claude Code
Same skills in .agents/skills (Codex) and .claude/skills (Claude Code):
codeguard, security-review, dependency-vetting, pre-release-gate,
authz-idor-audit, threat-model-light. Source: cj/claude-skills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 09:40:33 +02:00

52 lines
2.4 KiB
Markdown

---
name: pre-release-gate
description: >
Release-Freigabe vor einem Deploy: führt die Baseline-Prüfungen aus, wertet die ASVS-light-
Checkliste aus und liefert ein Urteil Go / Go mit Auflagen / No-Go.
TRIGGER WENN der User sagt: "deployen", "Release", "live stellen", "ist das bereit",
"Go/No-Go", "Release-Check", "/pre-release-gate", oder bevor ein Agent einen Deploy anstößt.
Ergebnis: Urteil mit Begründung und den drei wichtigsten Befunden.
---
# pre-release-gate
Ein Deploy ohne dieses Gate ist nicht freigegeben. Das Gate deployt **nicht** selbst; der Deploy
braucht danach die ausdrückliche Freigabe des Users.
## Ablauf (im App-Repo)
1. Stand festhalten: Branch, Commit, Unterschied zum letzten Release (`git log --oneline <tag>..HEAD`).
2. Prüfungen ausführen und jedes Ergebnis notieren (grün / rot / **nicht ausgeführt** + Grund):
```bash
make check # Secrets, Lint, Tests, SAST, Dependency-Audit
make mutation # falls security-mutations.toml existiert
make container IMAGE=<image:tag> # falls Container-Deploy
```
Nach dem Deploy auf Staging/Testinstanz zusätzlich `make zap TARGET=<url>` und
`make fuzz TARGET=<url>` (nur gegen eigene Instanzen).
3. Checkliste `security-review/references/asvs-light.md` durchgehen: jeder **K**-Punkt braucht
einen Beleg (Test, Scan, Konfiguration). Kein Beleg = offen.
4. Deploy-Konfiguration prüfen: App-Port nicht am Proxy vorbei erreichbar (Compose `ports:`),
Debug aus, Secrets aus Secret-Store/Env, Backups vor Migrationen.
5. Lag seit dem letzten Review ein größerer KI-Diff an Auth/Rollen? → `security-review` im
frischen Kontext, falls noch nicht geschehen.
## Urteil
- **No-Go**, wenn eins zutrifft: ein K-Punkt offen, Secrets gefunden, Tests rot,
High/Critical in Dependencies oder Image ohne dokumentierte Ausnahme, Mutation überlebt.
- **Go mit Auflagen**: nur H-/M-Punkte offen, jeder mit Entscheidung (fixen/akzeptieren) und Termin.
Auflagen als Issues im Repo der App vorschlagen.
- **Go**: alles grün **und** jeder Schritt tatsächlich ausgeführt. Ein „nicht ausgeführt“ bei
einer Pflichtprüfung macht aus Go höchstens „Go mit Auflagen“.
## Ausgabe
```
Urteil: No-Go | Go mit Auflagen | Go
Stand: <branch>@<commit>
Prüfungen: make check ✅ | mutation ✅ 10/10 | container ⏭ nicht ausgeführt (kein Image) | ...
Top-3-Befunde:
1. [K] ... (Datei:Zeile, Beleg)
2. ...
Auflagen / nächste Schritte: ...
```