Xygeni User Guides
  • Welcome to Xygeni
  • Getting Started
    • Create a Free Trial Account
    • Quick start with your code repository
    • Quick start with Xygeni CLI
    • Quick start with a preloaded project
    • Log in to Xygeni
    • Subscribe to Xygeni
  • Introduction to Xygeni
    • Key Concepts
      • Projects in Xygeni
      • Project Baseline
      • Detected Issues
      • Remediation Actions
      • Policies
      • Risk Level
      • SDLC Inventory
      • Standards Compliance
      • GuardRails
    • Xygeni Products
    • How Xygeni works
    • Xygeni Web UI Overview
      • Projects Screen
        • Risk Level
    • Integrating Xygeni into your Workflow
    • Prioritization Funnels
      • Custom Funnels
      • Prioritization Criteria (Stages)
        • Reachability
        • Exploitability
        • Fixable
    • Guardrails
    • Generate a SBOM
    • Reports
      • Trends
      • Scan History
    • Supported Integrations
    • Customizations
  • Xygeni Products
    • Application Security Posture Management (ASPM)
      • ASPM User Interface Guide
      • All Risks
        • Statistics
        • Issues Evolution
        • Issue Comparison Between Different Scans
      • Governance
      • Inventory
        • All Assets
        • Repositories
        • Components
        • CI/CD Assets
        • Delivery Assets
        • Systems & Tools
        • Collaborators
      • Health Check
      • Inventory Scanner
        • Inventory Scanner Configuration
        • Inventory Collaborators Scan
      • Importing reports from 3rd party tools
        • External Scanners Supported
          • Report upload for Kiuwan
            • ExportRule (.java)
    • Code Security (SAST)
      • Code Security (SAST) User Interface Guide
        • Risks (SAST)
        • Malicious Code
      • Malware Scanner
        • Malware Scanner Configuration
        • Malware Detectors
      • SAST Scanner
        • SAST Scanner Configuration
    • Open Source (SCA)
      • Open Source (SCA) User Interface Guide
      • Open Source Components
      • Supported Package Managers for dependency resolution
      • Risks (SCA)
      • OSS Prioritization Funnels
      • OSS Auto-Remediation
      • Malware Early Warning (MEW)
        • How Malware Early Warning works
        • Common types of Malware found in open source packages
      • Dependency Scanner
        • Dependency scanner configuration
        • Dependency Analyzers
      • Suspect Dependencies Scanner
        • Suspect Deps Scanner Configuration
        • Suspect Deps Detectors
    • CI/CD Security
      • CI/CD Security User Interface Guide
      • CI/CD Details
      • Build Attestations
      • CI/CD Scanner
        • CI/CD Misconfigurations Scanner Configuration
      • Compliance Scanner
        • Supported compliance standards
    • Secrets Security
      • Secrets User Interface Guide
      • Secrets Scanner
        • Secrets scanner configuration
      • Secret Leaks Handling
        • Secret Leaks Handling
        • How to Prevent Hard-Coded Secrets
        • Secret Leaks Handling CheatSheet
      • Secrets Auto-Remediation
    • IaC Security
      • IaC User Interface Guide
      • IaC Scanner
        • IaC Scanner Configuration
    • Malware
    • Build Security
      • Build Security Concepts
      • Build Attestations
      • Attestation format
      • How SALT works
      • Installing Salt CLI
      • Salt Command-Line Reference
      • SALT Architecture
      • SALT How To…​
    • Anomalous Activity Detection
      • Anomalous Activity Detection User Interface Guide
      • Xygeni Sensors
        • Xygeni Sensor for Azure
        • Xygeni Sensor for BitBucket
        • Xygeni Sensor for GitHub
          • GitHub Audit Log Processing
        • Xygeni Sensor for GitLab
        • Xygeni Sensor for Jenkins
        • Anomaly Detection's Detectors
      • Code Tampering Scanner
        • Code Tampering Scanner Configuration
    • Compliance & Malware Insights
      • SSCS Compliance
      • Malicious Packages DB
  • Scan Management
    • Manage Scans
    • Scan History
  • Xygeni Scanner CLI
    • Xygeni Scanners
    • Xygeni CLI Overview
      • Xygeni CLI Prerequisites
      • Xygeni CLI Installation
      • Xygeni CLI Docker Image
      • Xygeni CLI Authentication
        • CLI Authentication with Xygeni
      • SCM, CI/ CD and Container Registry tokens
      • Xygeni CLI Operation Modes
        • Single scan
          • Scanning a docker image
        • Multi Scan
        • Organization scan
      • Xygeni CLI Configuration options
      • Xygeni CLI Output Formats
      • Exporting Xygeni results to 3rd party tools
      • Automatic Remediation
      • Generate SBOM with the Xygeni CLI
      • CLI utils
        • Credentials Encryption
        • Central Configuration
      • Xygeni Guardrails
        • CI/CD Audit Analysis
      • Xygeni CLI Error Codes
      • Xygeni Scanner Reference
  • Xygeni Administration
    • Platform Administration
      • Profile
      • Subscription
      • Users Management
      • Projects Management
      • Groups Management
      • Policies
      • Integrations
        • Xygeni Single Sign-On (SSO) Authentication
          • SSO - OKTA
          • SSO - Microsoft Entra ID
        • Integrate Scanner CLI into CI/CD Systems
          • Azure Pipelines Integration
          • BitBucket Integration
          • CircleCI Integration
          • GitHub Actions Integration
          • GitLab Runner Integration
          • Jenkins Integration
          • Travis CI Integration
        • Git Hooks with Xygeni
        • Collaboration & communication Tools
        • Ticketing Systems
        • Remediation systems
      • Notifications
    • Rest API
  • Support
  • Changelog
    • Version 5.11 - April 11, 2025
    • Version 5.9 – March 26, 2025
