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

RFC: Signed attestation for repo-local agent instruction files

Ouverte
#429 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

RFC-proposal security
Langage dominant
TypeScript
Étoiles
146
Forks
46
Merge moyen
3 j 10 h
PR mergées (30 j)
24

Description

Primary area

** Cross-cutting / multiple

Related issue or feature request

Complements roadmap MCP supply-chain controls and Untrusted hydration content boundaries.

Summary

Introduce optional cryptographic attestation for trusted instruction sources (AGENTS.md, .claude/rules/, workflow prompt fragments) so the agent runtime loads only files signed by an approved publisher key. Unsigned or tampered files are rejected or downgraded to untrusted reference text.

Use case and motivation

Prompt injection via markdown instruction files is structural: any file the agent reads may contain adversarial directives. Policy-at-the-LLM-layer is bypassable. High-trust repos need assurance that harness content was not substituted on a feature branch or via compromised commit access.

Proposal

Trust model
  • Operator publishes org signing key (KMS or offline) referenced in Blueprint.
  • Trusted paths list per repo; each file has sidecar signature path.sig or embedded manifest in .abca/trust-manifest.json.
  • Agent bootstrap verifies signature before merging rules into context; failures fail-closed for high-trust mode, warn-only for standard mode.
UX before / after

Before: Agent loads any committed markdown rules.

After: Blueprint instruction_trust_mode: strict|warn|off; strict blocks task start on verification failure.

Phases
  1. Manifest format + verification library in agent (policy.py / loader).
  2. CLI bgagent trust sign for local dev ergonomics.
  3. CI check optional in contributor guide.

Out of scope

  • Signing every source code file.
  • Replacing Cedar tool-call policy.
  • Kernel-level enforcement (see runtime telemetry RFC).

Potential challenges

  • Key rotation and manifest updates on forked PRs from external contributors.
  • UX friction for small teams—must default to off.
  • Parity between Python agent and any future TypeScript dry-run path.

Dependencies and integrations

  • repo-config, REPO_ONBOARDING.md, SECURITY.md
  • KMS for managed keys in AWS deployments

Alternative solutions

  • Git commit signature verification only — does not protect against malicious maintainer commits on branch.
  • Hash allowlist in Blueprint — brittle without signing pipeline.

Note: Non-triaged RFCs may not get timely review. PRs on non-triaged issues might not be accepted.

  • RFC PR:
  • Approved by:
  • Reviewed by:

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner les points d’intégration proposés dans policy.py/loader, ainsi que repo-config, REPO_ONBOARDING.md et SECURITY.md. Clarifiez le format du manifeste, le comportement de la vérification, les modes de confiance de Blueprint et la portée des trois phases proposées avant l’implémentation. Le travail est considéré comme terminé lorsque le RFC dispose d’une conception approuvée et d’un chemin d’implémentation dont le périmètre est explicitement défini.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, python, typescript
Domaine
security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.