DEEPBOM

io.github.JunHwan-KwonPublished by GitHub account JunHwan-Kwonv2.5.0Updated Oct 24, 2026

Browser-local and CLI static evidence for deployed AI model artifacts.

VerifiedStreamable HTTPWeb executableDeveloper ToolsSecurity & MonitoringAI & ML

Overview

AI-generated overview

DEEPBOM statically audits deployed AI model artifacts such as ONNX, TFLite, GGUF and SafeTensors, producing evidence, diffs and BOM reports without uploading…

What you can do
DEEPBOM is a local static analyzer for serialized AI model artifacts. It exposes deepbom_capabilities, deepbom_audit, deepbom_diff and deepbom_explain_rule, covering graph, tensor, quantization, memory, compatibility and ML-BOM evidence. Outputs include human summaries, JSON, CycloneDX 1.7 and SARIF projections, plus graph and model-summary views. Findings separate observed artifact facts from predicted compatibility and imported runtime evidence.
When to use it
Use it when reviewing model changes, verifying an artifact against a declared production interface, reconciling a BOM with an artifact, or checking quantization, storage and memory facts before release. It suits export pipelines, experiment tracking and release gates where a repeatable static check is wanted.
Requirements
Runs as a local process via npm (Node.js 20 or newer) over stdio, or as a remote Streamable HTTP endpoint. No authentication, environment variables or headers are declared. Local paths are limited to the launch directory unless DEEPBOM_MCP_ALLOWED_ROOTS is set. Source builds need Rust, and the Python channel needs Python 3.9 or newer.
Before you install
The remote endpoints at deepbom.org/mcp and deepbom.org/mcp/claude are described as bounded and not retaining model bytes, but confidential or large artifacts should use the local CLI or stdio server. The verifier does not contact npm unless --allow-download is supplied. Static results do not establish runtime behavior, accuracy or compliance, and metadata connections are declarations rather than authenticated lineage.

Installation

In SourceWeft

  1. Open DEEPBOM in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.JunHwan-Kwon%2Fdeepbom/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "deepbom": {
      "type": "http",
      "url": "https://deepbom.org/mcp"
    }
  }
}

README

DEEPBOM

DEEPBOM is a local static analyzer for deployed AI model artifacts. It audits serialized graph, tensor, quantization, memory, compatibility, and ML-BOM evidence without uploading model bytes.

It is a multi-format artifact-evidence producer, an external-interface contract verifier, and a bounded BOM-to-artifact reconciliation tool. It is not an official reference implementation, a complete BOM validator, or a regulatory compliance verifier.

The public source distribution covers TFLite, ONNX, GGUF, SafeTensors, Core ML, and bounded ExecuTorch artifacts. Findings distinguish observed and derived artifact facts from predicted compatibility, imported runtime evidence, and values that cannot be assessed statically.

Evidence IR

DEEPBOM Evidence IR is the common representation family: Artifact IR, Model IR, optional Weight IR, Activation IR, Training IR, Snapshot IR and Provenance IR. The draft specification includes a generated schema catalog, compatibility checks and public maintenance rules.

Search input → IR → output mappings or inspect the same versioned catalog on GitHub. It is a DEEPBOM-maintained specification, not an endorsed external standard. The artifact metadata route retains deepbom.provenance_ir.v1 and its provenance_ir selector. The additive Snapshot workflow uses typed deepbom.provenance_ir.v2 references for native states, dataset releases and configurations. Existing document hashes are preserved; retired names remain unsupported. See the migration rules.

For model-change reviews, use the synthetic two-population example and browser evidence review. Web, CLI, Node/Python SDK and local MCP use the same checks. External measurements remain external evidence; criteria satisfaction does not establish clinical suitability.

Quick start

For export pipelines, experiment tracking and release checks, see the new Node/TypeScript and Python SDK contract and three executable integration examples. The supported SDK begins with DEEPBOM 2.1.0; earlier npm 2.0.0 packages do not include this entry point. Install it with npm install [email protected].

Run the published CLI without cloning the repository (Node.js 20 or newer):

