This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

JSON Schema

1 - Syft v16 JSON Schema Reference

Complete reference for Syft JSON schema version 16.1.0

Document

Represents the syft cataloging findings as a JSON document

Field NameType
artifactsArray<Package>
artifactRelationshipsArray<Relationship>
filesArray<File>
sourceSource
distroLinuxRelease
descriptorDescriptor
schemaSchema

Core Types

CPE

Represents a Common Platform Enumeration identifier used for matching packages to known vulnerabilities in security databases.

Field NameTypeDescription
cpestrValue is the CPE string identifier.
sourcestrSource is the source where this CPE was obtained or generated from.

ClassifierMatch

Represents a single matched value within a binary file and the "class" name the search pattern represents.

Field NameType
classifierstr
locationLocation

Coordinates

Contains the minimal information needed to describe how to find a file within any possible source object (e.g.

Field NameTypeDescription
pathstrRealPath is the canonical absolute form of the path accessed (all symbolic links have been followed and relative path components like '.' and '..' have been removed).
layerIDstrFileSystemID is an ID representing and entire filesystem. For container images, this is a layer digest. For directories or a root filesystem, this is blank.

Descriptor

Identifies the tool that generated this SBOM document, including its name, version, and configuration used during catalog generation.

Field NameTypeDescription
namestrName is the name of the tool that generated this SBOM (e.g., "syft").
versionstrVersion is the version of the tool that generated this SBOM.
configurationunknownConfiguration contains the tool configuration used during SBOM generation.

Digest

Represents a cryptographic hash of file contents.

Field NameTypeDescription
algorithmstrAlgorithm specifies the hash algorithm used (e.g., "sha256", "md5").
valuestrValue is the hexadecimal string representation of the hash.

ELFSecurityFeatures

Captures security hardening and protection mechanisms in ELF binaries.

Field NameTypeDescription
symbolTableStrippedboolSymbolTableStripped indicates whether debugging symbols have been removed.
stackCanaryboolStackCanary indicates whether stack smashing protection is enabled.
nxboolNoExecutable indicates whether NX (no-execute) protection is enabled for the stack.
relROstrRelocationReadOnly indicates the RELRO protection level.
pieboolPositionIndependentExecutable indicates whether the binary is compiled as PIE.
dsoboolDynamicSharedObject indicates whether the binary is a shared library.
safeStackboolLlvmSafeStack represents a compiler-based security mechanism that separates the stack into a safe stack for storing return addresses and other critical data, and an unsafe stack for everything else, to mitigate stack-based memory corruption errors see https://clang.llvm.org/docs/SafeStack.html
cfiboolControlFlowIntegrity represents runtime checks to ensure a program's control flow adheres to the legal paths determined at compile time, thus protecting against various types of control-flow hijacking attacks see https://clang.llvm.org/docs/ControlFlowIntegrity.html
fortifyboolClangFortifySource is a broad suite of extensions to libc aimed at catching misuses of common library functions see https://android.googlesource.com/platform//bionic/+/d192dbecf0b2a371eb127c0871f77a9caf81c4d2/docs/clang_fortify_anatomy.md

Executable

Contains metadata about binary files and their security features.

Field NameTypeDescription
formatstrFormat denotes either ELF, Mach-O, or PE
hasExportsboolHasExports indicates whether the binary exports symbols.
hasEntrypointboolHasEntrypoint indicates whether the binary has an entry point function.
importedLibrariesArray<str>ImportedLibraries lists the shared libraries required by this executable.
elfSecurityFeaturesELFSecurityFeaturesELFSecurityFeatures contains ELF-specific security hardening information when Format is ELF.

File

Represents a file discovered during cataloging with its metadata, content digests, licenses, and relationships to packages.

Field NameTypeDescription
idstrID is a unique identifier for this file within the SBOM.
locationCoordinatesLocation is the file path and layer information where this file was found.
metadataFileMetadataEntryMetadata contains filesystem metadata such as permissions, ownership, and file type.
contentsstrContents is the file contents for small files.
digestsArray<Digest>Digests contains cryptographic hashes of the file contents.
licensesArray<FileLicense>Licenses contains license information discovered within this file.
executableExecutableExecutable contains executable metadata if this file is a binary.
unknownsArray<str>Unknowns contains unknown fields for forward compatibility.

FileLicense

Represents license information discovered within a file's contents or metadata, including the matched license text and SPDX expression.

Field NameTypeDescription
valuestrValue is the raw license identifier or text as found in the file.
spdxExpressionstrSPDXExpression is the parsed SPDX license expression.
typestrType is the license type classification (e.g., declared, concluded, discovered).
evidenceFileLicenseEvidenceEvidence contains supporting evidence for this license detection.

FileLicenseEvidence

Contains supporting evidence for a license detection in a file, including the byte offset, extent, and confidence level.

Field NameTypeDescription
confidenceintConfidence is the confidence score for this license detection (0-100).
offsetintOffset is the byte offset where the license text starts in the file.
extentintExtent is the length of the license text in bytes.

FileMetadataEntry

Contains filesystem-level metadata attributes such as permissions, ownership, type, and size for a cataloged file.

Field NameTypeDescription
modeintMode is the Unix file permission mode in octal format.
typestrType is the file type (e.g., "RegularFile", "Directory", "SymbolicLink").
linkDestinationstrLinkDestination is the target path for symbolic links.
userIDintUserID is the file owner user ID.
groupIDintGroupID is the file owner group ID.
mimeTypestrMIMEType is the MIME type of the file contents.
sizeintSize is the file size in bytes.

KeyValue

Represents a single key-value pair.

Field NameTypeDescription
keystrKey is the key name
valuestrValue is the value associated with the key

License

Represents software license information discovered for a package, including SPDX expressions and supporting evidence locations.

Field NameTypeDescription
valuestrValue is the raw license identifier or expression as found.
spdxExpressionstrSPDXExpression is the parsed SPDX license expression.
typestrType is the license type classification (e.g., declared, concluded, discovered).
urlsArray<str>URLs are URLs where license text or information can be found.
locationsArray<Location>Locations are file locations where this license was discovered.
contentsstrContents is the full license text content.

LinuxKernelModuleParameter

Represents a configurable parameter for a kernel module with its type and description.

Field NameTypeDescription
typestrType is parameter data type (e.g. int, string, bool, array types)
descriptionstrDescription is a human-readable parameter description explaining what the parameter controls

LinuxRelease

Contains Linux distribution identification and version information extracted from /etc/os-release or similar system files.

Field NameTypeDescription
prettyNamestrPrettyName is a human-readable operating system name with version.
namestrName is the operating system name without version information.
idstrID is the lower-case operating system identifier (e.g., "ubuntu", "rhel").
idLikeIDLikesIDLike is a list of operating system IDs this distribution is similar to or derived from.
versionstrVersion is the operating system version including codename if available.
versionIDstrVersionID is the operating system version number or identifier.
versionCodenamestrVersionCodename is the operating system release codename (e.g., "jammy", "bullseye").
buildIDstrBuildID is a build identifier for the operating system.
imageIDstrImageID is an identifier for container or cloud images.
imageVersionstrImageVersion is the version for container or cloud images.
variantstrVariant is the operating system variant name (e.g., "Server", "Workstation").
variantIDstrVariantID is the lower-case operating system variant identifier.
homeURLstrHomeURL is the homepage URL for the operating system.
supportURLstrSupportURL is the support or help URL for the operating system.
bugReportURLstrBugReportURL is the bug reporting URL for the operating system.
privacyPolicyURLstrPrivacyPolicyURL is the privacy policy URL for the operating system.
cpeNamestrCPEName is the Common Platform Enumeration name for the operating system.
supportEndstrSupportEnd is the end of support date or version identifier.
extendedSupportboolExtendedSupport indicates whether extended security or support is available.

Location

Represents a path relative to a particular filesystem resolved to a specific file.Reference.

Field NameTypeDescription
pathstrRealPath is the canonical absolute form of the path accessed (all symbolic links have been followed and relative path components like '.' and '..' have been removed).
layerIDstrFileSystemID is an ID representing and entire filesystem. For container images, this is a layer digest. For directories or a root filesystem, this is blank.
accessPathstrAccessPath is the path used to retrieve file contents (which may or may not have hardlinks / symlinks in the path)
annotationsobj

Package

Represents a pkg.Package object specialized for JSON marshaling and unmarshalling.

Field NameType
idstr
namestr
versionstr
typestr
foundBystr
locationsArray<Location>
licenseslicenses
languagestr
cpescpes
purlstr
metadataTypestr
metadatasee the Ecosystem Specific Types section

PnpmLockResolution

Contains package resolution metadata from pnpm lockfiles, including the integrity hash used for verification.

Field NameTypeDescription
integritystrIntegrity is Subresource Integrity hash for verification (SRI format)

Relationship

Represents a directed relationship between two artifacts in the SBOM, such as package-contains-file or package-depends-on-package.

Field NameTypeDescription
parentstrParent is the ID of the parent artifact in this relationship.
childstrChild is the ID of the child artifact in this relationship.
typestrType is the relationship type (e.g., "contains", "dependency-of", "ancestor-of").
metadataunknownMetadata contains additional relationship-specific metadata.

Schema

Specifies the JSON schema version and URL reference that defines the structure and validation rules for this document format.

Field NameTypeDescription
versionstrVersion is the JSON schema version for this document format.
urlstrURL is the URL to the JSON schema definition document.

Source

Represents the artifact that was analyzed to generate this SBOM, such as a container image, directory, or file archive.

Field NameTypeDescription
idstrID is a unique identifier for the analyzed source artifact.
namestrName is the name of the analyzed artifact (e.g., image name, directory path).
versionstrVersion is the version of the analyzed artifact (e.g., image tag).
supplierstrSupplier is supplier information, which can be user-provided for NTIA minimum elements compliance.
typestrType is the source type (e.g., "image", "directory", "file").
metadataunknownMetadata contains additional source-specific metadata.

Ecosystem Specific Types

AlpmDbEntry

Is a struct that represents the package data stored in the pacman flat-file stores for arch linux.

Field NameTypeDescription
basepackagestrBasePackage is the base package name this package was built from (source package in Arch build system)
packagestrPackage is the package name as found in the desc file
versionstrVersion is the package version as found in the desc file
descriptionstrDescription is a human-readable package description
architecturestrArchitecture is the target CPU architecture as defined in Arch architecture spec (e.g. x86_64, aarch64, or "any" for arch-independent packages)
sizeintSize is the installed size in bytes
packagerstrPackager is the name and email of the person who packaged this (RFC822 format)
urlstrURL is the upstream project URL
validationstrValidation is the validation method used for package integrity (e.g. pgp signature, sha256 checksum)
reasonintReason is the installation reason tracked by pacman (0=explicitly installed by user, 1=installed as dependency)
filesArray<AlpmFileRecord>Files are the files installed by this package
backupArray<AlpmFileRecord>Backup is the list of configuration files that pacman backs up before upgrades
providesArray<str>Provides are virtual packages provided by this package (allows other packages to depend on capabilities rather than specific packages)
dependsArray<str>Depends are the runtime dependencies required by this package

AlpmFileRecord

Represents a single file entry within an Arch Linux package with its associated metadata tracked by pacman.

Field NameTypeDescription
pathstrPath is the file path relative to the filesystem root
typestrType is the file type (e.g. regular file, directory, symlink)
uidstrUID is the file owner user ID as recorded by pacman
gidstrGID is the file owner group ID as recorded by pacman
timestrTime is the file modification timestamp
sizestrSize is the file size in bytes
linkstrLink is the symlink target path if this is a symlink
digestArray<Digest>Digests contains file content hashes for integrity verification

ApkDbEntry

Represents all captured data for the alpine linux package manager flat-file store.

Field NameTypeDescription
packagestrPackage is the package name as found in the installed file
originPackagestrOriginPackage is the original source package name this binary was built from (used to track which aport/source built this)
maintainerstrMaintainer is the package maintainer name and email
versionstrVersion is the package version as found in the installed file
architecturestrArchitecture is the target CPU architecture
urlstrURL is the upstream project URL
descriptionstrDescription is a human-readable package description
sizeintSize is the package archive size in bytes (.apk file size)
installedSizeintInstalledSize is the total size of installed files in bytes
pullDependenciesArray<str>Dependencies are the runtime dependencies required by this package
providesArray<str>Provides are virtual packages provided by this package (for capability-based dependencies)
pullChecksumstrChecksum is the package content checksum for integrity verification
gitCommitOfApkPortstrGitCommit is the git commit hash of the APK port definition in Alpine's aports repository
filesArray<ApkFileRecord>Files are the files installed by this package

ApkFileRecord

Represents a single file listing and metadata from a APK DB entry (which may have many of these file records).

Field NameTypeDescription
pathstrPath is the file path relative to the filesystem root
ownerUidstrOwnerUID is the file owner user ID
ownerGidstrOwnerGID is the file owner group ID
permissionsstrPermissions is the file permission mode string (e.g. "0755", "0644")
digestDigestDigest is the file content hash for integrity verification

BinarySignature

Represents a set of matched values within a binary file.

Field NameType
matchesArray<ClassifierMatch>

BitnamiSbomEntry

Represents all captured data from Bitnami packages described in Bitnami' SPDX files.

Field NameTypeDescription
namestrName is the package name as found in the Bitnami SPDX file
archstrArchitecture is the target CPU architecture (amd64 or arm64 in Bitnami images)
distrostrDistro is the distribution name this package is for (base OS like debian, ubuntu, etc.)
revisionstrRevision is the Bitnami-specific package revision number (incremented for Bitnami rebuilds of same upstream version)
versionstrVersion is the package version as found in the Bitnami SPDX file
pathstrPath is the installation path in the filesystem where the package is located
filesArray<str>Files are the file paths owned by this package (tracked via SPDX relationships)

CConanFileEntry

ConanfileEntry represents a single "Requires" entry from a conanfile.txt.

Field NameTypeDescription
refstrRef is the package reference string in format name/version@user/channel

CConanInfoEntry

ConaninfoEntry represents a single "full_requires" entry from a conaninfo.txt.

Field NameTypeDescription
refstrRef is the package reference string in format name/version@user/channel
package_idstrPackageID is a unique package variant identifier

CConanLockEntry

ConanV1LockEntry represents a single "node" entry from a conan.lock V1 file.

Field NameTypeDescription
refstrRef is the package reference string in format name/version@user/channel
package_idstrPackageID is a unique package variant identifier computed from settings/options (static hash in Conan 1.x, can have collisions with complex dependency graphs)
prevstrPrev is the previous lock entry reference for versioning
requiresArray<str>Requires are the runtime package dependencies
build_requiresArray<str>BuildRequires are the build-time dependencies (e.g. cmake, compilers)
py_requiresArray<str>PythonRequires are the Python dependencies needed for Conan recipes
optionsKeyValuesOptions are package configuration options as key-value pairs (e.g. shared=True, fPIC=True)
pathstrPath is the filesystem path to the package in Conan cache
contextstrContext is the build context information

CConanLockV2Entry

ConanV2LockEntry represents a single "node" entry from a conan.lock V2 file.

Field NameTypeDescription
refstrRef is the package reference string in format name/version@user/channel
packageIDstrPackageID is a unique package variant identifier (dynamic in Conan 2.0, more accurate than V1)
usernamestrUsername is the Conan user/organization name
channelstrChannel is the Conan channel name indicating stability/purpose (e.g. stable, testing, experimental)
recipeRevisionstrRecipeRevision is a git-like revision hash (RREV) of the recipe
packageRevisionstrPackageRevision is a git-like revision hash of the built binary package
timestampstrTimeStamp is when this package was built/locked

CocoaPodfileLockEntry

Represents a single entry from the "Pods" section of a Podfile.lock file.

Field NameTypeDescription
checksumstrChecksum is the SHA-1 hash of the podspec file for integrity verification (generated via `pod ipc spec ... | openssl sha1`), ensuring all team members use the same pod specification version

CondaMetadataEntry

CondaMetaPackage represents metadata for a Conda package extracted from the conda-meta/*.json files.

Field NameTypeDescription
archstrArch is the target CPU architecture for the package (e.g., "arm64", "x86_64").
namestrName is the package name as found in the conda-meta JSON file.
versionstrVersion is the package version as found in the conda-meta JSON file.
buildstrBuild is the build string identifier (e.g., "h90dfc92_1014").
build_numberintBuildNumber is the sequential build number for this version.
channelstrChannel is the Conda channel URL where the package was retrieved from.
subdirstrSubdir is the subdirectory within the channel (e.g., "osx-arm64", "linux-64").
noarchstrNoarch indicates if the package is platform-independent (e.g., "python", "generic").
licensestrLicense is the package license identifier.
license_familystrLicenseFamily is the general license category (e.g., "MIT", "Apache", "GPL").
md5strMD5 is the MD5 hash of the package archive.
sha256strSHA256 is the SHA-256 hash of the package archive.
sizeintSize is the package archive size in bytes.
timestampintTimestamp is the Unix timestamp when the package was built.
fnstrFilename is the original package archive filename (e.g., "zlib-1.2.11-h90dfc92_1014.tar.bz2").
urlstrURL is the full download URL for the package archive.
extracted_package_dirstrExtractedPackageDir is the local cache directory where the package was extracted.
dependsArray<str>Depends is the list of runtime dependencies with version constraints.
filesArray<str>Files is the list of files installed by this package.
paths_dataCondaPathsDataPathsData contains detailed file metadata from the paths.json file.
linkCondaLinkLink contains installation source metadata from the link.json file.

Represents link metadata from a Conda package's link.json file describing package installation source.

Field NameTypeDescription
sourcestrSource is the original path where the package was extracted from cache.
typeintType indicates the link type (1 for hard link, 2 for soft link, 3 for copy).

CondaPathData

Represents metadata for a single file within a Conda package from the paths.json file.

Field NameTypeDescription
_pathstrPath is the file path relative to the Conda environment root.
path_typestrPathType indicates the link type for the file (e.g., "hardlink", "softlink", "directory").
sha256strSHA256 is the SHA-256 hash of the file contents.
sha256_in_prefixstrSHA256InPrefix is the SHA-256 hash of the file after prefix replacement during installation.
size_in_bytesintSizeInBytes is the file size in bytes.

CondaPathsData

Represents the paths.json file structure from a Conda package containing file metadata.

Field NameTypeDescription
paths_versionintPathsVersion is the schema version of the paths data format.
pathsArray<CondaPathData>Paths is the list of file metadata entries for all files in the package.

DartPubspec

Is a struct that represents a package described in a pubspec.yaml file

Field NameTypeDescription
homepagestrHomepage is the package homepage URL
repositorystrRepository is the source code repository URL
documentationstrDocumentation is the documentation site URL
publish_tostrPublishTo is the package repository to publish to, or "none" to prevent accidental publishing
environmentDartPubspecEnvironmentEnvironment is SDK version constraints for Dart and Flutter
platformsArray<str>Platforms are the supported platforms (Android, iOS, web, etc.)
ignored_advisoriesArray<str>IgnoredAdvisories are the security advisories to explicitly ignore for this package

DartPubspecEnvironment

Represents SDK version constraints from the environment section of pubspec.yaml.

Field NameTypeDescription
sdkstrSDK is the Dart SDK version constraint (e.g. ">=2.12.0 <3.0.0")
flutterstrFlutter is the Flutter SDK version constraint if this is a Flutter package

DartPubspecLockEntry

Is a struct that represents a single entry found in the "packages" section in a Dart pubspec.lock file.

Field NameTypeDescription
namestrName is the package name as found in the pubspec.lock file
versionstrVersion is the package version as found in the pubspec.lock file
hosted_urlstrHostedURL is the URL of the package repository for hosted packages (typically pub.dev, but can be custom repository identified by hosted-url). When PUB_HOSTED_URL environment variable changes, lockfile tracks the source.
vcs_urlstrVcsURL is the URL of the VCS repository for git/path dependencies (for packages fetched from version control systems like Git)

DotnetDepsEntry

Is a struct that represents a single entry found in the "libraries" section in a .NET [*.]deps.json file.

Field NameTypeDescription
namestrName is the package name as found in the deps.json file
versionstrVersion is the package version as found in the deps.json file
pathstrPath is the relative path to the package within the deps structure (e.g. "app.metrics/3.0.0")
sha512strSha512 is the SHA-512 hash of the NuGet package content WITHOUT the signed content for verification (won't match hash from NuGet API or manual calculation of .nupkg file)
hashPathstrHashPath is the relative path to the .nupkg.sha512 hash file (e.g. "app.metrics.3.0.0.nupkg.sha512")
executablesobjExecutables are the map of .NET Portable Executable files within this package with their version resources

DotnetPackagesLockEntry

Is a struct that represents a single entry found in the "dependencies" section in a .NET packages.lock.json file.

Field NameTypeDescription
namestrName is the package name as found in the packages.lock.json file
versionstrVersion is the package version as found in the packages.lock.json file
contentHashstrContentHash is the hash of the package content for verification
typestrType is the dependency type indicating how this dependency was added (Direct=explicit in project file, Transitive=pulled in by another package, Project=project reference)

DotnetPortableExecutableEntry

Is a struct that represents a single entry found within "VersionResources" section of a .NET Portable Executable binary file.

Field NameTypeDescription
assemblyVersionstrAssemblyVersion is the .NET assembly version number (strong-named version)
legalCopyrightstrLegalCopyright is the copyright notice string
commentsstrComments are additional comments or description embedded in PE resources
internalNamestrInternalName is the internal name of the file
companyNamestrCompanyName is the company that produced the file
productNamestrProductName is the name of the product this file is part of
productVersionstrProductVersion is the version of the product (may differ from AssemblyVersion)

DpkgArchiveEntry

Represents package metadata extracted from a .deb archive file.

Field NameTypeDescription
packagestrPackage is the package name as found in the status file
sourcestrSource is the source package name this binary was built from (one source can produce multiple binary packages)
versionstrVersion is the binary package version as found in the status file
sourceVersionstrSourceVersion is the source package version (may differ from binary version when binNMU rebuilds occur)
architecturestrArchitecture is the target architecture per Debian spec (specific arch like amd64/arm64, wildcard like any, architecture-independent "all", or "source" for source packages)
maintainerstrMaintainer is the package maintainer's name and email in RFC822 format (name must come first, then email in angle brackets)
installedSizeintInstalledSize is the total size of installed files in kilobytes
providesArray<str>Provides are the virtual packages provided by this package (allows other packages to depend on capabilities. Can include versioned provides like "libdigest-md5-perl (= 2.55.01)")
dependsArray<str>Depends are the packages required for this package to function (will not be installed unless these requirements are met, creates strict ordering constraint)
preDependsArray<str>PreDepends are the packages that must be installed and configured BEFORE even starting installation of this package (stronger than Depends, discouraged unless absolutely necessary as it adds strict constraints for apt)
filesArray<DpkgFileRecord>Files are the files installed by this package

DpkgFileRecord

Represents a single file attributed to a debian package.

Field NameTypeDescription
pathstrPath is the file path relative to the filesystem root
digestDigestDigest is the file content hash (typically MD5 for dpkg compatibility with legacy systems)
isConfigFileboolIsConfigFile is whether this file is marked as a configuration file (dpkg will preserve user modifications during upgrades)

DpkgDbEntry

Represents all captured data for a Debian package DB entry; available fields are described at http://manpages.ubuntu.com/manpages/xenial/man1/dpkg-query.1.html in the --showformat section.

Field NameTypeDescription
packagestrPackage is the package name as found in the status file
sourcestrSource is the source package name this binary was built from (one source can produce multiple binary packages)
versionstrVersion is the binary package version as found in the status file
sourceVersionstrSourceVersion is the source package version (may differ from binary version when binNMU rebuilds occur)
architecturestrArchitecture is the target architecture per Debian spec (specific arch like amd64/arm64, wildcard like any, architecture-independent "all", or "source" for source packages)
maintainerstrMaintainer is the package maintainer's name and email in RFC822 format (name must come first, then email in angle brackets)
installedSizeintInstalledSize is the total size of installed files in kilobytes
providesArray<str>Provides are the virtual packages provided by this package (allows other packages to depend on capabilities. Can include versioned provides like "libdigest-md5-perl (= 2.55.01)")
dependsArray<str>Depends are the packages required for this package to function (will not be installed unless these requirements are met, creates strict ordering constraint)
preDependsArray<str>PreDepends are the packages that must be installed and configured BEFORE even starting installation of this package (stronger than Depends, discouraged unless absolutely necessary as it adds strict constraints for apt)
filesArray<DpkgFileRecord>Files are the files installed by this package

DpkgFileRecord

Represents a single file attributed to a debian package.

Field NameTypeDescription
pathstrPath is the file path relative to the filesystem root
digestDigestDigest is the file content hash (typically MD5 for dpkg compatibility with legacy systems)
isConfigFileboolIsConfigFile is whether this file is marked as a configuration file (dpkg will preserve user modifications during upgrades)

ElfBinaryPackageNoteJsonPayload

Represents metadata captured from the .note.package section of an ELF-formatted binary

Field NameTypeDescription
typestrType is the type of the package (e.g. "rpm", "deb", "apk", etc.)
architecturestrArchitecture of the binary package (e.g. "amd64", "arm", etc.)
osCPEstrOSCPE is a CPE name for the OS, typically corresponding to CPE_NAME in os-release (e.g. cpe:/o:fedoraproject:fedora:33)
osstrOS is the OS name, typically corresponding to ID in os-release (e.g. "fedora")
osVersionstrosVersion is the version of the OS, typically corresponding to VERSION_ID in os-release (e.g. "33")
systemstrSystem is a context-specific name for the system that the binary package is intended to run on or a part of
vendorstrVendor is the individual or organization that produced the source code for the binary
sourceRepostrSourceRepo is the URL to the source repository for which the binary was built from
commitstrCommit is the commit hash of the source repository for which the binary was built from

ElixirMixLockEntry

Is a struct that represents a single entry in a mix.lock file

Field NameTypeDescription
namestrName is the package name as found in the mix.lock file
versionstrVersion is the package version as found in the mix.lock file
pkgHashstrPkgHash is the outer checksum (SHA-256) of the entire Hex package tarball for integrity verification (preferred method, replaces deprecated inner checksum)
pkgHashExtstrPkgHashExt is the extended package hash format (inner checksum is deprecated - SHA-256 of concatenated file contents excluding CHECKSUM file, now replaced by outer checksum)

ErlangRebarLockEntry

Represents a single package entry from the "deps" section within an Erlang rebar.lock file.

Field NameTypeDescription
namestrName is the package name as found in the rebar.lock file
versionstrVersion is the package version as found in the rebar.lock file
pkgHashstrPkgHash is the outer checksum (SHA-256) of the entire Hex package tarball for integrity verification (preferred method over deprecated inner checksum)
pkgHashExtstrPkgHashExt is the extended package hash format (inner checksum deprecated - was SHA-256 of concatenated file contents)

GgufFileHeader

Represents metadata extracted from a GGUF (GPT-Generated Unified Format) model file.

Field NameTypeDescription
ggufVersionintGGUFVersion is the GGUF format version (e.g., 3)
fileSizeintFileSize is the size of the GGUF file in bytes (best-effort if available from resolver)
architecturestrArchitecture is the model architecture (from general.architecture, e.g., "qwen3moe", "llama")
quantizationstrQuantization is the quantization type (e.g., "IQ4_NL", "Q4_K_M")
parametersintParameters is the number of model parameters (if present in header)
tensorCountintTensorCount is the number of tensors in the model
headerobjRemainingKeyValues contains the remaining key-value pairs from the GGUF header that are not already represented as typed fields above. This preserves additional metadata fields for reference (namespaced with general.*, llama.*, etc.) while avoiding duplication.
metadataHashstrMetadataKeyValuesHash is a xx64 hash of all key-value pairs from the GGUF header metadata. This hash is computed over the complete header metadata (including the fields extracted into typed fields above) and provides a stable identifier for the model configuration across different file locations or remotes. It allows matching identical models even when stored in different repositories or with different filenames.

GithubActionsUseStatement

Represents a single 'uses' statement in a GitHub Actions workflow file referencing an action or reusable workflow.

Field NameTypeDescription
valuestrValue is the action reference (e.g. "actions/checkout@v3")
commentstrComment is the inline comment associated with this uses statement

GoModuleBuildinfoEntry

GolangBinaryBuildinfoEntry represents all captured data for a Golang binary

Field NameTypeDescription
goBuildSettingsKeyValuesBuildSettings contains the Go build settings and flags used to compile the binary (e.g., GOARCH, GOOS, CGO_ENABLED).
goCompiledVersionstrGoCompiledVersion is the version of Go used to compile the binary.
architecturestrArchitecture is the target CPU architecture for the binary (extracted from GOARCH build setting).
h1DigeststrH1Digest is the Go module hash in h1: format for the main module from go.sum.
mainModulestrMainModule is the main module path for the binary (e.g., "github.com/anchore/syft").
goCryptoSettingsArray<str>GoCryptoSettings contains FIPS and cryptographic configuration settings if present.
goExperimentsArray<str>GoExperiments lists experimental Go features enabled during compilation (e.g., "arenas", "cgocheck2").

GoModuleEntry

GolangModuleEntry represents all captured data for a Golang source scan with go.mod/go.sum

Field NameTypeDescription
h1DigeststrH1Digest is the Go module hash in h1: format from go.sum for verifying module contents.

GoSourceEntry

GolangSourceEntry represents all captured data for a Golang package found through source analysis

Field NameTypeDescription
h1DigeststrH1Digest is the Go module hash in h1: format from go.sum for verifying module contents.
osstrOperatingSystem is the target OS for build constraints (e.g., "linux", "darwin", "windows").
architecturestrArchitecture is the target CPU architecture for build constraints (e.g., "amd64", "arm64").
buildTagsstrBuildTags are the build tags used to conditionally compile code (e.g., "integration,debug").
cgoEnabledboolCgoEnabled indicates whether CGO was enabled for this package.

HaskellHackageStackEntry

HackageStackYamlEntry represents a single entry from the "extra-deps" section of a stack.yaml file.

Field NameTypeDescription
pkgHashstrPkgHash is the package content hash for verification

HaskellHackageStackLockEntry

HackageStackYamlLockEntry represents a single entry from the "packages" section of a stack.yaml.lock file.

Field NameTypeDescription
pkgHashstrPkgHash is the package content hash for verification
snapshotURLstrSnapshotURL is the URL to the Stack snapshot this package came from

HomebrewFormula

Represents metadata about a Homebrew formula package extracted from formula JSON files.

Field NameTypeDescription
tapstrTap is Homebrew tap this formula belongs to (e.g. "homebrew/core")
homepagestrHomepage is the upstream project homepage URL
descriptionstrDescription is a human-readable formula description

JavaArchive

Encapsulates all Java ecosystem metadata for a package as well as an (optional) parent relationship.

Field NameTypeDescription
virtualPathstrVirtualPath is path within the archive hierarchy, where nested entries are delimited with ':' (for nested JARs)
manifestJavaManifestManifest is parsed META-INF/MANIFEST.MF contents
pomPropertiesJavaPomPropertiesPomProperties is parsed pom.properties file contents
pomProjectJavaPomProjectPomProject is parsed pom.xml file contents
digestArray<Digest>ArchiveDigests is cryptographic hashes of the archive file

JavaManifest

Represents the fields of interest extracted from a Java archive's META-INF/MANIFEST.MF file.

Field NameTypeDescription
mainKeyValuesMain is main manifest attributes as key-value pairs
sectionsArray<KeyValues>Sections are the named sections from the manifest (e.g. per-entry attributes)

JavaPomParent

Contains the fields within the tag in a pom.xml file

Field NameTypeDescription
groupIdstrGroupID is the parent Maven group identifier
artifactIdstrArtifactID is the parent Maven artifact identifier
versionstrVersion is the parent version (child inherits configuration from this specific version of parent POM)

JavaPomProject

Represents fields of interest extracted from a Java archive's pom.xml file.

Field NameTypeDescription
pathstrPath is path to the pom.xml file within the archive
parentJavaPomParentParent is the parent POM reference for inheritance (child POMs inherit configuration from parent)
groupIdstrGroupID is Maven group identifier (reversed domain name like org.apache.maven)
artifactIdstrArtifactID is Maven artifact identifier (project name)
versionstrVersion is project version (together with groupId and artifactId forms Maven coordinates groupId:artifactId:version)
namestrName is a human-readable project name (displayed in Maven-generated documentation)
descriptionstrDescription is detailed project description
urlstrURL is the project URL (typically project website or repository)

JavaPomProperties

Represents the fields of interest extracted from a Java archive's pom.properties file.

Field NameTypeDescription
pathstrPath is path to the pom.properties file within the archive
namestrName is the project name
groupIdstrGroupID is Maven group identifier uniquely identifying the project across all projects (follows reversed domain name convention like com.company.project)
artifactIdstrArtifactID is Maven artifact identifier, the name of the jar/artifact (unique within the groupId scope)
versionstrVersion is artifact version
scopestrScope is dependency scope determining when dependency is available (compile=default all phases, test=test compilation/execution only, runtime=runtime and test not compile, provided=expected from JDK or container)
extraFieldsobjExtra is additional custom properties not in standard Maven coordinates

JavaJvmInstallation

JavaVMInstallation represents a Java Virtual Machine installation discovered on the system with its release information and file list.

Field NameTypeDescription
releaseJavaVMReleaseRelease is JVM release information and version details
filesArray<str>Files are the list of files that are part of this JVM installation

JavaVMRelease

Represents JVM version and build information extracted from the release file in a Java installation.

Field NameTypeDescription
implementorstrImplementor is extracted with the `java.vendor` JVM property
implementorVersionstrImplementorVersion is extracted with the `java.vendor.version` JVM property
javaRuntimeVersionstrJavaRuntimeVersion is extracted from the 'java.runtime.version' JVM property
javaVersionstrJavaVersion matches that from `java -version` command output
javaVersionDatestrJavaVersionDate is extracted from the 'java.version.date' JVM property
libcstrLibc can either be 'glibc' or 'musl'
modulesArray<str>Modules is a list of JVM modules that are packaged
osArchstrOsArch is the target CPU architecture
osNamestrOsName is the name of the target runtime operating system environment
osVersionstrOsVersion is the version of the target runtime operating system environment
sourcestrSource refers to the origin repository of OpenJDK source
buildSourcestrBuildSource Git SHA of the build repository
buildSourceRepostrBuildSourceRepo refers to rhe repository URL for the build source
sourceRepostrSourceRepo refers to the OpenJDK repository URL
fullVersionstrFullVersion is extracted from the 'java.runtime.version' JVM property
semanticVersionstrSemanticVersion is derived from the OpenJDK version
buildInfostrBuildInfo contains additional build information
jvmVariantstrJvmVariant specifies the JVM variant (e.g., Hotspot or OpenJ9)
jvmVersionstrJvmVersion is extracted from the 'java.vm.version' JVM property
imageTypestrImageType can be 'JDK' or 'JRE'
buildTypestrBuildType can be 'commercial' (used in some older oracle JDK distributions)

JavascriptNpmPackage

NpmPackage represents the contents of a javascript package.json file.

Field NameTypeDescription
namestrName is the package name as found in package.json
versionstrVersion is the package version as found in package.json
authorstrAuthor is package author name
homepagestrHomepage is project homepage URL
descriptionstrDescription is a human-readable package description
urlstrURL is repository or project URL
privateboolPrivate is whether this is a private package

JavascriptNpmPackageLockEntry

NpmPackageLockEntry represents a single entry within the "packages" section of a package-lock.json file.

Field NameTypeDescription
resolvedstrResolved is URL where this package was downloaded from (registry source)
integritystrIntegrity is Subresource Integrity hash for verification using standard SRI format (sha512-... or sha1-...). npm changed from SHA-1 to SHA-512 in newer versions. For registry sources this is the integrity from registry, for remote tarballs it's SHA-512 of the file. npm verifies tarball matches this hash before unpacking, throwing EINTEGRITY error if mismatch detected.
dependenciesobjDependencies is a map of dependencies and their version markers, i.e. "lodash": "^1.0.0"

JavascriptPnpmLockEntry

PnpmLockEntry represents a single entry in the "packages" section of a pnpm-lock.yaml file.

Field NameTypeDescription
resolutionPnpmLockResolutionResolution is the resolution information for the package
dependenciesobjDependencies is a map of dependencies and their versions

JavascriptYarnLockEntry

YarnLockEntry represents a single entry section of a yarn.lock file.

Field NameTypeDescription
resolvedstrResolved is URL where this package was downloaded from
integritystrIntegrity is Subresource Integrity hash for verification (SRI format)
dependenciesobjDependencies is a map of dependencies and their versions

LinuxKernelArchive

LinuxKernel represents all captured data for a Linux kernel

Field NameTypeDescription
namestrName is kernel name (typically "Linux")
architecturestrArchitecture is the target CPU architecture
versionstrVersion is kernel version string
extendedVersionstrExtendedVersion is additional version information
buildTimestrBuildTime is when the kernel was built
authorstrAuthor is who built the kernel
formatstrFormat is kernel image format (e.g. bzImage, zImage)
rwRootFSboolRWRootFS is whether root filesystem is mounted read-write
swapDeviceintSwapDevice is swap device number
rootDeviceintRootDevice is root device number
videoModestrVideoMode is default video mode setting

LinuxKernelModule

Represents a loadable kernel module (.ko file) with its metadata, parameters, and dependencies.

Field NameTypeDescription
namestrName is module name
versionstrVersion is module version string
sourceVersionstrSourceVersion is the source code version identifier
pathstrPath is the filesystem path to the .ko kernel object file (absolute path)
descriptionstrDescription is a human-readable module description
authorstrAuthor is module author name and email
licensestrLicense is module license (e.g. GPL, BSD) which must be compatible with kernel
kernelVersionstrKernelVersion is kernel version this module was built for
versionMagicstrVersionMagic is version magic string for compatibility checking (includes kernel version, SMP status, module loading capabilities like "3.17.4-302.fc21.x86_64 SMP mod_unload modversions"). Module will NOT load if vermagic doesn't match running kernel.
parametersobjParameters are the module parameters that can be configured at load time (user-settable values like module options)

LuarocksPackage

Represents a Lua package managed by the LuaRocks package manager with metadata from .rockspec files.

Field NameTypeDescription
namestrName is the package name as found in the .rockspec file
versionstrVersion is the package version as found in the .rockspec file
licensestrLicense is license identifier
homepagestrHomepage is project homepage URL
descriptionstrDescription is a human-readable package description
urlstrURL is the source download URL
dependenciesobjDependencies are the map of dependency names to version constraints

NixStoreEntry

Represents a package in the Nix store (/nix/store) with its derivation information and metadata.

Field NameTypeDescription
pathstrPath is full store path for this output (e.g. /nix/store/abc123...-package-1.0)
outputstrOutput is the specific output name for multi-output packages (empty string for default "out" output, can be "bin", "dev", "doc", etc.)
outputHashstrOutputHash is hash prefix of the store path basename (first part before the dash)
derivationNixDerivationDerivation is information about the .drv file that describes how this package was built
filesArray<str>Files are the list of files under the nix/store path for this package

NixDerivation

Represents a Nix .drv file that describes how to build a package including inputs, outputs, and build instructions.

Field NameTypeDescription
pathstrPath is path to the .drv file in Nix store
systemstrSystem is target system string indicating where derivation can be built (e.g. "x86_64-linux", "aarch64-darwin"). Must match current system for local builds.
inputDerivationsArray<NixDerivationReference>InputDerivations are the list of other derivations that were inputs to this build (dependencies)
inputSourcesArray<str>InputSources are the list of source file paths that were inputs to this build

NixDerivationReference

Represents a reference to another derivation used as a build input or runtime dependency.

Field NameTypeDescription
pathstrPath is path to the referenced .drv file
outputsArray<str>Outputs are which outputs of the referenced derivation were used (e.g. ["out"], ["bin", "dev"])

OpamPackage

Represents an OCaml package managed by the OPAM package manager with metadata from .opam files.

Field NameTypeDescription
namestrName is the package name as found in the .opam file
versionstrVersion is the package version as found in the .opam file
licensesArray<str>Licenses are the list of applicable licenses
urlstrURL is download URL for the package source
checksumArray<str>Checksums are the list of checksums for verification
homepagestrHomepage is project homepage URL
dependenciesArray<str>Dependencies are the list of required dependencies

PeBinary

Represents metadata captured from a Portable Executable formatted binary (dll, exe, etc.)

Field NameTypeDescription
VersionResourcesKeyValuesVersionResources contains key-value pairs extracted from the PE file's version resource section (e.g., FileVersion, ProductName, CompanyName).

PhpComposerInstalledEntry

Represents a single package entry from a composer v1/v2 "installed.json" files (very similar to composer.lock files).

Field NameTypeDescription
namestrName is package name in vendor/package format (e.g. symfony/console)
versionstrVersion is the package version
sourcePhpComposerExternalReferenceSource is the source repository information for development (typically git repo, used when passing --prefer-source). Originates from source code repository.
distPhpComposerExternalReferenceDist is distribution archive information for production (typically zip/tar, default install method). Packaged version of released code.
requireobjRequire is runtime dependencies with version constraints (package will not install unless these requirements can be met)
provideobjProvide is virtual packages/functionality provided by this package (allows other packages to depend on capabilities)
require-devobjRequireDev is development-only dependencies (not installed in production, only when developing this package or running tests)
suggestobjSuggest is optional but recommended dependencies (suggestions for packages that would extend functionality)
licenseArray<str>License is the list of license identifiers (SPDX format)
typestrType is package type indicating purpose (library=reusable code, project=application, metapackage=aggregates dependencies, etc.)
notification-urlstrNotificationURL is the URL to notify when package is installed (for tracking/statistics)
binArray<str>Bin is the list of binary/executable files that should be added to PATH
authorsArray<PhpComposerAuthors>Authors are the list of package authors with name/email/homepage
descriptionstrDescription is a human-readable package description
homepagestrHomepage is project homepage URL
keywordsArray<str>Keywords are the list of keywords for package discovery/search
timestrTime is timestamp when this package version was released

PhpComposerAuthors

Represents author information for a PHP Composer package from the authors field in composer.json.

Field NameTypeDescription
namestrName is author's full name
emailstrEmail is author's email address
homepagestrHomepage is author's personal or company website

PhpComposerExternalReference

Represents source or distribution information for a PHP package, indicating where the package code is retrieved from.

Field NameTypeDescription
typestrType is reference type (git for source VCS, zip/tar for dist archives)
urlstrURL is the URL to the resource (git repository URL or archive download URL)
referencestrReference is git commit hash or version tag for source, or archive version for dist
shasumstrShasum is SHA hash of the archive file for integrity verification (dist only)

PhpComposerLockEntry

Represents a single package entry found from a composer.lock file.

Field NameTypeDescription
namestrName is package name in vendor/package format (e.g. symfony/console)
versionstrVersion is the package version
sourcePhpComposerExternalReferenceSource is the source repository information for development (typically git repo, used when passing --prefer-source). Originates from source code repository.
distPhpComposerExternalReferenceDist is distribution archive information for production (typically zip/tar, default install method). Packaged version of released code.
requireobjRequire is runtime dependencies with version constraints (package will not install unless these requirements can be met)
provideobjProvide is virtual packages/functionality provided by this package (allows other packages to depend on capabilities)
require-devobjRequireDev is development-only dependencies (not installed in production, only when developing this package or running tests)
suggestobjSuggest is optional but recommended dependencies (suggestions for packages that would extend functionality)
licenseArray<str>License is the list of license identifiers (SPDX format)
typestrType is package type indicating purpose (library=reusable code, project=application, metapackage=aggregates dependencies, etc.)
notification-urlstrNotificationURL is the URL to notify when package is installed (for tracking/statistics)
binArray<str>Bin is the list of binary/executable files that should be added to PATH
authorsArray<PhpComposerAuthors>Authors are the list of package authors with name/email/homepage
descriptionstrDescription is a human-readable package description
homepagestrHomepage is project homepage URL
keywordsArray<str>Keywords are the list of keywords for package discovery/search
timestrTime is timestamp when this package version was released

PhpComposerAuthors

Represents author information for a PHP Composer package from the authors field in composer.json.

Field NameTypeDescription
namestrName is author's full name
emailstrEmail is author's email address
homepagestrHomepage is author's personal or company website

PhpComposerExternalReference

Represents source or distribution information for a PHP package, indicating where the package code is retrieved from.

Field NameTypeDescription
typestrType is reference type (git for source VCS, zip/tar for dist archives)
urlstrURL is the URL to the resource (git repository URL or archive download URL)
referencestrReference is git commit hash or version tag for source, or archive version for dist
shasumstrShasum is SHA hash of the archive file for integrity verification (dist only)

PhpPearEntry

Represents a single package entry found within php pear metadata files.

Field NameTypeDescription
namestrName is the package name
channelstrChannel is PEAR channel this package is from
versionstrVersion is the package version
licenseArray<str>License is the list of applicable licenses

PhpPeclEntry

Represents a single package entry found within php pecl metadata files.

Field NameTypeDescription
namestrName is the package name
channelstrChannel is PEAR channel this package is from
versionstrVersion is the package version
licenseArray<str>License is the list of applicable licenses

PortageDbEntry

PortageEntry represents a single package entry in the portage DB flat-file store.

Field NameTypeDescription
installedSizeintInstalledSize is total size of installed files in bytes
licensesstrLicenses is license string which may be an expression (e.g. "GPL-2 OR Apache-2.0")
filesArray<PortageFileRecord>Files are the files installed by this package (tracked in CONTENTS file)

PortageFileRecord

Represents a single file attributed to a portage package.

Field NameTypeDescription
pathstrPath is the file path relative to the filesystem root
digestDigestDigest is file content hash (MD5 for regular files in CONTENTS format: "obj filename md5hash mtime")

PythonPackage

Represents all captured data for a python egg or wheel package (specifically as outlined in the PyPA core metadata specification https://packaging.python.org/en/latest/specifications/core-metadata/).

Field NameTypeDescription
namestrName is the package name from the Name field in PKG-INFO or METADATA.
versionstrVersion is the package version from the Version field in PKG-INFO or METADATA.
authorstrAuthor is the package author name from the Author field.
authorEmailstrAuthorEmail is the package author's email address from the Author-Email field.
platformstrPlatform indicates the target platform for the package (e.g., "any", "linux", "win32").
filesArray<PythonFileRecord>Files are the installed files listed in the RECORD file for wheels or installed-files.txt for eggs.
sitePackagesRootPathstrSitePackagesRootPath is the root directory path containing the package (e.g., "/usr/lib/python3.9/site-packages").
topLevelPackagesArray<str>TopLevelPackages are the top-level Python module names from top_level.txt file.
directUrlOriginPythonDirectURLOriginInfoDirectURLOrigin contains VCS or direct URL installation information from direct_url.json.
requiresPythonstrRequiresPython specifies the Python version requirement (e.g., ">=3.6").
requiresDistArray<str>RequiresDist lists the package dependencies with version specifiers from Requires-Dist fields.
providesExtraArray<str>ProvidesExtra lists optional feature names that can be installed via extras (e.g., "dev", "test").

PythonDirectURLOriginInfo

Represents installation source metadata from direct_url.json for packages installed from VCS or direct URLs.

Field NameTypeDescription
urlstrURL is the source URL from which the package was installed.
commitIdstrCommitID is the VCS commit hash if installed from version control.
vcsstrVCS is the version control system type (e.g., "git", "hg").

PythonFileDigest

Represents the file metadata for a single file attributed to a python package.

Field NameTypeDescription
algorithmstrAlgorithm is the hash algorithm used (e.g., "sha256").
valuestrValue is the hex-encoded hash digest value.

PythonFileRecord

Represents a single entry within a RECORD file for a python wheel or egg package

Field NameTypeDescription
pathstrPath is the installed file path from the RECORD file.
digestPythonFileDigestDigest contains the hash algorithm and value for file integrity verification.
sizestrSize is the file size in bytes as a string.

PythonPdmLockEntry

Represents a single package entry within a pdm.lock file.

Field NameTypeDescription
summarystrSummary provides a description of the package
filesArray<PythonPdmFileEntry>Files are the package files with their paths and hash digests (for the base package without extras)
markerstrMarker is the "environment" --conditional expressions that determine whether a package should be installed based on the runtime environment
requiresPythonstrRequiresPython specifies the Python version requirement (e.g., ">=3.6").
dependenciesArray<str>Dependencies are the dependency specifications for the base package (without extras)
extrasArray<PythonPdmLockExtraVariant>Extras contains variants for different extras combinations (PDM may have multiple entries per package)

PythonFileDigest

Represents the file metadata for a single file attributed to a python package.

Field NameTypeDescription
algorithmstrAlgorithm is the hash algorithm used (e.g., "sha256").
valuestrValue is the hex-encoded hash digest value.

PythonPdmFileEntry

Field NameTypeDescription
urlstrURL is the file download URL
digestPythonFileDigestDigest is the hash digest of the file hosted at the URL

PythonPdmLockExtraVariant

Represents a specific extras combination variant within a PDM lock file.

Field NameTypeDescription
extrasArray<str>Extras are the optional extras enabled for this variant (e.g., ["toml"], ["dev"], or ["toml", "dev"])
dependenciesArray<str>Dependencies are the dependencies specific to this extras variant
filesArray<PythonPdmFileEntry>Files are the package files specific to this variant (only populated if different from base)
markerstrMarker is the environment conditional expression for this variant (e.g., "python_version < \"3.11\"")

PythonPipRequirementsEntry

PythonRequirementsEntry represents a single entry within a [*-]requirements.txt file.

Field NameTypeDescription
namestrName is the package name from the requirements file.
extrasArray<str>Extras are the optional features to install from the package (e.g., package[dev,test]).
versionConstraintstrVersionConstraint specifies version requirements (e.g., ">=1.0,<2.0").
urlstrURL is the direct download URL or VCS URL if specified instead of a PyPI package.
markersstrMarkers are environment marker expressions for conditional installation (e.g., "python_version >= '3.8'").

PythonPipfileLockEntry

Represents a single package entry within a Pipfile.lock file.

Field NameTypeDescription
hashesArray<str>Hashes are the package file hash values in the format "algorithm:digest" for integrity verification.
indexstrIndex is the PyPI index name where the package should be fetched from.

PythonPoetryLockEntry

Represents a single package entry within a Pipfile.lock file.

Field NameTypeDescription
indexstrIndex is the package repository name where the package should be fetched from.
dependenciesArray<PythonPoetryLockDependencyEntry>Dependencies are the package's runtime dependencies with version constraints.
extrasArray<PythonPoetryLockExtraEntry>Extras are optional feature groups that include additional dependencies.

PythonPoetryLockDependencyEntry

Represents a single dependency entry within a Poetry lock file.

Field NameTypeDescription
namestrName is the dependency package name.
versionstrVersion is the locked version or version constraint for the dependency.
optionalboolOptional indicates whether this dependency is optional (only needed for certain extras).
markersstrMarkers are environment marker expressions that conditionally enable the dependency (e.g., "python_version >= '3.8'").
extrasArray<str>Extras are the optional feature names from the dependency that should be installed.

PythonPoetryLockExtraEntry

Represents an optional feature group in a Poetry lock file.

Field NameTypeDescription
namestrName is the optional feature name (e.g., "dev", "test").
dependenciesArray<str>Dependencies are the package names required when this extra is installed.

PythonUvLockEntry

Represents a single package entry within a uv.lock file.

Field NameTypeDescription
indexstrIndex is the package repository name where the package should be fetched from.
dependenciesArray<PythonUvLockDependencyEntry>Dependencies are the package's runtime dependencies with version constraints.
extrasArray<PythonUvLockExtraEntry>Extras are optional feature groups that include additional dependencies.

PythonUvLockDependencyEntry

Represents a single dependency entry within a uv lock file.

Field NameTypeDescription
namestrName is the dependency package name.
optionalboolOptional indicates whether this dependency is optional (only needed for certain extras).
markersstrMarkers are environment marker expressions that conditionally enable the dependency (e.g., "python_version >= '3.8'").
extrasArray<str>Extras are the optional feature names from the dependency that should be installed.

PythonUvLockExtraEntry

Represents an optional feature group in a uv lock file.

Field NameTypeDescription
namestrName is the optional feature name (e.g., "dev", "test").
dependenciesArray<str>Dependencies are the package names required when this extra is installed.

RDescription

Represents metadata from an R package DESCRIPTION file containing package information, dependencies, and author details.

Field NameTypeDescription
titlestrTitle is short one-line package title
descriptionstrDescription is detailed package description
authorstrAuthor is package author(s)
maintainerstrMaintainer is current package maintainer
urlArray<str>URL is the list of related URLs
repositorystrRepository is CRAN or other repository name
builtstrBuilt is R version and platform this was built with
needsCompilationboolNeedsCompilation is whether this package requires compilation
importsArray<str>Imports are the packages imported in the NAMESPACE
dependsArray<str>Depends are the packages this package depends on
suggestsArray<str>Suggests are the optional packages that extend functionality

RpmArchive

Represents package metadata extracted directly from a .rpm archive file, containing the same information as an RPM database entry.

Field NameTypeDescription
namestrName is the RPM package name as found in the RPM database.
versionstrVersion is the upstream version of the package.
epochint | null
architecturestrArch is the target CPU architecture (e.g., "x86_64", "aarch64", "noarch").
releasestrRelease is the package release number or distribution-specific version suffix.
sourceRpmstrSourceRpm is the source RPM filename that was used to build this package.
signaturesArray<RpmSignature>Signatures contains GPG signature metadata for package verification.
sizeintSize is the total installed size of the package in bytes.
vendorstrVendor is the organization that packaged the software.
modularityLabelstrModularityLabel identifies the module stream for modular RPM packages (e.g., "nodejs:12:20200101").
providesArray<str>Provides lists the virtual packages and capabilities this package provides.
requiresArray<str>Requires lists the dependencies required by this package.
filesArray<RpmFileRecord>Files are the file records for all files owned by this package.

RpmFileRecord

Represents the file metadata for a single file attributed to a RPM package.

Field NameTypeDescription
pathstrPath is the absolute file path where the file is installed.
modeintMode is the file permission mode bits following Unix stat.h conventions.
sizeintSize is the file size in bytes.
digestDigestDigest contains the hash algorithm and value for file integrity verification.
userNamestrUserName is the owner username for the file.
groupNamestrGroupName is the group name for the file.
flagsstrFlags indicates the file type (e.g., "%config", "%doc", "%ghost").

RpmSignature

Represents a GPG signature for an RPM package used for authenticity verification.

Field NameTypeDescription
algostrPublicKeyAlgorithm is the public key algorithm used for signing (e.g., "RSA").
hashstrHashAlgorithm is the hash algorithm used for the signature (e.g., "SHA256").
createdstrCreated is the timestamp when the signature was created.
issuerstrIssuerKeyID is the GPG key ID that created the signature.

RpmDbEntry

Represents all captured data from a RPM DB package entry.

Field NameTypeDescription
namestrName is the RPM package name as found in the RPM database.
versionstrVersion is the upstream version of the package.
epochint | null
architecturestrArch is the target CPU architecture (e.g., "x86_64", "aarch64", "noarch").
releasestrRelease is the package release number or distribution-specific version suffix.
sourceRpmstrSourceRpm is the source RPM filename that was used to build this package.
signaturesArray<RpmSignature>Signatures contains GPG signature metadata for package verification.
sizeintSize is the total installed size of the package in bytes.
vendorstrVendor is the organization that packaged the software.
modularityLabelstrModularityLabel identifies the module stream for modular RPM packages (e.g., "nodejs:12:20200101").
providesArray<str>Provides lists the virtual packages and capabilities this package provides.
requiresArray<str>Requires lists the dependencies required by this package.
filesArray<RpmFileRecord>Files are the file records for all files owned by this package.

RpmFileRecord

Represents the file metadata for a single file attributed to a RPM package.

Field NameTypeDescription
pathstrPath is the absolute file path where the file is installed.
modeintMode is the file permission mode bits following Unix stat.h conventions.
sizeintSize is the file size in bytes.
digestDigestDigest contains the hash algorithm and value for file integrity verification.
userNamestrUserName is the owner username for the file.
groupNamestrGroupName is the group name for the file.
flagsstrFlags indicates the file type (e.g., "%config", "%doc", "%ghost").

RpmSignature

Represents a GPG signature for an RPM package used for authenticity verification.

Field NameTypeDescription
algostrPublicKeyAlgorithm is the public key algorithm used for signing (e.g., "RSA").
hashstrHashAlgorithm is the hash algorithm used for the signature (e.g., "SHA256").
createdstrCreated is the timestamp when the signature was created.
issuerstrIssuerKeyID is the GPG key ID that created the signature.

RubyGemspec

Represents all metadata parsed from the *.gemspec file

Field NameTypeDescription
namestrName is gem name as specified in the gemspec
versionstrVersion is gem version as specified in the gemspec
filesArray<str>Files is logical list of files in the gem (NOT directly usable as filesystem paths. Example: bundler gem lists "lib/bundler/vendor/uri/lib/uri/ldap.rb" but actual path is "/usr/local/lib/ruby/3.2.0/bundler/vendor/uri/lib/uri/ldap.rb". Would need gem installation path, ruby version, and env vars like GEM_HOME to resolve actual paths.)
authorsArray<str>Authors are the list of gem authors (stored as array regardless of using `author` or `authors` method in gemspec)
homepagestrHomepage is project homepage URL

RustCargoAuditEntry

RustBinaryAuditEntry represents Rust crate metadata extracted from a compiled binary using cargo-auditable format.

Field NameTypeDescription
namestrName is crate name as specified in audit section of the build binary
versionstrVersion is crate version as specified in audit section of the build binary
sourcestrSource is the source registry or repository where this crate came from

RustCargoLockEntry

Represents a locked dependency from a Cargo.lock file with precise version and checksum information.

Field NameTypeDescription
namestrName is crate name as specified in Cargo.toml
versionstrVersion is crate version as specified in Cargo.toml
sourcestrSource is the source registry or repository URL in format "registry+https://github.com/rust-lang/crates.io-index" for registry packages
checksumstrChecksum is content checksum for registry packages only (hexadecimal string). Cargo doesn't require or include checksums for git dependencies. Used to detect MITM attacks by verifying downloaded crate matches lockfile checksum.
dependenciesArray<str>Dependencies are the list of dependencies with version constraints

SnapEntry

Represents metadata for a Snap package extracted from snap.yaml or snapcraft.yaml files.

Field NameTypeDescription
snapTypestrSnapType indicates the snap type (base, kernel, app, gadget, or snapd).
basestrBase is the base snap name that this snap depends on (e.g., "core20", "core22").
snapNamestrSnapName is the snap package name.
snapVersionstrSnapVersion is the snap package version.
architecturestrArchitecture is the target CPU architecture (e.g., "amd64", "arm64").

SwiftPackageManagerLockEntry

SwiftPackageManagerResolvedEntry represents a resolved dependency from a Package.resolved file with its locked version and source location.

Field NameTypeDescription
revisionstrRevision is git commit hash of the resolved package

SwiplpackPackage

SwiplPackEntry represents a SWI-Prolog package from the pack system with metadata about the package and its dependencies.

Field NameTypeDescription
namestrName is the package name as found in the .toml file
versionstrVersion is the package version as found in the .toml file
authorstrAuthor is author name
authorEmailstrAuthorEmail is author email address
packagerstrPackager is packager name (if different from author)
packagerEmailstrPackagerEmail is packager email address
homepagestrHomepage is project homepage URL
dependenciesArray<str>Dependencies are the list of required dependencies

TerraformLockProviderEntry

Represents a single provider entry in a Terraform dependency lock file (.terraform.lock.hcl).

Field NameTypeDescription
urlstrURL is the provider source address (e.g., "registry.terraform.io/hashicorp/aws").
constraintsstrConstraints specifies the version constraints for the provider (e.g., "~> 4.0").
versionstrVersion is the locked provider version selected during terraform init.
hashesArray<str>Hashes are cryptographic checksums for the provider plugin archives across different platforms.

WordpressPluginEntry

Represents all metadata parsed from the wordpress plugin file

Field NameTypeDescription
pluginInstallDirectorystrPluginInstallDirectory is directory name where the plugin is installed
authorstrAuthor is plugin author name
authorUristrAuthorURI is author's website URL