feat: Pass 0b prompt v2 — container detection, merge-key, evidence separation, actionable titles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -394,18 +394,40 @@ ANALYSE-SCHRITTE (intern durchfuehren, NICHT im Output!):
|
||||
4. Bestimme den Nachweis (welches Dokument/Artefakt belegt Compliance?)
|
||||
|
||||
WICHTIGE REGELN:
|
||||
- Ein Control = EINE pruefbare Handlung. Nicht mehrere Handlungen mischen.
|
||||
- Dokumentation/Nachweis gehoert ins "evidence" Feld, NICHT als eigenes Control.
|
||||
FALSCH: "SBOM fuehren" + "SBOM dokumentieren" = 2 Controls
|
||||
RICHTIG: "SBOM fuehren" = 1 Control, Dokumentation = Evidence
|
||||
- Zertifizierung, Abdeckungspruefung, Audit-Berichte = Evidence, KEIN eigenes Control.
|
||||
- Security-Lifecycle sauber trennen: identifizieren, bewerten, beheben, ueberwachen
|
||||
sind je EIGENE Controls (verschiedene Handlungen, verschiedene Verantwortliche).
|
||||
- "Vertraulichkeit Unterauftragnehmer" + "Vertraulichkeit vertraglich sichern" = 1 Control
|
||||
(die vertragliche Sicherung ist die Umsetzungsmassnahme, nicht ein separates Control).
|
||||
- Der Titel muss die HANDLUNG enthalten, nicht nur den Gegenstand.
|
||||
FALSCH: "Vertraulichkeit Mitarbeiter"
|
||||
RICHTIG: "Mitarbeiter zur Vertraulichkeit verpflichten"
|
||||
|
||||
1. ATOMARITAET: Ein Control = EINE pruefbare Handlung. Nicht mehrere mischen.
|
||||
|
||||
2. EVIDENCE ≠ CONTROL: Dokumentation, Nachweis, Auditbericht, Zertifizierung,
|
||||
Screenshot, Export = Evidence-Feld. KEIN eigenes Control daraus machen.
|
||||
FALSCH: "SBOM fuehren" + "SBOM dokumentieren" = 2 Controls
|
||||
RICHTIG: "SBOM fuehren" = 1 Control, Dokumentation im Evidence-Feld.
|
||||
|
||||
3. CONTAINER ≠ ATOMAR: Abstrakte Oberbegriffe sind KEINE atomaren Controls.
|
||||
FALSCH als atomares Control: "Sichere Sitzungsverwaltung", "Token-Schutz",
|
||||
"Sorgfaltspflicht Drittkomponenten", "Umfassendes Risikomanagement".
|
||||
Wenn die Pflicht ein Container ist, zerlege sie in die konkreten Massnahmen.
|
||||
|
||||
4. LIFECYCLE TRENNEN: identifizieren, bewerten, beheben, ueberwachen
|
||||
sind je EIGENE Controls (verschiedene Handlungen, verschiedene Verantwortliche).
|
||||
|
||||
5. GLEICHER GEGENSTAND MERGEN: Gleicher Akteur + gleiche Handlung + gleicher
|
||||
Gegenstand = 1 Control mit mehreren Requirements/Evidence.
|
||||
FALSCH: "Unterauftragnehmer zur Vertraulichkeit verpflichten" +
|
||||
"Vertraulichkeit vertraglich sichern" = 2 Controls
|
||||
RICHTIG: 1 Control, vertragliche Sicherung = Requirement.
|
||||
|
||||
6. TITEL = SUCHANFRAGE: Der Titel wird als Suchanfrage gegen Kundendokumente
|
||||
und Quellcode verwendet. Er muss die HANDLUNG enthalten.
|
||||
FALSCH: "Vertraulichkeit Mitarbeiter"
|
||||
RICHTIG: "Mitarbeiter zur Vertraulichkeit und Geheimhaltung verpflichten"
|
||||
|
||||
7. MERGE-KEY: Erzeuge im JSON-Output ein zusaetzliches Feld "merge_key" mit
|
||||
dem Format: "action_type:normalized_object:control_phase"
|
||||
Beispiele:
|
||||
- "implement:api_rate_limiting:technical"
|
||||
- "define:access_control_policy:governance"
|
||||
- "monitor:third_party_vulnerabilities:operations"
|
||||
- "test:authentication_mechanism:verification"
|
||||
|
||||
Das Control muss UMSETZBAR sein — keine Gesetzesparaphrase.
|
||||
Antworte NUR als JSON. Keine Erklaerungen."""
|
||||
@@ -2077,13 +2099,14 @@ Quellreferenz: {source_ref}
|
||||
|
||||
Antworte als JSON:
|
||||
{{
|
||||
"title": "Kurzer Titel (max 80 Zeichen, deutsch)",
|
||||
"title": "Kurzer Titel (max 80 Zeichen, deutsch, HANDLUNG enthalten)",
|
||||
"objective": "Was muss erreicht werden? (1-2 Sätze)",
|
||||
"requirements": ["Konkrete Anforderung 1", "Anforderung 2"],
|
||||
"test_procedure": ["Prüfschritt 1", "Prüfschritt 2"],
|
||||
"evidence": ["Nachweis 1", "Nachweis 2"],
|
||||
"evidence": ["Nachweis/Dokument/Artefakt 1", "Nachweis 2"],
|
||||
"severity": "critical|high|medium|low",
|
||||
"category": "security|privacy|governance|operations|finance|reporting"
|
||||
"category": "security|privacy|governance|operations|finance|reporting",
|
||||
"merge_key": "action_type:normalized_object:control_phase"
|
||||
}}"""
|
||||
|
||||
|
||||
@@ -2168,13 +2191,14 @@ Antworte als JSON-Objekt. Fuer JEDE Pflicht ein Key (die Pflicht-ID):
|
||||
|
||||
Jedes Control hat dieses Format:
|
||||
{{
|
||||
"title": "Kurzer Titel (max 80 Zeichen, deutsch)",
|
||||
"title": "Kurzer Titel (max 80 Zeichen, deutsch, HANDLUNG enthalten)",
|
||||
"objective": "Was muss erreicht werden? (1-2 Sätze)",
|
||||
"requirements": ["Konkrete Anforderung 1", "Anforderung 2"],
|
||||
"test_procedure": ["Prüfschritt 1", "Prüfschritt 2"],
|
||||
"evidence": ["Nachweis 1", "Nachweis 2"],
|
||||
"evidence": ["Nachweis/Dokument/Artefakt 1", "Nachweis 2"],
|
||||
"severity": "critical|high|medium|low",
|
||||
"category": "security|privacy|governance|operations|finance|reporting"
|
||||
"category": "security|privacy|governance|operations|finance|reporting",
|
||||
"merge_key": "action_type:normalized_object:control_phase"
|
||||
}}"""
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user