bash
npx deepbom audit "https://raw.githubusercontent.com/JunHwan-Kwon/deepbom/main/web/samples/gpu_partition_probe.onnx#sha256=82a2feef00eb6ab03d82f2b30cd17f4d826e2d8307cb059eccd6a0f3120059b2"

The pinned expected values and independent verifier are in examples/expected-output. Source builds require Rust and, for the Python channel, Python 3.9 or newer; maintainer setup is documented separately below.

Assistant integration

Install the repository-local Agent Skill after previewing the managed files:

bash
npx -y [email protected] integrate codexnpx -y [email protected] integrate codex --applynpx -y [email protected] integrate claude-codenpx -y [email protected] integrate claude-code --apply

The Skill lets a local agent select a contract-compatible analyzer for a supported deployment-artifact question. It does not create or call a hosted analysis server. See the agent setup guide, the machine-readable capability contract, and the independent engine/Agent/evidence version policy.

The installed Skill first checks DEEPBOM_BIN, its package-bundled analyzer, and a deepbom already on PATH. It accepts a runtime only after the declared deepbom.agent_contract.v2 and evidence contract match and its self-test binds the exact observed engine version. The verifier does not contact npm unless --allow-download is explicitly supplied. This keeps a blocked registry lookup from being mistaken for a failed artifact analysis.

For persistent tool-call access, run the same local analyzer as an MCP server over stdio:

bash

It exposes deepbom_capabilities, deepbom_audit, deepbom_diff, and deepbom_explain_rule without uploading artifact bytes or using a hosted analysis endpoint. Audit calls default to a bounded human summary; detailed formats and large-model scan depth are explicit. Local paths are restricted to the launch directory unless DEEPBOM_MCP_ALLOWED_ROOTS is configured. Agent-facing usage guidance is in the DEEPBOM skill. Claude Desktop users can instead install the version-matched deepbom-2.5.0.mcpb asset from the corresponding GitHub Release. The bundle contains the same CLI and WASM bytes as the npm channel and asks the user to select the only local directory it may read.

For a single attachment in ChatGPT, connect the separately bounded Streamable HTTP endpoint at https://deepbom.org/mcp. Its browser component performs the analysis in the ChatGPT sandbox and returns a bounded, hash-bound result; the DEEPBOM service does not fetch or retain model bytes. This path is ready for developer-mode review, while public ChatGPT discovery remains subject to OpenAI review. See the ChatGPT integration guide. Use the local CLI or stdio MCP for confidential or large artifacts, package and sidecar closure, complete exports, and repeated automation.

For private testing on a Claude host that supports remote MCP Apps, add the separate https://deepbom.org/mcp/claude connector. It opens an explicit file picker inside the MCP App; it does not automatically read Claude attachments. The selected bytes remain in the browser sandbox while a bounded result is returned to the conversation. Public Claude discovery remains subject to Anthropic review. See the Claude integration guide and use the local MCPB or CLI when derived model facts must also remain local.

The repository root is also a portable Agent Plugins package: plugin.json identifies the Skill and mcp.json declares the bounded ChatGPT attachment endpoint. The compatibility manifest under .codex-plugin/ carries the same identity for clients that have not moved to the portable format. These files prepare installation and review; they do not imply a public directory listing or platform approval.

Account-owned ChatGPT, Claude, Codex, and search-indexing steps are kept in the agent distribution operations checklist.

For code-first model development, start with the Python candidate loop. It uses the shipped native APIs and distinguishes trainable-model workflows from the browser Structure IDE's source-bound graph proposals.

Verified 2.4.0 release channels expose the same analysis implementation. npm and the Linux x86-64 release wheel below are published; other native platforms and registry channels require their own release verification.

