Neues Paket ai/internal/promptguard: trennt Dokument-/Mailinhalt strukturell (Marker + Systemhinweis) von der Systemanweisung im Prompt-Aufbau, erkennt auffaellige Instruktions-Muster vor der Verarbeitung (extract, classify, summarize, docchat, invoiceextract).
extract.go validiert zusaetzlich das deklarierte Feldformat (Datum/Betrag) statt jeden gemeldeten Wert stillschweigend zu uebernehmen (FormatInvalid-Markierung).
Kein neuer Automatik-Codepfad: keine Freigabe-/Loesch-/Statusaenderungs-Aktion haengt an einem KI-Ergebnis; residency.Approve bleibt an einen menschlichen approvedBy gebunden.
Durchgefuehrte Pruefungen (Ergebnis)
Dokument mit eingebetteter Anweisung ("ignoriere vorherige Anweisung...") -> Verarbeitung folgt der eigentlichen Aufgabe, Muster wird erkannt: bestanden (Unit-Tests je Paket + real gegen office.sysops.de:11435 gpt-oss:20b, 100% Klassifizierungsgenauigkeit am gelabelten Set unveraendert).
Extraktionsergebnis ausserhalb des erwarteten Schemas/Formats wird abgelehnt/markiert, nicht stillschweigend uebernommen: bestanden (TestExtract_FieldOutsideExpectedFormat_RejectedAndMarked, zusaetzlich real reproduziert im Ollama-Testlauf).
Keine sicherheitsrelevante Aktion ohne menschliche Bestaetigung ausgeloest: bestanden (TestClassifyWithSchemaAudited_MaliciousDocument_OnlyLogsNoAutoAction, strukturell keine Automatik-Codepfade vorhanden).
Details, Zielwerte und vollstaendige Testausfuehrung: ai/docs/GOV-06-PRUEFPROTOKOLL.md
Bekannter, unabhaengiger Punkt: docchat_real_test.go TestAsk_Real_BelegAntwortZuordnungUndAntwortzeit ist bei Serverlast latenzbedingt flaky (vorbestehend, ausserhalb des Ticket-Scopes, nicht behoben).
## Zusammenfassung
- Neues Paket ai/internal/promptguard: trennt Dokument-/Mailinhalt strukturell (Marker + Systemhinweis) von der Systemanweisung im Prompt-Aufbau, erkennt auffaellige Instruktions-Muster vor der Verarbeitung (extract, classify, summarize, docchat, invoiceextract).
- extract.go validiert zusaetzlich das deklarierte Feldformat (Datum/Betrag) statt jeden gemeldeten Wert stillschweigend zu uebernehmen (FormatInvalid-Markierung).
- Kein neuer Automatik-Codepfad: keine Freigabe-/Loesch-/Statusaenderungs-Aktion haengt an einem KI-Ergebnis; residency.Approve bleibt an einen menschlichen approvedBy gebunden.
## Durchgefuehrte Pruefungen (Ergebnis)
1. Dokument mit eingebetteter Anweisung ("ignoriere vorherige Anweisung...") -> Verarbeitung folgt der eigentlichen Aufgabe, Muster wird erkannt: bestanden (Unit-Tests je Paket + real gegen office.sysops.de:11435 gpt-oss:20b, 100% Klassifizierungsgenauigkeit am gelabelten Set unveraendert).
2. Extraktionsergebnis ausserhalb des erwarteten Schemas/Formats wird abgelehnt/markiert, nicht stillschweigend uebernommen: bestanden (TestExtract_FieldOutsideExpectedFormat_RejectedAndMarked, zusaetzlich real reproduziert im Ollama-Testlauf).
3. Keine sicherheitsrelevante Aktion ohne menschliche Bestaetigung ausgeloest: bestanden (TestClassifyWithSchemaAudited_MaliciousDocument_OnlyLogsNoAutoAction, strukturell keine Automatik-Codepfade vorhanden).
Details, Zielwerte und vollstaendige Testausfuehrung: ai/docs/GOV-06-PRUEFPROTOKOLL.md
Bekannter, unabhaengiger Punkt: docchat_real_test.go TestAsk_Real_BelegAntwortZuordnungUndAntwortzeit ist bei Serverlast latenzbedingt flaky (vorbestehend, ausserhalb des Ticket-Scopes, nicht behoben).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Neues Paket ai/internal/promptguard trennt Dokument-/Mailinhalt strukturell
(Marker + Systemhinweis) von der Aufgabenbeschreibung im Prompt-Aufbau und
erkennt auffaellige Instruktions-Muster vor der Verarbeitung. Eingebunden in
extract, classify, summarize, docchat und invoiceextract. extract.go prueft
zusaetzlich das deklarierte Feldformat (Datum/Betrag) statt jeden vom Modell
gemeldeten Wert stillschweigend zu uebernehmen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick
merged commit 3970f3c939 into main2026-09-28 02:05:11 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Zusammenfassung
Durchgefuehrte Pruefungen (Ergebnis)
Details, Zielwerte und vollstaendige Testausfuehrung: ai/docs/GOV-06-PRUEFPROTOKOLL.md
Bekannter, unabhaengiger Punkt: docchat_real_test.go TestAsk_Real_BelegAntwortZuordnungUndAntwortzeit ist bei Serverlast latenzbedingt flaky (vorbestehend, ausserhalb des Ticket-Scopes, nicht behoben).
🤖 Generated with Claude Code