Powered by GitBook
On this page
  • Structure of an Attestation
  • Available Predicate Types
Export as PDF
  1. Xygeni Products
  2. Build Security

Attestation format

PreviousBuild AttestationsNextHow SALT works

Last updated 8 months ago

SALT follows the . The IAF provides a specification for generating verifiable claims about any aspect of how a piece of software is produced. Consumers or users of software can then validate the origins of the software, and establish trust in its supply chain, using in-toto attestations.

Attestations in the IAF are serialized as JSON.

Structure of an Attestation

The core of the IAF is the specification for in-toto attestation layers:

  • : Handles authentication and serialization.

  • : Binds the attestation to a particular subject and unambiguously identifies the types of the predicate.

  • : Contains arbitrary metadata about a subject artifact, with a type-specific schema.

  • : Defines a method of grouping multiple attestations together.

In short,

  • Envelope is a signed attestation, conveying a Statement as payload (encoded in base64) and a Signature.

    Envelopes typically have one signature but may have multiple.

    A media type of application/vnd.in-toto.<predicate>+dss is assigned for envelopes.

  • A Statement binds a Subject and a Predicate, with a predicateType field that unambiguously identifies the type of the predicate via a type URI.

  • Predicate is the innermost layer of the attestation, containing arbitrary data about the Statement’s Subject.

Available Predicate Types

The following attestation predicates are supported:

Predicate
Type URI
Usage

https://slsa.dev/provenance/v1

An attestation that a particular build platform produced a set of software artifacts through execution of the buildDefinition, aligned with modern real-time platforms.

https://slsa.dev/provenance/v0.2

Older provenance format.

https://slsa.dev/provenance/v0.1

The initial provenance format.

https://in-toto.io/attestation/link/v0.3

Every link attestation corresponds to the execution of one step in the software supply chain. The subject field in Statement corresponds to the products of the operation, while materials field in LinkPredicate indicates the inputs to the step.

https://cyclonedx.org/bom

https://spdx.dev/Document

https://in-toto.io/attestation/scai/attribute-report/v0.2

Capturing functional attribute and integrity information about software artifacts and their supply chain. SCAI data can be associated with executable binaries, linked libraries, software packages, container images,software toolchains, and compute environments.

https://in-toto.io/attestation/vulns/v0.1

Holds a vulnerabilities report from security tools, with info about the scanner used, how it was invoked, the vulnerabilities found with their severity scores, the vulnerability databases used, and when the scan was performed.

https://slsa.dev/verification_summary/v1

Verification summary attestations communicate that an artifact has been verified at a specific SLSA level and details about that verification.

https://in-toto.io/attestation/test-result/v0.1

Express the result of running tests in software supply chains.

https://in-toto.io/attestation/runtime-trace/v0.1

Describe system events that were part of some software supply chain step, for example, the build process of an artifact.

In addition, Xygeni adds the following predicates:

Predicate
Type URI
Usage

Collection

xygeni.io/attestations/collection-predicates/v1

A collection of predicates, allowing composition of multiple predicates for software subjects in a single in-toto Statement.

Command Run

xygeni.io/attestations/command-run/v1

Models a command execution captured with salt attestation run. Results from the command execution are captured, possibly linking the input and output of command.

Environment

xygeni.io/attestations/environment/v1

Models the system environment where the build/deploy is running. Computed by the environment attestor in the salt attestation init command.

Git

xygeni.io/attestations/git/v1

Information about git repository. Includes the last commit (sha1 hash, author and committer, message, commit signature if any), its parents, the git treeHash, and git refs pointing at it

Materials

xygeni.io/attestations/materials/v1

Information about materials (input resources) that were registered as relevant for the pipeline. Created at attestation commit for materials added in the add / commit commands.

Products

xygeni.io/attestations/products/v1

Contains a set of products (typically, by-products) that were generated at a certain step in a pipeline.

Subject is the set of software artifacts that the attestation applies to. Each software artifact is represented by .

The framework specifies the format and semantics for some .

Software Bill of Materials type following the .

Software Bill of Materials type following the .

ResourceDescriptor
common fields
SLSA Provenance v1
SLSA Provenance v0.2
SLSA Provenance v0.1
Link Predicate
CycloneDX SBOM
CycloneDX standard
SPDX SBOM
SPDX Specification
Software Supply Chain Attribute Integrity (SCAI)
Cosign Vulnerability Scan Record Attestation
Verification Summary Attestation (VSA)
Test Results
Runtime Trace
in-toto Attestation Framework (IAF)
Envelope
Statement
Predicate
Bundle