bash
npx [email protected] audit model.onnx --format cyclonedxnpx [email protected] audit model.onnx --format sarif --output deepbom.sarif --gate defectsdeepbom capabilities --compactdeepbom self-testdeepbom audit model.onnx --list-sections --compactdeepbom audit model.onnx --section quantization,memory --compactdeepbom explain-rule onnx.conv.output-shapepython -m pip install 'deepbom @ https://github.com/JunHwan-Kwon/deepbom/releases/download/channels-v2.4.0/deepbom-2.4.0-py3-none-linux_x86_64.whl'deepbom audit model.gguf --compactdeepbom verify model.tflite --contract production-interface.jsondeepbom verify model.onnx --bom supplied.cdx.json --render markdowndeepbom contract capture model.onnx -o baseline.interface-contract.jsondeepbom diff baseline.gguf candidate.gguf --tensors --render markdowndeepbom capabilities --format agent-textdeepbom explore model.tflitedeepbom placement model.tflite --profiles xnnpack_cpu,tflite_coreml_delegate,litert_qualcomm_qnndeepbom graph model.onnx --format json --output artifact-graph.jsondeepbom audit model.onnx --section model_ir --compactdeepbom visualize model.onnx --view all --orientation portrait -o model-views.zipdeepbom model-summary model.onnx --format tabledeepbom model-summary model.gguf --level storage --format markdowndeepbom audit model.onnx --conversion-receipt conversion-receipt.json --format cyclonedx

The default is a terminal-sized evidence summary. --json and --compact expose complete format evidence; --format envelope provides the canonical cross-format contract; CycloneDX 1.7 and OASIS SARIF 2.1.0 are standard projections. --policy-output records a hash-bound gate result when --fail-on is selected. --review-policy adds identity-scoped, expiring exceptions and keeps execution, coverage, and finding-policy states independent. See docs/CLI_AUTOMATION.md. The complete option inventory is generated from the executable in docs/CLI_REFERENCE.md.

CycloneDX 1.7 consumers should read the analyzed model from metadata.component and additional inventory members from components[]. DEEPBOM does not duplicate the BOM root into the additional-components array.

The graph JSON output includes the evidence-preserving deepbom.artifact_ir.v2 ledger and a deterministic deepbom.graph_ir.v1 visualization compatibility projection. Serialized graph, storage topology, architecture grouping, scoped quantization, static placement, and imported runtime evidence remain separate. Method 2.2.0 also preserves an optional, output-bound conversion receipt without promoting declared converter execution to observed evidence. It materializes exactly decoded TFLite subgraphs, ONNX nested graphs/local functions, and ExecuTorch primary plans without flattening conditional scopes. Runtime-node fusion is reconciled only from artifact-bound subject references or primary native op indices; names are never guessed. graph_ir.v1 remains primary-scope-only for legacy consumers. The v2 JSON Schema is published at docs/schemas/deepbom-artifact-ir-v2.schema.json and at https://deepbom.org/schemas/deepbom-artifact-ir-v2.schema.json. The conversion receipt schema is published at docs/schemas/deepbom-conversion-receipt-v1.schema.json.

The additive preview deepbom.model_ir.v1 projects those frozen artifact facts into a format-neutral program, logical-value, storage, binding, quantization, architecture, and static/runtime evidence vocabulary. It preserves source, dependency, deterministic display, and observed runtime order as different fields. visualize consumes only this IR and creates deterministic monochrome ISO A4 SVG pages, 300-DPI black-and-white PNG derivatives, caption sidecars, and a Word insertion manifest. These are traceable engineering documents, not standard-conformance or regulatory-approval determinations. See docs/MODEL_IR_V1.md.

model-summary is the shared Keras-summary-like projection for every supported adapter. It emits operation rows when a serialized program exists, storage rows for graphless weight containers, and an explicit identity-only result for safe envelopes. It never relabels serialized constants as trainable parameters or a deterministic display order as observed runtime. JSON consumers can use deepbom.model_summary.v1, published in docs/schemas/deepbom-model-summary-v1.schema.json.

Public product output uses CycloneDX 1.7.

verify compares the serialized external tensor ABI with a supplied, artifact-bound production declaration. diff uses the canonical deterministic multi-target TFLite deployment-delta ledger, and explore exposes the existing WASM redesign Pareto search without claiming trained-model accuracy. A strict custom TFLite target can be bound with --target-profile profile.json; the CLI records both the source-file SHA-256 and the resolved Rust profile SHA-256. Accelerator evidence is separate from that CPU cost profile. Source-pinned TFLite Core ML and LiteRT Qualcomm QNN profiles, Core ML MLComputePlan, Edge TPU and Qualcomm compiler reports, TensorRT parser/engine evidence, and NVIDIA host profiles use a shared staged binding without promoting static or compiled evidence to observed execution. placement compares any available profiles over one conserved graph ledger without inventing backend priority.

