Software Bill of Materials (SBOM)

March 31, 2026 · View on GitHub

SBOM Metadata

FieldValue
Version1.0
Created2026-02-27
CreatorHack23 AB / Syft (automated via GitHub Actions)
FormatSPDX 2.3+ (primary), CycloneDX JSON (secondary)
ScopeAll runtime and development dependencies
Vulnerability Status✅ 0 vulnerabilities (npm audit 2026-02-27)

Overview

This repository generates and publishes Software Bill of Materials (SBOM) in SPDX 2.3+ format for every release, complying with Hack23 Open Source Policy requirements.

Runtime Dependencies

PackageVersionLicenseDescription
@modelcontextprotocol/sdk1.29.0MITModel Context Protocol TypeScript SDK
lru-cache11.2.7ISCA cache object that deletes the least-recently-used items
undici7.24.6MITHTTP/1.1 client, written from scratch for Node.js
zod4.3.6MITTypeScript-first schema validation with static type inference

Development Dependencies

PackageVersionLicenseDescription
@types/node25.5.0MITTypeScript definitions for Node.js
@typescript-eslint/eslint-plugin8.58.0MITTypeScript ESLint plugin
@typescript-eslint/parser8.58.0MITTypeScript parser for ESLint
@vitest/coverage-v84.1.2MITV8 coverage provider for Vitest
@vitest/ui4.1.2MITUI interface for Vitest
eslint10.1.0MITJavaScript and TypeScript linter
globals17.4.0ISCGlobal identifiers from different JavaScript environments
knip6.1.1ISCFind unused files, exports, and dependencies
license-compliance3.0.1MITVerify license compliance of dependencies
prettier3.8.1MITOpinionated code formatter
tsx4.21.0MITTypeScript Execute — Node.js enhanced with esbuild to run TypeScript & ESM files
typedoc0.28.18Apache-2.0Documentation generator for TypeScript
typedoc-plugin-markdown4.11.0MITA plugin that enables TypeDoc to output documentation as Markdown
typedoc-plugin-mdn-links5.1.1MITTypeDoc plugin to add links to MDN for built-in JS/TS types
typedoc-plugin-zod1.4.3MITTypeDoc plugin for Zod schema documentation
typescript6.0.2Apache-2.0TypeScript is a language for application-scale JavaScript
typescript-eslint8.58.0MITTooling which enables you to use TypeScript with ESLint
vitest4.1.2MITA Vite-native test framework

License Summary

LicenseCountPackages
MIT17@modelcontextprotocol/sdk, undici, zod, @types/node, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, @vitest/coverage-v8, @vitest/ui, eslint, license-compliance, prettier, tsx, typedoc-plugin-markdown, typedoc-plugin-mdn-links, typedoc-plugin-zod, typescript-eslint, vitest
ISC3lru-cache, globals, knip
Apache-2.02typedoc, typescript

All licenses are permissive and compatible with Hack23 Open Source Policy.

SBOM Formats

  • SPDX JSON - Primary format, attached to every release
  • CycloneDX JSON - Secondary format for tool compatibility

Quality Standards

  • Minimum SBOM Quality Score: 7.0/10 (validated with SBOMQS)
  • Standards Compliance: NTIA Minimum Elements, BSI v1.1/v2.0
  • Vulnerability Scanning: Grype scans for critical/high vulnerabilities

Accessing SBOM Artifacts

Latest Release

Download SBOM from the latest release:

  • sbom.spdx.json - SPDX format
  • sbom.cyclonedx.json - CycloneDX format
  • sbomqs-report.json - Quality validation report

Verification

Verify SBOM authenticity with SLSA attestations:

gh attestation verify sbom.spdx.json \
  --owner Hack23 \
  --repo European-Parliament-MCP-Server

Generate Locally

# Install Syft (pinned version with checksum verification)
SYFT_VERSION="v1.20.0"
OS="$(uname | tr '[:upper:]' '[:lower:]')"
ARCH="amd64"

curl -sSfL "https://github.com/anchore/syft/releases/download/${SYFT_VERSION}/syft_${SYFT_VERSION}_${OS}_${ARCH}.tar.gz" -o syft.tar.gz
curl -sSfL "https://github.com/anchore/syft/releases/download/${SYFT_VERSION}/syft_${SYFT_VERSION}_checksums.txt" -o syft_checksums.txt

grep "syft_${SYFT_VERSION}_${OS}_${ARCH}.tar.gz" syft_checksums.txt | sha256sum -c -

sudo tar -xzf syft.tar.gz -C /usr/local/bin syft
rm syft.tar.gz syft_checksums.txt

# Generate SBOM from local checkout
syft dir:. -o spdx-json=sbom.spdx.json
syft dir:. -o cyclonedx-json=sbom.cyclonedx.json

SBOM Contents

The SBOM includes:

  • Direct dependencies - All npm packages listed in package.json
  • Transitive dependencies - All nested dependencies
  • Package metadata - Names, versions, licenses, checksums
  • Relationship graph - Dependency relationships
  • Vulnerability data - Known security issues

Supply Chain Security

ControlStatusDetails
npm audit✅ 0 vulnerabilitiesLast checked 2026-02-27
License compliance✅ PassingAll dependencies comply with the license allowlist
SLSA Level 3✅ AchievedCryptographic provenance on all releases
Sigstore signatures✅ Enablednpm package and GitHub release artifacts
Dependabot✅ EnabledAutomated dependency update PRs
SHA-pinned CI actions✅ EnforcedGitHub Actions pinned to commit SHA wherever supported; documented exception for SLSA provenance reusable workflow referenced by version tag (v2.1.0).

Tools Used

  • Syft - SBOM generation (Anchore)
  • SBOMQS - Quality validation (Interlynk)
  • Grype - Vulnerability scanning (Anchore)

ISMS Policy Compliance