← Back to project catalogue
GP-CS-1IYY9MEComputer ScienceReady

Go software supply-chain evidence laboratory

A Go laboratory that connects an artifact to its SBOM, SLSA provenance, signature, source revision, builder, policy, and reproducible-build evidence.

Go software supply-chain evidence laboratory project visual
GP-CS-1IYY9ME · Computer Science
  • Go 1.27
  • Gin
  • Vue
  • TypeScript
  • PostgreSQL 18
  • Ed25519
  • Docker

Project definition

Problem statement

A software release may include hundreds of direct and transitive components. A version number or checksum alone does not explain what was included, how the release was built, or whether its evidence still matches the distributed artifact.

The engineering problem is to collect component inventories in standard formats, connect artifacts to build provenance and signatures, verify the evidence consistently, and demonstrate exactly which checks detect a controlled supply-chain change.

Project objectives

  • Generate controlled fixtures and import CycloneDX 1.7 and a documented SPDX 3.0 subset.
  • Verify artifact hashes, signatures, provenance statements, and declared source revisions.
  • Compare two releases and explain component additions, removals, and version changes.
  • Apply a configurable evidence policy without presenting it as a universal security guarantee.
  • Measure detection accuracy, verification time, evidence completeness, and reproducibility.

Project structure

Project components

01

Prepared bundle catalogue

Selects local release bundles by restricted identifier and contains every evidence path beneath the selected bundle.

02

Component normaliser

Parses SPDX and CycloneDX records into a common component and relationship model while preserving original evidence.

03

Evidence verifier

Checks hashes, signatures, provenance subjects, source revisions, builder identity, and required fields.

04

Release comparator

Explains component, licence, digest, dependency, and evidence changes between two selected releases.

05

Policy evaluator

Runs explicit rules for missing evidence, unapproved components, unsigned artifacts, and provenance mismatches.

06

Experiment runner

Executes prepared clean and tampered scenarios and records the result, duration, and supporting evidence for every check.

Methodology

Project workflow

  1. 01
    Prepare release evidence

    A controlled build produces an artifact, source revision, SBOM, signature, and provenance statement.

  2. 02
    Import and normalise

    The laboratory stores the original evidence and converts supported formats into a comparable model.

  3. 03
    Verify

    Hashes, signatures, provenance links, component records, and selected policy rules are checked.

  4. 04
    Introduce a controlled change

    A dependency, artifact, or provenance field is altered in a documented test fixture.

  5. 05
    Compare results

    The laboratory explains which checks changed, why they changed, and which evidence supports the result.

Demonstration scenario

A clean prepared release passes all ten configured checks. A tampered artifact then fails its SBOM digest, provenance digest, and signature relationships. A separate comparison against an untrusted-builder candidate shows that the artifact and source are unchanged while the builder identity differs.

Engineering

Tools and method

Verification engine
Go packages for streaming artifact hashing, standard-format parsing, signature verification, policy evaluation, and structured results.
Evidence interface
Vue and TypeScript for release selection, dependency graphs, verification results, and side-by-side evidence comparison.
Evidence store
PostgreSQL for release records, components, relationships, checks, policies, and experiment history.
Cryptographic fixtures
Local Ed25519 fixture signatures demonstrate digest verification while keeping production identity, certificates, and transparency logs outside the stated scope.
Isolation
Prepared Docker build targets and fixed inputs keep experiments reproducible and avoid scanning arbitrary external infrastructure.
Standards
A documented subset of SPDX, CycloneDX, and in-toto provenance fields defines exactly what the prototype supports.

Testing

Evaluation

Evaluation measures

  • Exact agreement between expected and observed failed-check sets across eight scenarios
  • Thirty verification trials for every prepared scenario
  • Separate median and P95 verification timing for each scenario
  • CycloneDX normalisation scaling from 11 to 5,001 components
  • Release comparison tests for artifact, builder, source, and component deltas
  • Go race tests, API tests, Vue tests, type checks, builds, and dependency scans

Project boundaries

  • The project evaluates supplied release evidence and does not prove that an entire organisation is secure.
  • All signing identities, artifacts, repositories, and tampering scenarios used in the demonstration are local fixtures.
  • The initial implementation supports documented subsets of the selected evidence standards.
  • A passing policy result is evidence for the configured checks, not a guarantee that the release has no vulnerabilities.

Included

  1. 01Go command-line verifier and HTTP verification service
  2. 02SBOM, provenance, signature, and release comparison interface
  3. 03Eight prepared clean and controlled-failure release bundles
  4. 04Ten verification checks with 30 trials per scenario
  5. 05Scaling results from 11 to 5,001 normalised components
  6. 06Complete source code in a private GitHub repository
  7. 0771-page project documentation in PDF and editable Word formats
  8. 089-page setup and usage guide

Project record

No information is collected on this page.

Permanent project ID
GP-CS-1IYY9ME
Catalogued
21 Aug 2026
Completed
23 Aug 2026
Verified
23 Aug 2026
Demonstration
Included in repository

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.