The Cargo launcher downloads only the engine matching its exact package version and platform from the corresponding immutable GitHub Release. It validates the release matrix, byte lengths, and SHA-256 digests before caching or execution.

Build the npm, standalone, Python, and Cargo launcher channels:

bash
npm run build:channelsnpm run check:public-package-boundarynpm run check:channels -- --no-build

Run the public correctness gates:

bash
npm run check:clinpm run check:cli-docsnpm run check:cli-automationnpm run check:formatsnpm run check:rust

The browser workbench is available at deepbom.org.

Evidence scope

Format maturity

Accepted extensions do not imply equal analytical depth. TFLite and ONNX have stable executable-graph contracts. GGUF and SafeTensors have stable container, storage, and architecture contracts but do not serialize an executable graph. Core ML and ExecuTorch analysis remains preview and fixture-bounded. The exact parser, graph, quantization, and placement status for every format is available from deepbom capabilities --compact under public_product_contracts.

FormatPublic static evidence
TFLiteFlatBuffer graph and tensor contracts, quantization arithmetic, weight integrity, memory projections, accumulator proofs, redesign candidates, and source-bounded delegation predictions
ONNXProtobuf graph, initializer and external-data contracts, symbolic shape inference, operation cost, Q/DQ and affine quantization, and provider-compatible evidence envelopes
GGUFContainer and tensor-directory integrity, quantization encoding inventory, architecture metadata, and bounded LLM memory scenarios
SafeTensorsTensor-directory and sharding integrity, configuration-bound architecture contracts, AWQ/GPTQ/HQQ/compressed-tensors metadata, and bounded LLM memory scenarios
Core MLNeuralNetwork and ML Program serialized graphs, tensor/weight encodings, deployment floor, and imported compute-plan evidence boundaries
ExecuTorchBounded ET12/FT01 plans, source-bound portable calls and processed payload identities, plus optional selected-build/backend/operator/binary attestation; execution remains external
GraphDef / SavedModelBounded serialized nodes, data/control dependencies, first-MetaGraph SignatureDef tensor contracts, and hash-bound package membership; no graph execution
Keras / PT2Bounded declarative config/JSON dependency graphs without object construction, pickle loading, lowering, native code, or runtime-order claims
HDF5 / PyTorch checkpointSafe-envelope, archive, storage-member, and pickle-risk inventory only; no object graph or executable-model claim

Static compatibility does not establish observed execution-provider assignment, device latency, task accuracy, clinical validity, or release readiness. Runtime claims require an identity-bound runtime capture.

The detailed format and accelerator boundary is maintained in docs/SUPPORT_MATRIX.md. Bugs can be reported without sharing model bytes using docs/MODEL_FREE_BUG_REPORTING.md.

Distribution boundary

This repository is generated from an exact reviewed allowlist. Private rulepack generators, hosted-service infrastructure, and unreleased research modules are not included. The enforceable boundary and export verification method are documented in docs/PUBLIC_PRIVATE_BOUNDARY.md.

License and citation

The public source and release-channel packages are licensed under the Apache License 2.0. Third-party model artifacts retain their declared licenses.

Please cite:

