This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
securitycritical PriorityID: cosign-keyless-slsa3-admission-invariant

Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant

Enforces admission-time cryptographic verification of short-lived OIDC identities, Rekor transparency log entries, and SLSA Level 3 build provenance for all containerized workloads. Blocks execution of untrusted, unverified, or tampered artifacts by validating that image digests match immutable cryptographic signatures anchored in the Fulcio root of trust prior to Kubernetes workload scheduling.

Prohibited Anti-Pattern: Admitting unverified container images, relying on static long-lived signing keys, or deploying without verifying SLSA Level 3 provenance predicates against Fulcio OIDC identities.

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant - Enforces admission-time cryptographic verification of short-lived OIDC identities, Rekor transparency log entries, and SLSA Level 3 build provenance for all containerized workloads. Blocks execution of untrusted, unverified, or tampered artifacts by validating that image digests match immutable cryptographic signatures anchored in the Fulcio root of trust prior to Kubernetes workload scheduling.
globs: k8s/**/*.yaml, deploy/**/*.yaml, policies/**/*.yaml, .github/workflows/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/cosign-keyless-slsa3-admission-invariant"
---

# Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant

> **Severity**: CRITICAL | **Category**: security
> **Anti-Pattern Warning**: Admitting unverified container images, relying on static long-lived signing keys, or deploying without verifying SLSA Level 3 provenance predicates against Fulcio OIDC identities.

## System Constraints
You are a Principal Supply Chain Security Architect enforcing Sigstore Cosign Keyless Attestation and SLSA Level 3 admission invariants. Workloads must never enter production clusters without verifiable OIDC-anchored provenance attestations and transparency log inclusion proofs verified at the Kubernetes admission boundary.

## Strict Guidelines
- Engineers MUST ALWAYS enforce image digest pinning (sha256:...) across all Pod specs and reject mutable container image tags at admission.
- Engineers MUST NOT use static, long-lived asymmetric private keys stored in CI secrets; keyless workflows with Fulcio-issued ephemeral certificates MUST be used.
- Admission policies MUST verify the certificate Subject Alternative Name (SAN) and Issuer against authorized CI/CD repository workflows (e.g., https://token.actions.githubusercontent.com).
- Services MUST validate Rekor transparency log proofs (Tlog) to guarantee non-repudiation and temporal consistency at admission time.
- Workload admission MUST mandate SLSA Level 3 provenance attestations (predicate type: https://slsa.dev/provenance/v1) and verify the builder identity, source repository, and entrypoint commit hash.
- Controllers MUST reject Pod creation requests when attestation signatures fail cryptographic verification or when Rekor entry lookup fails.

## Bad vs Good Implementations
### Kyverno ClusterPolicy: Enforce Keyless Attestation and SLSA Provenance

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Fails to verify cryptographic signatures or SLSA attestations. Runs in 'Audit' mode instead of 'Enforce', allows mutable tags other than ':latest', and fails to assert supply-chain integrity through Fulcio or Rekor.
```yaml
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: weak-image-policy
spec:
  validationFailureAction: Audit
  rules:
    - name: check-image-tag
      match:
        any:
          - resources:
              kinds:
                - Pod
      validate:
        message: "Image tag must not be latest"
        pattern:
          spec:
            containers:
              - image: "!*:latest"
```

#### Production Standard (Correct)
> **Standard**: Strictly enforces keyless Sigstore cryptographic verification at Kubernetes admission. Validates short-lived Fulcio OIDC certificates (GitHub Actions issuer and workflow SAN), requires Rekor transparency log verification, validates SLSA Level 3 provenance predicates, and mutates images to immutable SHA256 digests.
```yaml
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: enforce-sigstore-slsa3-attestation
spec:
  validationFailureAction: Enforce
  webhookTimeoutSeconds: 30
  rules:
    - name: verify-keyless-slsa-attestation
      match:
        any:
          - resources:
              kinds:
                - Pod
      verifyImages:
        - imageReferences:
            - "ghcr.io/my-org/*:*"
          mutateDigest: true
          verifyDigest: true
          required: true
          attestations:
            - predicateType: https://slsa.dev/provenance/v1
              conditions:
                - all:
                    - key: "{{ builder.id }}"
                      operator: Equals
                      value: "https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v2.0.0"
          attestors:
            - entries:
                - keyless:
                    subjectRegExp: "https://github.com/my-org/my-repo/.github/workflows/release.yml@refs/heads/main"
                    issuer: "https://token.actions.githubusercontent.com"
                    rekor:
                      url: "https://rekor.sigstore.dev"
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant

Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant defines an industrial-grade behavioral standard for security engineering. Enforces admission-time cryptographic verification of short-lived OIDC identities, Rekor transparency log entries, and SLSA Level 3 build provenance for all containerized workloads. Blocks execution of untrusted, unverified, or tampered artifacts by validating that image digests match immutable cryptographic signatures anchored in the Fulcio root of trust prior to Kubernetes workload scheduling. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Admitting unverified container images, relying on static long-lived signing keys, or deploying without verifying SLSA Level 3 provenance predicates against Fulcio OIDC identities. Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftAdmitting unverified container images, relying on static long-lived signing keys, or deploying without verifying SLSA Level 3 provenance predicates against Fulcio OIDC identities.Critical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS enforce image digest pinning (sha256

Engineers MUST ALWAYS enforce image digest pinning (sha256:...) across all Pod specs and reject mutable container image tags at admission.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST NOT use static, long-lived asymmetric private keys stored in CI secrets

Engineers MUST NOT use static, long-lived asymmetric private keys stored in CI secrets; keyless workflows with Fulcio-issued ephemeral certificates MUST be used.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Admission policies MUST verify the certificate Subject Alternative Name (SAN) and Issuer against authorized CI/CD repository workflows (e.g., https

Admission policies MUST verify the certificate Subject Alternative Name (SAN) and Issuer against authorized CI/CD repository workflows (e.g., https://token.actions.githubusercontent.com).

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Services MUST validate Rekor transparency log proofs (Tlog) to guarantee non-repudiation and temporal consistency at admission time.

Services MUST validate Rekor transparency log proofs (Tlog) to guarantee non-repudiation and temporal consistency at admission time.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Workload admission MUST mandate SLSA Level 3 provenance attestations (predicate type

Workload admission MUST mandate SLSA Level 3 provenance attestations (predicate type: https://slsa.dev/provenance/v1) and verify the builder identity, source repository, and entrypoint commit hash.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
6

Controllers MUST reject Pod creation requests when attestation signatures fail cryptographic verification or when Rekor entry lookup fails.

Controllers MUST reject Pod creation requests when attestation signatures fail cryptographic verification or when Rekor entry lookup fails.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is Sigstore Cosign Keyless Attestation and SLSA Level 3 Admission Invariant critical for AI coding assistants?

Enforces admission-time cryptographic verification of short-lived OIDC identities, Rekor transparency log entries, and SLSA Level 3 build provenance for all containerized workloads. Blocks execution of untrusted, unverified, or tampered artifacts by validating that image digests match immutable cryptographic signatures anchored in the Fulcio root of trust prior to Kubernetes workload scheduling. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Admitting unverified container images, relying on static long-lived signing keys, or deploying without verifying SLSA Level 3 provenance predicates against Fulcio OIDC identities.) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

Sigstore