Skip to content

fix(skills): harden RCS evidence handoff against prompt injection - #6

Merged
sent-dm merged 1 commit into
mainfrom
codex/fix-rcs-snyk-w011
Aug 9, 2026
Merged

fix(skills): harden RCS evidence handoff against prompt injection#6
sent-dm merged 1 commit into
mainfrom
codex/fix-rcs-snyk-w011

Conversation

@sent-dm

@sent-dm sent-dm commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • classify all RCS launch evidence as untrusted, inert data
  • replace free-form email synthesis with an allowlisted three-column checklist for user review and manual submission
  • forbid fetching supplied URLs, parsing attachments, following embedded instructions, including secrets, or transmitting evidence
  • add repository validation that preserves the security boundary and regenerate every packaged skill copy

Root cause

The previous RCS onboarding workflow routed customer-supplied URLs, message examples, consent wording, and support details into a prose handoff. That left no explicit trust boundary between third-party content and the agent composing the handoff, which triggered Snyk W011 for indirect prompt-injection exposure.

Impact

RCS onboarding still collects the information Sent needs, but the agent now performs only allowlisted structural handling. Supplied values remain quoted data, links remain unverified, and the user retains review and submission control.

Validation

  • quick_validate.py packages/sent/skills/rcs-agent-onboarding
  • scripts/validate.py
  • scripts/test_validation_gates.py — all 19 unsafe-drift cases rejected
  • generated root, Codex, portable-package, and Claude skill copies are byte-synchronized

Treat launch evidence as untrusted inert data and require a structured, manually submitted checklist instead of free-form synthesis or transmission. Add regression validation and refresh generated adapters.
@sent-dm
sent-dm merged commit 66cc99b into main Aug 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant