Skip to content

SIEP: Agent-produced code provenance fields #171

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions