Where the line falls
Detection is treated as a commodity, deliberately. It is behind a contract — a
single adapter package is the only code in TRUSTIVAN permitted to import the
upstream engine, and
a CI guard fails the build if anything else does.
That boundary exists so the engine can be replaced without touching anything
above it. A scanner that leaked its types throughout the codebase would be a
dependency rather than a component.
What TRUSTIVAN owns is what happens to a finding once it exists: its
identity across scans, its
lifecycle and triage history,
suppression with a recorded reason,
the policy engine and its verdicts,
tenancy, the
machine API,
webhooks and the dashboard.
The short version: upstream tells you a CVE is present; TRUSTIVAN remembers that
someone accepted the risk on Tuesday, and does not ask again tonight.
Which documentation answers your question
These docs cover TRUSTIVAN. They do not restate upstream’s documentation, and where a question is genuinely upstream’s they say so rather than paraphrasing an answer that would go stale.
The last two rows are the pair worth internalising. “This CVE should have been
found” is a detection question. “This CVE was found and I cannot see it” is a
TRUSTIVAN question, and usually has a lifecycle answer.
What TRUSTIVAN does not expose
TRUSTIVAN embeds the engine as a library rather than shelling out to it, so:- There is no upstream command line to pass flags to, and no passthrough.
- The configurable surface is exactly what Scanning and concurrency and Vulnerability database document. An upstream option not listed there is not reachable.
- Engine identifiers are internal and are stripped before anything reaches an API response. Do not build against them.
Attribution, and what it requires of you
The Apache-2.0 licence requires that upstream’s attribution travel with any redistribution. TRUSTIVAN reproduces it verbatim in theNOTICE file shipped
with the product:
trivy-checks are covered separately, by the MIT
licence, © 2024 Aqua Security. They are compiled into the binary, so every build
that includes misconfiguration scanning is a copy and carries that notice too.
If you redistribute TRUSTIVAN or a container image containing it, these
notices must go with it. Keep NOTICE in the image and do not strip it. The
complete per-component inventory — every Go module and npm package, with
versions and detected licences — is generated into legal/THIRD_PARTY_NOTICES.md
and legal/third-party-inventory.json, and regenerated with
make legal-inventory.
The public summary is at trustivan.com/open-source.

