The CLI uses deprecated types and sub-packages from github.com/in-toto/in-toto-golang/in_toto that should be replaced with their modern equivalents from github.com/in-toto/attestation (https://github.com/in-toto/attestation/tree/main/go).
Deprecated types currently in use (production code):
in_toto.Statement -- used in internal/attestation/attestation.go and internal/applicationsnapshot/attestation.go
in_toto.ProvenanceStatementSLSA02 -- used in internal/attestation/slsa_provenance_02.go and internal/image/fake.go
in_toto.ProvenanceStatementSLSA1 -- used in internal/attestation/slsa_provenance_v1.go
in_toto.StatementInTotoV01 -- used across multiple attestation files
in_toto.StatementHeader, in_toto.Subject -- used via the above types
- Sub-packages
in_toto/slsa_provenance/v0.2, in_toto/slsa_provenance/v1, in_toto/slsa_provenance/common
Affected files (production):
internal/attestation/attestation.go (5 nolint suppressions)
internal/attestation/slsa_provenance_02.go (1 nolint suppression)
internal/attestation/slsa_provenance_v1.go (3 nolint suppressions)
internal/applicationsnapshot/attestation.go (4 nolint suppressions)
internal/image/fake.go (2 nolint suppressions)
Affected files (tests and acceptance): Numerous test files and the acceptance/ and benchmark/ directories also use the deprecated types.
Migration target: The github.com/in-toto/attestation module (already an indirect dependency at v1.1.2) provides the replacement APIs. After migration, the github.com/in-toto/in-toto-golang dependency can potentially be removed entirely, and all //nolint:staticcheck suppressions can be cleaned up.
Context: A prior commit (011438a, Feb 2026) explicitly deferred this refactoring, adding nolint directives with the note: "Dealing with these deprecations requires a major refactoring, which doesn't fit in this PR."
The CLI uses deprecated types and sub-packages from
github.com/in-toto/in-toto-golang/in_totothat should be replaced with their modern equivalents fromgithub.com/in-toto/attestation(https://github.com/in-toto/attestation/tree/main/go).Deprecated types currently in use (production code):
in_toto.Statement-- used ininternal/attestation/attestation.goandinternal/applicationsnapshot/attestation.goin_toto.ProvenanceStatementSLSA02-- used ininternal/attestation/slsa_provenance_02.goandinternal/image/fake.goin_toto.ProvenanceStatementSLSA1-- used ininternal/attestation/slsa_provenance_v1.goin_toto.StatementInTotoV01-- used across multiple attestation filesin_toto.StatementHeader,in_toto.Subject-- used via the above typesin_toto/slsa_provenance/v0.2,in_toto/slsa_provenance/v1,in_toto/slsa_provenance/commonAffected files (production):
internal/attestation/attestation.go(5 nolint suppressions)internal/attestation/slsa_provenance_02.go(1 nolint suppression)internal/attestation/slsa_provenance_v1.go(3 nolint suppressions)internal/applicationsnapshot/attestation.go(4 nolint suppressions)internal/image/fake.go(2 nolint suppressions)Affected files (tests and acceptance): Numerous test files and the
acceptance/andbenchmark/directories also use the deprecated types.Migration target: The
github.com/in-toto/attestationmodule (already an indirect dependency at v1.1.2) provides the replacement APIs. After migration, thegithub.com/in-toto/in-toto-golangdependency can potentially be removed entirely, and all//nolint:staticchecksuppressions can be cleaned up.Context: A prior commit (011438a, Feb 2026) explicitly deferred this refactoring, adding nolint directives with the note: "Dealing with these deprecations requires a major refactoring, which doesn't fit in this PR."