1
Install
AIROM is a single static binary. Install it with the Go toolchain (Go 1.25+):
Install
2
Verify
Verify
dev / none / unknown is expected here. The version, commit, and date
are stamped in at build time via ldflags; a plain go install does not set
them. Building from source produces a
stamped binary.ToolInfo that gets embedded in every AIBOM AIROM writes,
so a document can always be traced back to the build that produced it.3
Scan
Point it at your project. The default output is a table on stdout:
scan auto-detects what the target is: an
existing local path, then a git URL, then an image reference.Scan the current directory
The scan exited
0. Findings are not failures — AIROM inventories, it
does not judge. To make CI fail, you opt in with --fail-on.4
Cut the noise
Extension-only dataset detection and keyword-only
ai-config matching emit
low-confidence rows (the 0.5 ai-config entries above). Filter them at
the presentation layer:Only high-confidence components
0.8 is the practical threshold on a general-purpose directory. See
Confidence for how the scores are calibrated.5
Emit real documents
The table is for humans. That writes a CycloneDX 1.6 ML-BOM with
-o takes fmt[=path] and is repeatable, so one
scan can produce every artifact you need:CycloneDX + SARIF in one pass
evidence.occurrences[] intact, a
SARIF file for code-review annotations, and still prints the table.Where the evidence lives
The table’sLOCATION column points at the primary sighting and EVIDENCE
counts how many back a component. The full file:line provenance for every
occurrence — plus the matched snippet, the enclosing symbol, the detector that
fired, and a per-occurrence confidence — is carried in the structured outputs
(and --wide expands them under each row).
Inspect the occurrences
The gpt-4.1 component, as emitted
The gpt-4.1 component, as emitted
gpt-4.1 row in the table is not an assertion, it
is src/rag.py:8, column 9–24, matched by rules/openai/model-literal via
source-code analysis, with the literal text that triggered it.Wire it into CI
Use a--fail-on policy expression. & (AND) binds tighter than | (OR), and
all terms in a clause must hold for a single component.
Fail the build on high-confidence hosted models
Next
Installation
PATH setup, building from source, and the pre-release caveats.
CLI reference
Every command, flag, and exit code.
Evidence model
Occurrences, detection methods, and identity claims.
Scan a container image
Tarballs and OCI layouts, offline.