Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

chock sbom — emit a CycloneDX AI-BOM from enforced state

Open
#57 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
json, python
Domain
cli, security

Research direction

Start by reading the existing CLI command structure, how chock.lock records policy versions and hashes, and how adapters read .mcp.json and per-agent config. Then map which enforced-state components can be represented and tested; done means chock sbom --repo . --format cyclonedx emits valid, deterministic CycloneDX JSON, with an emitter-stability golden and a docs coverage row.

Written by the indexing model from the issue text.

Description

Problem

Agentic supply chain (OWASP ASI04) is now incident-backed: ClawHub's audit found 11.9% of skills malicious (341/2,857, Koi Security Feb 2026; Unit 42 added agentic financial-fraud skills Aug 2026), and MCP-server exposure keeps growing (Censys: 12,520 internet-accessible services). Buyers increasingly ask "what is actually running in this repo's agent stack?" — the AI-BOM question.

Standards exist: CycloneDX ML-BOM is ratified (v1.7 / ECMA-424 2nd Ed.), SPDX 3.0 has AI profiles, and an agent-level BOM (MCP servers, tools, prompts) is proposed in CycloneDX spec issue #895. Generic scanners (cdxgen's aibom workflow) guess from source.

Proposal

chock sbom — emit a CycloneDX AI-BOM derived from enforced state, not scanning:

  • policies + versions + sha256 from chock.lock (source, catalog provenance, trust tier)
  • MCP servers from committed agent config (.mcp.json and per-agent equivalents the adapters already know)
  • installed skills (.agents/skills/), compiled gates, adapters/surfaces in play
  • deterministic output (golden-stable), no secrets, no network

Differentiation is the derivation: every component in the BOM is something Chock pins or compiles, so the BOM states what is enforced to be present, not what a scanner guessed. Track CycloneDX #895 and align field names as it ratifies.

Fits wedge-line phase 5 (SLSA provenance, signed tags) — the BOM is the natural artifact those attestations attach to.

Acceptance sketch

  • chock sbom [--repo .] [--format cyclonedx] → valid CycloneDX JSON, deterministic across runs
  • emitter-stability golden + docs page row in the coverage story
  • claims follow the coverage taxonomy: BOM covers the chock-managed slice; native/unmanaged components are listed only when witnessable from committed config
Dominant language
Python
Stars
8
Forks
1
Avg merge
2h 48m
Merged PRs (30d)
121

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from open-coder-ai/chock

All issues in open-coder-ai/chock

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.