Kwon, J. (2026). DEEPBOM: Browser-Native Static Analysis of On-Device Neural Network Deployment Artifacts [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21834508

Optional metadata and OMOP connections

After inspecting a model, create a model-bound input with deepbom audit model.onnx --metadata-template omop -o metadata.json. Fill the selected OMOP 5.4/5.5 CDM_SOURCE row and institution/release identifiers, then use --metadata metadata.json --evidence-files ./evidence --section provenance_ir --json. A generic template connects non-OMOP datasets, cohorts, code, runs and reports through the same IR.

The Web Metadata workspace provides import, record creation, an interactive relationship diagram and JSON/CycloneDX downloads. Local MCP deepbom_audit accepts metadata_template, metadata and evidence_files; ChatGPT/Claude widgets share only explicitly requested counts and digests. Connections remain declarations: file hashes and reference consistency do not authenticate lineage or clinical suitability. See the OMOP guide and common IR contract.

Source: README.md at commit e5cacd5

Tools

7

deepbom_analyze_file

Analyze an AI model artifact

Use when the user asks to inspect, summarize, or visualize an attached TFLite, ONNX, GGUF, SafeTensors, Core ML, or ExecuTorch deployment artifact. Opens a browser-local analyzer, returns a hash-bound format-neutral Model IR table and static evidence summary, and provides deterministic document views without executing model code. Do not use for training checkpoints, measured latency, task accuracy, clinical validity, regulatory compliance, or actual runtime placement.

Parametersfilerequiredanalysis_depth

deepbom_capabilities

Check DEEPBOM capabilities

Use before analysis when format support, privacy boundaries, or the difference between the ChatGPT and local DEEPBOM paths is unclear. Returns capability metadata only and does not inspect a file.

Takes no parameters.

deepbom_publish_analysis

Return a DEEPBOM analysis to chat

Receives one bounded browser-produced DEEPBOM result, validates its structure, and returns it to the conversation. This tool accepts analysis results, never model bytes.

Parametersresultrequired

deepbom_publish_error

Return a DEEPBOM analysis error to chat

Receives one bounded browser-produced DEEPBOM error and returns a recovery action to the conversation. This tool accepts diagnostic text, never model bytes.

Parameterserrorrequired

deepbom_query_file

Inspect specific model evidence

Use for follow-up questions about an already identified attachment: inspect a layer by subject_ref, search or page through all operations, inspect findings, rank improvement investigations, inspect encoded activation fusion, compare source-pinned static delegate eligibility, or explicitly analyze weight distributions, channels, similarity, singular spectra, sparsity and quantization with section=weights and optional weight_view. Weight analysis reads payloads on demand with explicit decoder/budget coverage (128 MiB widget limit). Reuse the ChatGPT-authorized file and the exact SHA-256 from its previous DEEPBOM result. section=profiles lists available backend profiles; query.target selects only a TFLite CPU planning profile from capabilities. The browser computes the query from the shared Evidence IR and returns a bounded result; model bytes are not sent to DEEPBOM. Static candidate eligibility is not observed placement, speed, accuracy, or runtime fusion. Do not invent findings while browser_query_started is pending.

Parametersfilerequiredqueryrequiredanalysis_depthexpected_sha256required

deepbom_publish_query

Return requested model evidence to chat

Component-only: validates and returns a bounded Evidence IR query projection for the same attachment. No model bytes, state persistence, or runtime execution. Result digests establish consistency, not independent server attestation.

Parametersresultrequired

deepbom_workflow_guide

Choose a DEEPBOM analysis workflow

Use to discover how to answer a model-analysis question across ChatGPT, the interactive deepbom.org workspace and the local CLI. Returns real query sections, visualization/export actions, explicit web continuation links, required inputs, CLI argument templates and evidence limits for weights, pruning investigation, comparison, BOM verification, metadata/OMOP, activation evidence, runtime, batch/CI and integrations. No attachment is required. This is guidance, not a completed analysis or local command execution. Prefer answering from existing evidence; inspect supported follow-ups with deepbom_query_file before offering web continuation for richer interaction. Website links transfer only a workflow ID, never model data.

Parametersformatworkflow

Version history

12
  1. v2.5.0LatestOct 20, 2026
  2. v2.4.0Oct 12, 2026
  3. v2.3.0Oct 11, 2026
  4. v2.2.0Oct 9, 2026
  5. v2.1.0Oct 7, 2026
  6. v2.0.0Sep 29, 2026
  7. v1.109.0Sep 28, 2026
  8. v1.106.0Sep 22, 2026
  9. v1.105.0Sep 22, 2026
  10. v1.103.0Sep 17, 2026
  11. v1.102.0Sep 17, 2026
  12. v1.101.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts