Syft#
The Syft module creates SyftPackage nodes with DEPENDS_ON dependency
relationships from Syft.
Purpose#
While Trivy provides vulnerability scanning and creates TrivyPackage nodes
with CVE findings, it lacks dependency relationship information. Syft
complements Trivy by creating SyftPackage nodes with DEPENDS_ON
relationships between them.
Dependency position is represented by graph structure rather than a stored
property. A package with no incoming DEPENDS_ON relationship is a root in the
scanned dependency graph. A package with an incoming DEPENDS_ON relationship
is nested below at least one other package.
Package identity is global (normalized_id), so the same SyftPackage can be
DEPLOYED to many Image nodes. Cataloger names and artifact paths for a given
image live on that DEPLOYED relationship as found_by and locations.
SyftPackage.found_by is no longer written; leftover node values are
last-writer-wins and are not image-scoped.
See configuration for report generation and source options, queries for dependency query examples, and the generated schema for fields and relationships.