Skip to content

SIEP: Agent-produced code provenance fields #171

@tomjwxf

Description

@tomjwxf

Edit from @eddie-knight

This was originally opened as pre-emptive discussion. As the conversation has coalesced into a proposal, I have adjusted the name accordingly. Please reference the comments below for the official SIEP details.

Hi maintainers,

Opening this as a scope-check question rather than a formal [SIEP] since I am a non-maintainer and want to gauge fit before asking for sponsorship.

Context

AI agents are increasingly producing code and commits in OSS repositories, typically through Claude Code, Cursor, or similar tool-calling hosts. A downstream consumer of a package looking at security-insights.yml can learn whether the project has a vulnerability reporting process, a signing policy, etc. They cannot currently learn whether the code was produced wholly or partly by an AI agent, and if so, what governance was in place.

This is a self-report gap that feels like a natural fit for Security Insights: machine-readable, self-declared, relative to the commit or release, and lets end-users and tooling make informed decisions. I do not think it fits SBOM (which is about dependencies, not production method) or SLSA directly (which is about build provenance, not self-declaration).

Sketch of what fields might look like

Not a formal proposal, just a starting point to discuss whether the shape is right:

project:
  agent-usage:
    status: partial   # none | partial | primary
    description: |
      AI agents are used for test generation and documentation updates
      under human review. Production code is primarily human-authored.
    governance:
      policy-source: https://github.com/example/policy.cedar
      policy-digest: sha256:8f3a...
      receipts-verifier: "npx @veritasacta/verify"
      receipts-format: draft-farley-acta-signed-receipts
    agents:
      - name: claude-code
        runtime-uri: https://claude.com/claude-code
      - name: cursor
        runtime-uri: https://cursor.sh

The fields are all self-declared (same trust model as the rest of SI), machine-parseable, and let downstream tooling filter or flag based on declared agent usage.

Questions for the maintainers

  1. Scope: is "production method" (human vs agent) something Security Insights wants to model, or is that out of scope on purpose?
  2. Precedent: are there existing fields I should map onto instead of proposing new ones? The closest I see are the repository.code-of-conduct and distribution-points fields, but neither is a tight fit.
  3. Sponsorship: if the idea has scope fit, is there a maintainer interested in sponsoring a formal SIEP? Happy to do the drafting and schema work.
  4. Timing: does this intersect with current work on the spec (e.g., is 2.2 or 3.0 accepting new top-level fields)?

Why this matters to the broader ecosystem

This intersects with several concurrent efforts I have been tracking:

The downstream piece that is missing is the self-declaration layer where a project announces "yes, agents produced some of this, here is how to verify." Security Insights already plays that role for the rest of the security posture, which is why I am asking here first.

Acknowledgment

Happy to defer to maintainer judgment on whether this fits the spec charter. If the answer is "out of scope, try OSPS Baseline or a sibling project instead," that is useful information too.

Thanks for the work on the spec.

Tom Farley
(independent contributor; author of draft-farley-acta-signed-receipts)

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions