aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

docs(security): record the fail-open content-screening posture as an ADR (extend ADR-009 or add ADR-023)

Offen Anfängerfreundlich
#793 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
documentation P2 security
Vorherrschende Sprache
TypeScript
Sterne
146
Forks
46
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
24

Beschreibung

Non-blocking follow-up from the PR #788 review (and @scottschreckengaust's #756 triage).

## Problem

PR #788 added the same fail-open justification as ~4 independent inline `nosemgrep` comments across the webhook screening paths (`jira-webhook-processor.ts` `screenCommentsOrDrop`; `linear-webhook-processor.ts` `screenProjectDocsOrDrop` / `screenCommentsOrDrop`). Fail-open on a **content-screening** outage is a deliberate *security posture* choice — defensible for advisory third-party enrichment (comments/docs are dropped, logged, and the reporter's own task proceeds) — but right now that decision is re-litigated per call site instead of being recorded once.

Per the triage: "it should be an ADR line rather than four independent inline comments."

## Proposed fix

Record the posture once as a short ADR — either a section in **ADR-009 (security-posture-dev-agents)** or a new **ADR-023** — stating:

- **Advisory third-party enrichment** (Jira/Linear comments + project docs) screening **fails open**: on a guardrail/screening outage the content is *dropped* (never admitted unscreened) and the task proceeds on the reporter-authored title/description.
- **Reporter-authored content and attachments** screening **fails closed** — the boundary the code already draws (e.g. the attachment paperclip path in `linear-webhook-processor.ts`).
- The inline `nosemgrep` comments then reference the ADR instead of each restating the rationale.

Regenerate the Starlight mirror (`mise //docs:sync`) after adding/editing the ADR.

## Context

- PR #788 (Category 3 suppressions), #756 (umbrella), #730 (anti-blanket-suppression precedent)
- The fail-open / fail-closed boundary was confirmed correct in the PR #788 review — third-party content is *dropped*, never admitted unscreened.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit ADR-009 und den referenzierten Webhook-Pfaden in jira-webhook-processor.ts und linear-webhook-processor.ts und entscheide dann, ob ADR-009 erweitert oder ADR-023 hinzugefügt werden soll. Halte die Fail-open- und Fail-closed-Grenzen fest, aktualisiere die Inline-nosemgrep-Referenzen und führe mise //docs:sync aus, um den Starlight mirror neu zu generieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
documentation, security
Issue-Typ
Dokumentation
Schwierigkeit
2/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
74/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.