Projects STRLCPY syft Commits f8cc0c94
🤬
  • Merge branch 'main' into fix-portage-license-handling

    * main: (32 commits)
      chore(deps): bump github.com/google/go-containerregistry (#1823)
      chore(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.1 (#1822)
      chore(deps): bump github.com/docker/docker (#1824)
      fix: update field plurality of 8.0.0 schema before release (#1820)
      fix: update cataloger to check for expressions before split (#1819)
      feat: update syft license concept to complex struct (#1743)
      fix: cyclonedx depends-on relationship inverted (#1816)
      fix: retain sbom cataloger relationships (#1509)
      feat: warn if parsing newer SBOM (#1810)
      feat: Add R cataloger (#1790)
      update cosign to v2 release (different go module) (#1805)
      fix: Reduce log spam on unknown relationship type (#1797)
      chore(deps): update bootstrap tools to latest versions (#1807)
      chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 (#1802)
      chore(deps): bump github.com/docker/docker (#1795)
      chore(deps): bump github.com/google/go-containerregistry (#1796)
      chore(deps): update bootstrap tools to latest versions (#1792)
      Print package list when extra packages found (#1791)
      chore(deps): update bootstrap tools to latest versions (#1786)
      chore(deps): bump golang.org/x/term from 0.7.0 to 0.8.0 (#1787)
      ...
    
    Signed-off-by: Christopher Phillips <[email protected]>
  • Loading...
  • Christopher Phillips committed 11 months ago
    f8cc0c94
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
Showing first 12 files as there are too many
  • ■ ■ ■ ■
    .github/workflows/update-bootstrap-tools.yml
    skipped 27 lines
    28 28   GORELEASER_LATEST_VERSION=$(go list -m -json github.com/goreleaser/goreleaser@latest 2>/dev/null | jq -r '.Version')
    29 29   GOSIMPORTS_LATEST_VERSION=$(go list -m -json github.com/rinchsan/gosimports@latest 2>/dev/null | jq -r '.Version')
    30 30   YAJSV_LATEST_VERSION=$(go list -m -json github.com/neilpa/yajsv@latest 2>/dev/null | jq -r '.Version')
    31  - COSIGN_LATEST_VERSION=$(go list -m -json github.com/sigstore/cosign@latest 2>/dev/null | jq -r '.Version')
     31 + COSIGN_LATEST_VERSION=$(go list -m -json github.com/sigstore/cosign/v2@latest 2>/dev/null | jq -r '.Version')
    32 32   GLOW_LATEST_VERSION=$(go list -m -json github.com/charmbracelet/glow@latest 2>/dev/null | jq -r '.Version')
    33 33  
    34 34   # update version variables in the Makefile
    skipped 46 lines
  • ■ ■ ■ ■ ■ ■
    Makefile
    skipped 13 lines
    14 14  GOSIMPORTS_VERSION := v0.3.8
    15 15  BOUNCER_VERSION := v0.4.0
    16 16  CHRONICLE_VERSION := v0.6.0
    17  -GORELEASER_VERSION := v1.17.2
     17 +GORELEASER_VERSION := v1.18.2
    18 18  YAJSV_VERSION := v1.4.1
    19  -COSIGN_VERSION := v1.13.1
     19 +COSIGN_VERSION := v2.0.2
    20 20  QUILL_VERSION := v0.2.0
    21  -GLOW_VERSION := v1.5.0
     21 +GLOW_VERSION := v1.5.1
    22 22   
    23 23  # Formatting variables #################################
    24 24  BOLD := $(shell tput -T linux bold)
    skipped 65 lines
    90 90   # the only difference between goimports and gosimports is that gosimports removes extra whitespace between import blocks (see https://github.com/golang/go/issues/20818)
    91 91   GOBIN="$(realpath $(TEMP_DIR))" go install github.com/rinchsan/gosimports/cmd/gosimports@$(GOSIMPORTS_VERSION)
    92 92   GOBIN="$(realpath $(TEMP_DIR))" go install github.com/neilpa/yajsv@$(YAJSV_VERSION)
    93  - GOBIN="$(realpath $(TEMP_DIR))" go install github.com/sigstore/cosign/cmd/cosign@$(COSIGN_VERSION)
     93 + GOBIN="$(realpath $(TEMP_DIR))" go install github.com/sigstore/cosign/v2/cmd/cosign@$(COSIGN_VERSION)
    94 94   GOBIN="$(realpath $(TEMP_DIR))" go install github.com/charmbracelet/glow@$(GLOW_VERSION)
    95 95   
    96 96  .PHONY: bootstrap-go
    skipped 300 lines
  • ■ ■ ■ ■ ■ ■
    README.md
    skipped 151 lines
    152 152   
    153 153  ##### Image Scanning:
    154 154  - alpmdb
    155  -- rpmdb
     155 +- apkdb
     156 +- binary
     157 +- dotnet-deps
    156 158  - dpkgdb
    157  -- apkdb
     159 +- go-module-binary
     160 +- graalvm-native-image
     161 +- java
     162 +- javascript-package
     163 +- linux-kernel
     164 +- nix-store
     165 +- php-composer-installed
    158 166  - portage
    159  -- ruby-gemspec
    160 167  - python-package
    161  -- php-composer-installed Cataloger
    162  -- javascript-package
    163  -- java
    164  -- go-module-binary
    165  -- dotnet-deps
     168 +- rpm-db
     169 +- ruby-gemspec
     170 +- sbom
    166 171   
    167 172  ##### Directory Scanning:
    168 173  - alpmdb
    169 174  - apkdb
     175 +- binary
     176 +- cocoapods
     177 +- conan
     178 +- dartlang-lock
     179 +- dotnet-deps
    170 180  - dpkgdb
     181 +- elixir-mix-lock
     182 +- erlang-rebar-lock
     183 +- go-mod-file
     184 +- go-module-binary
     185 +- graalvm-native-image
     186 +- haskell
     187 +- java
     188 +- java-gradle-lockfile
     189 +- java-pom
     190 +- javascript-lock
     191 +- linux-kernel
     192 +- nix-store
     193 +- php-composer-lock
    171 194  - portage
    172  -- rpmdb
    173  -- ruby-gemfile
    174 195  - python-index
    175 196  - python-package
    176  -- php-composer-lock
    177  -- javascript-lock
    178  -- java
    179  -- java-pom
    180  -- go-module-binary
    181  -- go-mod-file
     197 +- rpm-db
     198 +- rpm-file
     199 +- ruby-gemfile
    182 200  - rust-cargo-lock
    183  -- dartlang-lock
    184  -- dotnet-deps
    185  -- cocoapods
    186  -- conan
    187  -- hackage
     201 +- sbom
    188 202   
    189 203  ##### Non Default:
    190 204  - cargo-auditable-binary
    skipped 271 lines
    462 476  # set the list of package catalogers to use when generating the SBOM
    463 477  # default = empty (cataloger set determined automatically by the source type [image or file/directory])
    464 478  # catalogers:
    465  -# - ruby-gemfile
    466  -# - ruby-gemspec
    467  -# - python-index
    468  -# - python-package
    469  -# - javascript-lock
    470  -# - javascript-package
    471  -# - php-composer-installed
    472  -# - php-composer-lock
    473  -# - alpmdb
    474  -# - dpkgdb
    475  -# - rpmdb
    476  -# - java
    477  -# - apkdb
    478  -# - go-module-binary
    479  -# - go-mod-file
    480  -# - dartlang-lock
    481  -# - rust
    482  -# - dotnet-deps
    483  -# rust-audit-binary scans Rust binaries built with https://github.com/Shnatsel/rust-audit
    484  -# - rust-audit-binary
     479 +# - alpmdb-cataloger
     480 +# - apkdb-cataloger
     481 +# - binary-cataloger
     482 +# - cargo-auditable-binary-cataloger
     483 +# - cocoapods-cataloger
     484 +# - conan-cataloger
     485 +# - dartlang-lock-cataloger
     486 +# - dotnet-deps-cataloger
     487 +# - dpkgdb-cataloger
     488 +# - elixir-mix-lock-cataloger
     489 +# - erlang-rebar-lock-cataloger
     490 +# - go-mod-file-cataloger
     491 +# - go-module-binary-cataloger
     492 +# - graalvm-native-image-cataloger
     493 +# - haskell-cataloger
     494 +# - java-cataloger
     495 +# - java-gradle-lockfile-cataloger
     496 +# - java-pom-cataloger
     497 +# - javascript-lock-cataloger
     498 +# - javascript-package-cataloger
     499 +# - linux-kernel-cataloger
     500 +# - nix-store-cataloger
     501 +# - php-composer-installed-cataloger
     502 +# - php-composer-lock-cataloger
     503 +# - portage-cataloger
     504 +# - python-index-cataloger
     505 +# - python-package-cataloger
     506 +# - rpm-db-cataloger
     507 +# - rpm-file-cataloger
     508 +# - ruby-gemfile-cataloger
     509 +# - ruby-gemspec-cataloger
     510 +# - rust-cargo-lock-cataloger
     511 +# - sbom-cataloger
    485 512  catalogers:
    486 513   
    487 514  # cataloging packages is exposed through the packages and power-user subcommands
    skipped 206 lines
  • ■ ■ ■ ■
    cmd/syft/cli/eventloop/tasks.go
    skipped 46 lines
    47 47   task := func(results *sbom.Artifacts, src *source.Source) ([]artifact.Relationship, error) {
    48 48   packageCatalog, relationships, theDistro, err := syft.CatalogPackages(src, app.ToCatalogerConfig())
    49 49   
    50  - results.PackageCatalog = packageCatalog
     50 + results.Packages = packageCatalog
    51 51   results.LinuxDistribution = theDistro
    52 52   
    53 53   return relationships, err
    skipped 148 lines
  • ■ ■ ■ ■ ■ ■
    go.mod
    skipped 29 lines
    30 30   // pinned to pull in 386 arch fix: https://github.com/scylladb/go-set/commit/cc7b2070d91ebf40d233207b633e28f5bd8f03a5
    31 31   github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e
    32 32   github.com/sergi/go-diff v1.3.1
    33  - github.com/sirupsen/logrus v1.9.0
     33 + github.com/sirupsen/logrus v1.9.1
    34 34   github.com/spdx/tools-golang v0.5.0
    35 35   github.com/spf13/afero v1.9.5
    36 36   github.com/spf13/cobra v1.7.0
    skipped 6 lines
    43 43   github.com/wagoodman/jotframe v0.0.0-20211129225309-56b0d0a4aebb
    44 44   github.com/xeipuuv/gojsonschema v1.2.0
    45 45   golang.org/x/mod v0.10.0
    46  - golang.org/x/net v0.9.0
    47  - golang.org/x/term v0.7.0
     46 + golang.org/x/net v0.10.0
     47 + golang.org/x/term v0.8.0
    48 48   gopkg.in/yaml.v2 v2.4.0
    49 49  )
    50 50   
    51 51  require (
    52 52   github.com/CycloneDX/cyclonedx-go v0.7.1
     53 + github.com/Masterminds/semver v1.5.0
    53 54   github.com/Masterminds/sprig/v3 v3.2.3
    54 55   github.com/anchore/go-logger v0.0.0-20220728155337-03b66a5207d8
    55 56   github.com/anchore/stereoscope v0.0.0-20230412183729-8602f1afc574
    56 57   github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da
    57  - github.com/docker/docker v23.0.4+incompatible
     58 + github.com/docker/docker v24.0.0+incompatible
     59 + github.com/github/go-spdx/v2 v2.1.2
    58 60   github.com/go-git/go-billy/v5 v5.4.1
    59 61   github.com/go-git/go-git/v5 v5.6.1
    60  - github.com/google/go-containerregistry v0.14.0
     62 + github.com/google/go-containerregistry v0.15.2
    61 63   github.com/google/licensecheck v0.3.1
    62 64   github.com/invopop/jsonschema v0.7.0
    63 65   github.com/knqyf263/go-rpmdb v0.0.0-20230301153543-ba94b245509b
    skipped 2 lines
    66 68   github.com/vbatts/go-mtree v0.5.3
    67 69   golang.org/x/exp v0.0.0-20230202163644-54bba9f4231b
    68 70   gopkg.in/yaml.v3 v3.0.1
    69  - modernc.org/sqlite v1.22.0
     71 + modernc.org/sqlite v1.22.1
    70 72  )
    71 73   
    72 74  require (
     75 + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
    73 76   github.com/DataDog/zstd v1.4.5 // indirect
    74 77   github.com/Masterminds/goutils v1.1.1 // indirect
    75 78   github.com/Masterminds/semver/v3 v3.2.0 // indirect
    76  - github.com/Microsoft/go-winio v0.6.0 // indirect
     79 + github.com/Microsoft/go-winio v0.6.1 // indirect
    77 80   github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
    78 81   github.com/acomagu/bufpipe v1.0.4 // indirect
    79 82   github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 // indirect
    skipped 2 lines
    82 85   github.com/containerd/containerd v1.7.0 // indirect
    83 86   github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
    84 87   github.com/davecgh/go-spew v1.1.1 // indirect
    85  - github.com/docker/cli v23.0.1+incompatible // indirect
     88 + github.com/docker/cli v23.0.5+incompatible // indirect
    86 89   github.com/docker/distribution v2.8.1+incompatible // indirect
    87 90   github.com/docker/docker-credential-helpers v0.7.0 // indirect
    88 91   github.com/docker/go-connections v0.4.0 // indirect
    skipped 16 lines
    105 108   github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
    106 109   github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
    107 110   github.com/kevinburke/ssh_config v1.2.0 // indirect
    108  - github.com/klauspost/compress v1.16.4 // indirect
     111 + github.com/klauspost/compress v1.16.5 // indirect
    109 112   github.com/klauspost/pgzip v1.2.5 // indirect
    110 113   github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381 // indirect
    111 114   github.com/magiconair/properties v1.8.7 // indirect
    skipped 2 lines
    114 117   github.com/mattn/go-runewidth v0.0.13 // indirect
    115 118   github.com/mitchellh/copystructure v1.2.0 // indirect
    116 119   github.com/mitchellh/reflectwalk v1.0.2 // indirect
    117  - github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
    118 120   github.com/nwaples/rardecode v1.1.0 // indirect
    119  - github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect
     121 + github.com/opencontainers/image-spec v1.1.0-rc3 // indirect
    120 122   github.com/pelletier/go-toml/v2 v2.0.6 // indirect
    121 123   github.com/pierrec/lz4/v4 v4.1.15 // indirect
    122 124   github.com/pjbgf/sha1cd v0.3.0 // indirect
    skipped 11 lines
    134 136   github.com/sylabs/squashfs v0.6.1 // indirect
    135 137   github.com/therootcompany/xz v1.0.1 // indirect
    136 138   github.com/ulikunitz/xz v0.5.10 // indirect
    137  - github.com/vbatts/tar-split v0.11.2 // indirect
     139 + github.com/vbatts/tar-split v0.11.3 // indirect
    138 140   github.com/xanzy/ssh-agent v0.3.3 // indirect
    139 141   github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
    140 142   github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
    141 143   github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
    142 144   github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
    143 145   golang.org/x/sync v0.1.0 // indirect
    144  - golang.org/x/sys v0.7.0 // indirect
     146 + golang.org/x/sys v0.8.0 // indirect
    145 147   golang.org/x/text v0.9.0 // indirect
    146 148   golang.org/x/tools v0.8.0 // indirect
    147 149   golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
    skipped 5 lines
    153 155   lukechampine.com/uint128 v1.2.0 // indirect
    154 156   modernc.org/cc/v3 v3.40.0 // indirect
    155 157   modernc.org/ccgo/v3 v3.16.13 // indirect
    156  - modernc.org/libc v1.22.4 // indirect
     158 + modernc.org/libc v1.22.5 // indirect
    157 159   modernc.org/mathutil v1.5.0 // indirect
    158 160   modernc.org/memory v1.5.0 // indirect
    159 161   modernc.org/opt v0.1.3 // indirect
    skipped 17 lines
  • ■ ■ ■ ■ ■ ■
    go.sum
    skipped 52 lines
    53 53  github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
    54 54  github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
    55 55  github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
     56 +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
    56 57  github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
    57 58  github.com/CycloneDX/cyclonedx-go v0.7.1 h1:5w1SxjGm9MTMNTuRbEPyw21ObdbaagTWF/KfF0qHTRE=
    58 59  github.com/CycloneDX/cyclonedx-go v0.7.1/go.mod h1:N/nrdWQI2SIjaACyyDs/u7+ddCkyl/zkNs8xFsHF2Ps=
    skipped 2 lines
    61 62  github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
    62 63  github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
    63 64  github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
     65 +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
     66 +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
    64 67  github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g=
    65 68  github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
    66 69  github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
    67 70  github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
    68 71  github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
    69  -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg=
    70  -github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE=
     72 +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
     73 +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
    71 74  github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
    72 75  github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA=
    73 76  github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
    skipped 76 lines
    150 153  github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o=
    151 154  github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
    152 155  github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
    153  -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
    154 156  github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
    155 157  github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
    156 158  github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
    157  -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
    158 159  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
    159 160  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
    160 161  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
    161 162  github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da h1:ZOjWpVsFZ06eIhnh4mkaceTiVoktdU67+M7KDHJ268M=
    162 163  github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da/go.mod h1:B3tI9iGHi4imdLi4Asdha1Sc6feLMTfPLXh9IUYmysk=
    163 164  github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4=
    164  -github.com/docker/cli v23.0.1+incompatible h1:LRyWITpGzl2C9e9uGxzisptnxAn1zfZKXy13Ul2Q5oM=
    165  -github.com/docker/cli v23.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
     165 +github.com/docker/cli v23.0.5+incompatible h1:ufWmAOuD3Vmr7JP2G5K3cyuNC4YZWiAsuDEvFVVDafE=
     166 +github.com/docker/cli v23.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
    166 167  github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68=
    167 168  github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
    168  -github.com/docker/docker v23.0.4+incompatible h1:Kd3Bh9V/rO+XpTP/BLqM+gx8z7+Yb0AA2Ibj+nNo4ek=
    169  -github.com/docker/docker v23.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
     169 +github.com/docker/docker v24.0.0+incompatible h1:z4bf8HvONXX9Tde5lGBMQ7yCJgNahmJumdrStZAbeY4=
     170 +github.com/docker/docker v24.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
    170 171  github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
    171 172  github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
    172 173  github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
    skipped 33 lines
    206 207  github.com/gabriel-vasile/mimetype v1.4.0 h1:Cn9dkdYsMIu56tGho+fqzh7XmvY2YyGU0FnbhiOsEro=
    207 208  github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8=
    208 209  github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
     210 +github.com/github/go-spdx/v2 v2.1.2 h1:p+Tv0yMgcuO0/vnMe9Qh4tmUgYhI6AsLVlakZ/Sx+DM=
     211 +github.com/github/go-spdx/v2 v2.1.2/go.mod h1:hMCrsFgT0QnCwn7G8gxy/MxMpy67WgZrwFeISTn0o6w=
    209 212  github.com/glebarez/go-sqlite v1.20.3 h1:89BkqGOXR9oRmG58ZrzgoY/Fhy5x0M+/WV48U5zVrZ4=
    210 213  github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
    211 214  github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
    skipped 76 lines
    288 291  github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
    289 292  github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
    290 293  github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
    291  -github.com/google/go-containerregistry v0.14.0 h1:z58vMqHxuwvAsVwvKEkmVBz2TlgBgH5k6koEXBtlYkw=
    292  -github.com/google/go-containerregistry v0.14.0/go.mod h1:aiJ2fp/SXvkWgmYHioXnbMdlgB8eXiiYOY55gfN91Wk=
     294 +github.com/google/go-containerregistry v0.15.2 h1:MMkSh+tjSdnmJZO7ljvEqV1DjfekB6VUEAZgy3a+TQE=
     295 +github.com/google/go-containerregistry v0.15.2/go.mod h1:wWK+LnOv4jXMM23IT/F1wdYftGWGr47Is8CG+pmHK1Q=
    293 296  github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
    294 297  github.com/google/licensecheck v0.3.1 h1:QoxgoDkaeC4nFrtGN1jV7IPmDCHFNIVh54e5hSt6sPs=
    295 298  github.com/google/licensecheck v0.3.1/go.mod h1:ORkR35t/JjW+emNKtfJDII0zlciG9JgbT7SmsohlHmY=
    skipped 103 lines
    399 402  github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
    400 403  github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
    401 404  github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
    402  -github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU=
    403  -github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
     405 +github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
     406 +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
    404 407  github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
    405 408  github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
    406 409  github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
    skipped 67 lines
    474 477  github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
    475 478  github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
    476 479  github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM=
    477  -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc=
    478  -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw=
     480 +github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA=
    479 481  github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
    480 482  github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
    481 483  github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
    skipped 8 lines
    490 492  github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
    491 493  github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
    492 494  github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
    493  -github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8=
    494  -github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
     495 +github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8=
     496 +github.com/opencontainers/image-spec v1.1.0-rc3/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
    495 497  github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
    496 498  github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
    497 499  github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
    skipped 38 lines
    536 538  github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
    537 539  github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
    538 540  github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
    539  -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
    540 541  github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
    541 542  github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
    542 543  github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig=
    skipped 9 lines
    552 553  github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
    553 554  github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
    554 555  github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
    555  -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
    556 556  github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
    557 557  github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
    558 558  github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
    559  -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
    560 559  github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
     560 +github.com/sirupsen/logrus v1.9.1 h1:Ou41VVR3nMWWmTiEUnj0OlsgOSCUFgsPAOl6jRIcVtQ=
     561 +github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
    561 562  github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0=
    562 563  github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag=
    563 564  github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
    skipped 13 lines
    577 578  github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
    578 579  github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
    579 580  github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
    580  -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
    581 581  github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
    582 582  github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
    583 583  github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM=
    skipped 30 lines
    614 614  github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
    615 615  github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
    616 616  github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
    617  -github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
     617 +github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8=
    618 618  github.com/vbatts/go-mtree v0.5.3 h1:S/jYlfG8rZ+a0bhZd+RANXejy7M4Js8fq9U+XoWTd5w=
    619 619  github.com/vbatts/go-mtree v0.5.3/go.mod h1:eXsdoPMdL2jcJx6HweWi9lYQxBsTp4lNhqqAjgkZUg8=
    620  -github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME=
    621  -github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI=
     620 +github.com/vbatts/tar-split v0.11.3 h1:hLFqsOLQ1SsppQNTMpkpPXClLDfC2A3Zgy9OUU+RVck=
     621 +github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY=
    622 622  github.com/vifraa/gopom v0.2.1 h1:MYVMAMyiGzXPPy10EwojzKIL670kl5Zbae+o3fFvQEM=
    623 623  github.com/vifraa/gopom v0.2.1/go.mod h1:oPa1dcrGrtlO37WPDBm5SqHAT+wTgF8An1Q71Z6Vv4o=
    624 624  github.com/wagoodman/go-partybus v0.0.0-20210627031916-db1f5573bbc5 h1:phTLPgMRDYTizrBSKsNSOa2zthoC2KsJsaY/8sg3rD8=
    skipped 153 lines
    778 778  golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
    779 779  golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
    780 780  golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
    781  -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
    782  -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
     781 +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
     782 +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
    783 783  golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
    784 784  golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
    785 785  golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
    skipped 100 lines
    886 886  golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    887 887  golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    888 888  golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
     889 +golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    889 890  golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    890 891  golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    891 892  golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    892 893  golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    893 894  golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    894  -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
    895  -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
     895 +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
     896 +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
    896 897  golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
    897 898  golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
    898 899  golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
    skipped 2 lines
    901 902  golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
    902 903  golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
    903 904  golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
    904  -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
    905  -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
     905 +golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
     906 +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
    906 907  golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
    907 908  golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
    908 909  golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
    skipped 22 lines
    931 932  golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
    932 933  golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
    933 934  golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
    934  -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
    935 935  golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
    936 936  golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
    937 937  golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
    skipped 227 lines
    1165 1165  gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
    1166 1166  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
    1167 1167  gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
    1168  -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
    1169 1168  gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0=
    1170 1169  honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
    1171 1170  honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
    skipped 10 lines
    1182 1181  modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
    1183 1182  modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
    1184 1183  modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
    1185  -modernc.org/libc v1.22.4 h1:wymSbZb0AlrjdAVX3cjreCHTPCpPARbQXNz6BHPzdwQ=
    1186  -modernc.org/libc v1.22.4/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY=
     1184 +modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE=
     1185 +modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY=
    1187 1186  modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
    1188 1187  modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
    1189 1188  modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
    1190 1189  modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
    1191 1190  modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
    1192 1191  modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
    1193  -modernc.org/sqlite v1.22.0 h1:Uo+wEWePCspy4SAu0w2VbzUHEftOs7yoaWX/cYjsq84=
    1194  -modernc.org/sqlite v1.22.0/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0=
     1192 +modernc.org/sqlite v1.22.1 h1:P2+Dhp5FR1RlVRkQ3dDfCiv3Ok8XPxqpe70IjYVA9oE=
     1193 +modernc.org/sqlite v1.22.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk=
    1195 1194  modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
    1196 1195  modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
    1197  -modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws=
     1196 +modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY=
    1198 1197  modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
    1199 1198  modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
    1200  -modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE=
     1199 +modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY=
    1201 1200  rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
    1202 1201  rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
    1203 1202  rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
    skipped 3 lines
  • ■ ■ ■ ■
    internal/constants.go
    skipped 5 lines
    6 6   
    7 7   // JSONSchemaVersion is the current schema version output by the JSON encoder
    8 8   // This is roughly following the "SchemaVer" guidelines for versioning the JSON schema. Please see schema/json/README.md for details on how to increment.
    9  - JSONSchemaVersion = "7.1.4"
     9 + JSONSchemaVersion = "8.0.0"
    10 10  )
    11 11   
  • ■ ■ ■ ■ ■ ■
    internal/licenses/parser.go
    skipped 3 lines
    4 4   "io"
    5 5   
    6 6   "github.com/google/licensecheck"
    7  - "golang.org/x/exp/slices"
     7 + 
     8 + "github.com/anchore/syft/syft/license"
     9 + "github.com/anchore/syft/syft/pkg"
     10 + "github.com/anchore/syft/syft/source"
    8 11  )
    9 12   
    10 13  const (
    skipped 2 lines
    13 16  )
    14 17   
    15 18  // Parse scans the contents of a license file to attempt to determine the type of license it is
    16  -func Parse(reader io.Reader) (licenses []string, err error) {
     19 +func Parse(reader io.Reader, l source.Location) (licenses []pkg.License, err error) {
     20 + licenses = make([]pkg.License, 0)
    17 21   contents, err := io.ReadAll(reader)
    18 22   if err != nil {
    19 23   return nil, err
    20 24   }
    21 25   cov := licensecheck.Scan(contents)
    22  - 
    23  - if cov.Percent < float64(coverageThreshold) {
    24  - licenses = append(licenses, unknownLicenseType)
     26 + if cov.Percent < coverageThreshold {
     27 + // unknown or no licenses here?
     28 + return licenses, nil
    25 29   }
     30 + 
    26 31   for _, m := range cov.Match {
    27  - if slices.Contains(licenses, m.ID) {
    28  - continue
    29  - }
    30  - licenses = append(licenses, m.ID)
     32 + lic := pkg.NewLicenseFromLocations(m.ID, l)
     33 + lic.Type = license.Concluded
     34 + 
     35 + licenses = append(licenses, lic)
    31 36   }
    32  - return
     37 + 
     38 + return licenses, nil
    33 39  }
    34 40   
  • ■ ■ ■ ■ ■
    internal/stringset.go
    skipped 14 lines
    15 15  }
    16 16   
    17 17  // Add a string to the set.
    18  -func (s StringSet) Add(i string) {
    19  - s[i] = struct{}{}
     18 +func (s StringSet) Add(i ...string) {
     19 + for _, str := range i {
     20 + s[str] = struct{}{}
     21 + }
    20 22  }
    21 23   
    22 24  // Remove a string from the set.
    skipped 19 lines
    42 44   return ret
    43 45  }
    44 46   
     47 +func (s StringSet) Equals(o StringSet) bool {
     48 + if len(s) != len(o) {
     49 + return false
     50 + }
     51 + for k := range s {
     52 + if !o.Contains(k) {
     53 + return false
     54 + }
     55 + }
     56 + return true
     57 +}
     58 + 
     59 +func (s StringSet) Empty() bool {
     60 + return len(s) < 1
     61 +}
     62 + 
  • ■ ■ ■ ■ ■ ■
    schema/json/generate.go
    skipped 28 lines
    29 29  // not matter as long as it is exported.
    30 30   
    31 31  // TODO: this should be generated from reflection of whats in the pkg package
     32 +// Should be created during generation below; use reflection's ability to
     33 +// create types at runtime.
     34 +// should be same name as struct minus metadata
    32 35  type artifactMetadataContainer struct {
    33  - Alpm pkg.AlpmMetadata
    34  - Apk pkg.ApkMetadata
    35  - Binary pkg.BinaryMetadata
    36  - Cocopods pkg.CocoapodsMetadata
    37  - Conan pkg.ConanMetadata
    38  - ConanLock pkg.ConanLockMetadata
    39  - Dart pkg.DartPubMetadata
    40  - Dotnet pkg.DotnetDepsMetadata
    41  - Dpkg pkg.DpkgMetadata
    42  - Gem pkg.GemMetadata
    43  - GoBin pkg.GolangBinMetadata
    44  - GoMod pkg.GolangModMetadata
    45  - Hackage pkg.HackageMetadata
    46  - Java pkg.JavaMetadata
    47  - KbPackage pkg.KbPackageMetadata
    48  - LinuxKernel pkg.LinuxKernelMetadata
    49  - LinuxKernelModule pkg.LinuxKernelModuleMetadata
    50  - Nix pkg.NixStoreMetadata
    51  - NpmPackage pkg.NpmPackageJSONMetadata
    52  - NpmPackageLock pkg.NpmPackageLockJSONMetadata
    53  - MixLock pkg.MixLockMetadata
    54  - Php pkg.PhpComposerJSONMetadata
    55  - Portage pkg.PortageMetadata
    56  - PythonPackage pkg.PythonPackageMetadata
    57  - PythonPipfilelock pkg.PythonPipfileLockMetadata
    58  - Rebar pkg.RebarLockMetadata
    59  - Rpm pkg.RpmMetadata
    60  - RustCargo pkg.CargoPackageMetadata
     36 + Alpm pkg.AlpmMetadata
     37 + Apk pkg.ApkMetadata
     38 + Binary pkg.BinaryMetadata
     39 + Cocopods pkg.CocoapodsMetadata
     40 + Conan pkg.ConanMetadata
     41 + ConanLock pkg.ConanLockMetadata
     42 + Dart pkg.DartPubMetadata
     43 + Dotnet pkg.DotnetDepsMetadata
     44 + Dpkg pkg.DpkgMetadata
     45 + Gem pkg.GemMetadata
     46 + GoBin pkg.GolangBinMetadata
     47 + GoMod pkg.GolangModMetadata
     48 + Hackage pkg.HackageMetadata
     49 + Java pkg.JavaMetadata
     50 + KbPackage pkg.KbPackageMetadata
     51 + LinuxKernel pkg.LinuxKernelMetadata
     52 + LinuxKernelModule pkg.LinuxKernelModuleMetadata
     53 + Nix pkg.NixStoreMetadata
     54 + NpmPackage pkg.NpmPackageJSONMetadata
     55 + NpmPackageLock pkg.NpmPackageLockJSONMetadata
     56 + MixLock pkg.MixLockMetadata
     57 + Php pkg.PhpComposerJSONMetadata
     58 + Portage pkg.PortageMetadata
     59 + PythonPackage pkg.PythonPackageMetadata
     60 + PythonPipfilelock pkg.PythonPipfileLockMetadata
     61 + PythonRequirements pkg.PythonRequirementsMetadata
     62 + RDescriptionFile pkg.RDescriptionFileMetadata
     63 + Rebar pkg.RebarLockMetadata
     64 + Rpm pkg.RpmMetadata
     65 + RustCargo pkg.CargoPackageMetadata
    61 66  }
    62 67   
    63 68  func main() {
    skipped 9 lines
    73 78   }
    74 79   documentSchema := reflector.ReflectFromType(reflect.TypeOf(&syftjsonModel.Document{}))
    75 80   metadataSchema := reflector.ReflectFromType(reflect.TypeOf(&artifactMetadataContainer{}))
    76  - 
    77 81   // TODO: inject source definitions
    78 82   
    79 83   // inject the definitions of all metadatas into the schema definitions
    skipped 89 lines
  • ■ ■ ■ ■ ■ ■
    schema/json/schema-7.1.5.json
     1 +{
     2 + "$schema": "https://json-schema.org/draft/2020-12/schema",
     3 + "$id": "https://github.com/anchore/syft/syft/formats/syftjson/model/document",
     4 + "$ref": "#/$defs/Document",
     5 + "$defs": {
     6 + "AlpmFileRecord": {
     7 + "properties": {
     8 + "path": {
     9 + "type": "string"
     10 + },
     11 + "type": {
     12 + "type": "string"
     13 + },
     14 + "uid": {
     15 + "type": "string"
     16 + },
     17 + "gid": {
     18 + "type": "string"
     19 + },
     20 + "time": {
     21 + "type": "string",
     22 + "format": "date-time"
     23 + },
     24 + "size": {
     25 + "type": "string"
     26 + },
     27 + "link": {
     28 + "type": "string"
     29 + },
     30 + "digest": {
     31 + "items": {
     32 + "$ref": "#/$defs/Digest"
     33 + },
     34 + "type": "array"
     35 + }
     36 + },
     37 + "type": "object"
     38 + },
     39 + "AlpmMetadata": {
     40 + "properties": {
     41 + "basepackage": {
     42 + "type": "string"
     43 + },
     44 + "package": {
     45 + "type": "string"
     46 + },
     47 + "version": {
     48 + "type": "string"
     49 + },
     50 + "description": {
     51 + "type": "string"
     52 + },
     53 + "architecture": {
     54 + "type": "string"
     55 + },
     56 + "size": {
     57 + "type": "integer"
     58 + },
     59 + "packager": {
     60 + "type": "string"
     61 + },
     62 + "license": {
     63 + "type": "string"
     64 + },
     65 + "url": {
     66 + "type": "string"
     67 + },
     68 + "validation": {
     69 + "type": "string"
     70 + },
     71 + "reason": {
     72 + "type": "integer"
     73 + },
     74 + "files": {
     75 + "items": {
     76 + "$ref": "#/$defs/AlpmFileRecord"
     77 + },
     78 + "type": "array"
     79 + },
     80 + "backup": {
     81 + "items": {
     82 + "$ref": "#/$defs/AlpmFileRecord"
     83 + },
     84 + "type": "array"
     85 + }
     86 + },
     87 + "type": "object",
     88 + "required": [
     89 + "basepackage",
     90 + "package",
     91 + "version",
     92 + "description",
     93 + "architecture",
     94 + "size",
     95 + "packager",
     96 + "license",
     97 + "url",
     98 + "validation",
     99 + "reason",
     100 + "files",
     101 + "backup"
     102 + ]
     103 + },
     104 + "ApkFileRecord": {
     105 + "properties": {
     106 + "path": {
     107 + "type": "string"
     108 + },
     109 + "ownerUid": {
     110 + "type": "string"
     111 + },
     112 + "ownerGid": {
     113 + "type": "string"
     114 + },
     115 + "permissions": {
     116 + "type": "string"
     117 + },
     118 + "digest": {
     119 + "$ref": "#/$defs/Digest"
     120 + }
     121 + },
     122 + "type": "object",
     123 + "required": [
     124 + "path"
     125 + ]
     126 + },
     127 + "ApkMetadata": {
     128 + "properties": {
     129 + "package": {
     130 + "type": "string"
     131 + },
     132 + "originPackage": {
     133 + "type": "string"
     134 + },
     135 + "maintainer": {
     136 + "type": "string"
     137 + },
     138 + "version": {
     139 + "type": "string"
     140 + },
     141 + "license": {
     142 + "type": "string"
     143 + },
     144 + "architecture": {
     145 + "type": "string"
     146 + },
     147 + "url": {
     148 + "type": "string"
     149 + },
     150 + "description": {
     151 + "type": "string"
     152 + },
     153 + "size": {
     154 + "type": "integer"
     155 + },
     156 + "installedSize": {
     157 + "type": "integer"
     158 + },
     159 + "pullDependencies": {
     160 + "items": {
     161 + "type": "string"
     162 + },
     163 + "type": "array"
     164 + },
     165 + "provides": {
     166 + "items": {
     167 + "type": "string"
     168 + },
     169 + "type": "array"
     170 + },
     171 + "pullChecksum": {
     172 + "type": "string"
     173 + },
     174 + "gitCommitOfApkPort": {
     175 + "type": "string"
     176 + },
     177 + "files": {
     178 + "items": {
     179 + "$ref": "#/$defs/ApkFileRecord"
     180 + },
     181 + "type": "array"
     182 + }
     183 + },
     184 + "type": "object",
     185 + "required": [
     186 + "package",
     187 + "originPackage",
     188 + "maintainer",
     189 + "version",
     190 + "license",
     191 + "architecture",
     192 + "url",
     193 + "description",
     194 + "size",
     195 + "installedSize",
     196 + "pullDependencies",
     197 + "provides",
     198 + "pullChecksum",
     199 + "gitCommitOfApkPort",
     200 + "files"
     201 + ]
     202 + },
     203 + "BinaryMetadata": {
     204 + "properties": {
     205 + "matches": {
     206 + "items": {
     207 + "$ref": "#/$defs/ClassifierMatch"
     208 + },
     209 + "type": "array"
     210 + }
     211 + },
     212 + "type": "object",
     213 + "required": [
     214 + "matches"
     215 + ]
     216 + },
     217 + "CargoPackageMetadata": {
     218 + "properties": {
     219 + "name": {
     220 + "type": "string"
     221 + },
     222 + "version": {
     223 + "type": "string"
     224 + },
     225 + "source": {
     226 + "type": "string"
     227 + },
     228 + "checksum": {
     229 + "type": "string"
     230 + },
     231 + "dependencies": {
     232 + "items": {
     233 + "type": "string"
     234 + },
     235 + "type": "array"
     236 + }
     237 + },
     238 + "type": "object",
     239 + "required": [
     240 + "name",
     241 + "version",
     242 + "source",
     243 + "checksum",
     244 + "dependencies"
     245 + ]
     246 + },
     247 + "ClassifierMatch": {
     248 + "properties": {
     249 + "classifier": {
     250 + "type": "string"
     251 + },
     252 + "location": {
     253 + "$ref": "#/$defs/Location"
     254 + }
     255 + },
     256 + "type": "object",
     257 + "required": [
     258 + "classifier",
     259 + "location"
     260 + ]
     261 + },
     262 + "CocoapodsMetadata": {
     263 + "properties": {
     264 + "checksum": {
     265 + "type": "string"
     266 + }
     267 + },
     268 + "type": "object",
     269 + "required": [
     270 + "checksum"
     271 + ]
     272 + },
     273 + "ConanLockMetadata": {
     274 + "properties": {
     275 + "ref": {
     276 + "type": "string"
     277 + },
     278 + "package_id": {
     279 + "type": "string"
     280 + },
     281 + "prev": {
     282 + "type": "string"
     283 + },
     284 + "requires": {
     285 + "type": "string"
     286 + },
     287 + "build_requires": {
     288 + "type": "string"
     289 + },
     290 + "py_requires": {
     291 + "type": "string"
     292 + },
     293 + "options": {
     294 + "patternProperties": {
     295 + ".*": {
     296 + "type": "string"
     297 + }
     298 + },
     299 + "type": "object"
     300 + },
     301 + "path": {
     302 + "type": "string"
     303 + },
     304 + "context": {
     305 + "type": "string"
     306 + }
     307 + },
     308 + "type": "object",
     309 + "required": [
     310 + "ref"
     311 + ]
     312 + },
     313 + "ConanMetadata": {
     314 + "properties": {
     315 + "ref": {
     316 + "type": "string"
     317 + }
     318 + },
     319 + "type": "object",
     320 + "required": [
     321 + "ref"
     322 + ]
     323 + },
     324 + "Coordinates": {
     325 + "properties": {
     326 + "path": {
     327 + "type": "string"
     328 + },
     329 + "layerID": {
     330 + "type": "string"
     331 + }
     332 + },
     333 + "type": "object",
     334 + "required": [
     335 + "path"
     336 + ]
     337 + },
     338 + "DartPubMetadata": {
     339 + "properties": {
     340 + "name": {
     341 + "type": "string"
     342 + },
     343 + "version": {
     344 + "type": "string"
     345 + },
     346 + "hosted_url": {
     347 + "type": "string"
     348 + },
     349 + "vcs_url": {
     350 + "type": "string"
     351 + }
     352 + },
     353 + "type": "object",
     354 + "required": [
     355 + "name",
     356 + "version"
     357 + ]
     358 + },
     359 + "Descriptor": {
     360 + "properties": {
     361 + "name": {
     362 + "type": "string"
     363 + },
     364 + "version": {
     365 + "type": "string"
     366 + },
     367 + "configuration": true
     368 + },
     369 + "type": "object",
     370 + "required": [
     371 + "name",
     372 + "version"
     373 + ]
     374 + },
     375 + "Digest": {
     376 + "properties": {
     377 + "algorithm": {
     378 + "type": "string"
     379 + },
     380 + "value": {
     381 + "type": "string"
     382 + }
     383 + },
     384 + "type": "object",
     385 + "required": [
     386 + "algorithm",
     387 + "value"
     388 + ]
     389 + },
     390 + "Document": {
     391 + "properties": {
     392 + "artifacts": {
     393 + "items": {
     394 + "$ref": "#/$defs/Package"
     395 + },
     396 + "type": "array"
     397 + },
     398 + "artifactRelationships": {
     399 + "items": {
     400 + "$ref": "#/$defs/Relationship"
     401 + },
     402 + "type": "array"
     403 + },
     404 + "files": {
     405 + "items": {
     406 + "$ref": "#/$defs/File"
     407 + },
     408 + "type": "array"
     409 + },
     410 + "secrets": {
     411 + "items": {
     412 + "$ref": "#/$defs/Secrets"
     413 + },
     414 + "type": "array"
     415 + },
     416 + "source": {
     417 + "$ref": "#/$defs/Source"
     418 + },
     419 + "distro": {
     420 + "$ref": "#/$defs/LinuxRelease"
     421 + },
     422 + "descriptor": {
     423 + "$ref": "#/$defs/Descriptor"
     424 + },
     425 + "schema": {
     426 + "$ref": "#/$defs/Schema"
     427 + }
     428 + },
     429 + "type": "object",
     430 + "required": [
     431 + "artifacts",
     432 + "artifactRelationships",
     433 + "source",
     434 + "distro",
     435 + "descriptor",
     436 + "schema"
     437 + ]
     438 + },
     439 + "DotnetDepsMetadata": {
     440 + "properties": {
     441 + "name": {
     442 + "type": "string"
     443 + },
     444 + "version": {
     445 + "type": "string"
     446 + },
     447 + "path": {
     448 + "type": "string"
     449 + },
     450 + "sha512": {
     451 + "type": "string"
     452 + },
     453 + "hashPath": {
     454 + "type": "string"
     455 + }
     456 + },
     457 + "type": "object",
     458 + "required": [
     459 + "name",
     460 + "version",
     461 + "path",
     462 + "sha512",
     463 + "hashPath"
     464 + ]
     465 + },
     466 + "DpkgFileRecord": {
     467 + "properties": {
     468 + "path": {
     469 + "type": "string"
     470 + },
     471 + "digest": {
     472 + "$ref": "#/$defs/Digest"
     473 + },
     474 + "isConfigFile": {
     475 + "type": "boolean"
     476 + }
     477 + },
     478 + "type": "object",
     479 + "required": [
     480 + "path",
     481 + "isConfigFile"
     482 + ]
     483 + },
     484 + "DpkgMetadata": {
     485 + "properties": {
     486 + "package": {
     487 + "type": "string"
     488 + },
     489 + "source": {
     490 + "type": "string"
     491 + },
     492 + "version": {
     493 + "type": "string"
     494 + },
     495 + "sourceVersion": {
     496 + "type": "string"
     497 + },
     498 + "architecture": {
     499 + "type": "string"
     500 + },
     501 + "maintainer": {
     502 + "type": "string"
     503 + },
     504 + "installedSize": {
     505 + "type": "integer"
     506 + },
     507 + "files": {
     508 + "items": {
     509 + "$ref": "#/$defs/DpkgFileRecord"
     510 + },
     511 + "type": "array"
     512 + }
     513 + },
     514 + "type": "object",
     515 + "required": [
     516 + "package",
     517 + "source",
     518 + "version",
     519 + "sourceVersion",
     520 + "architecture",
     521 + "maintainer",
     522 + "installedSize",
     523 + "files"
     524 + ]
     525 + },
     526 + "File": {
     527 + "properties": {
     528 + "id": {
     529 + "type": "string"
     530 + },
     531 + "location": {
     532 + "$ref": "#/$defs/Coordinates"
     533 + },
     534 + "metadata": {
     535 + "$ref": "#/$defs/FileMetadataEntry"
     536 + },
     537 + "contents": {
     538 + "type": "string"
     539 + },
     540 + "digests": {
     541 + "items": {
     542 + "$ref": "#/$defs/Digest"
     543 + },
     544 + "type": "array"
     545 + }
     546 + },
     547 + "type": "object",
     548 + "required": [
     549 + "id",
     550 + "location"
     551 + ]
     552 + },
     553 + "FileMetadataEntry": {
     554 + "properties": {
     555 + "mode": {
     556 + "type": "integer"
     557 + },
     558 + "type": {
     559 + "type": "string"
     560 + },
     561 + "linkDestination": {
     562 + "type": "string"
     563 + },
     564 + "userID": {
     565 + "type": "integer"
     566 + },
     567 + "groupID": {
     568 + "type": "integer"
     569 + },
     570 + "mimeType": {
     571 + "type": "string"
     572 + },
     573 + "size": {
     574 + "type": "integer"
     575 + }
     576 + },
     577 + "type": "object",
     578 + "required": [
     579 + "mode",
     580 + "type",
     581 + "userID",
     582 + "groupID",
     583 + "mimeType",
     584 + "size"
     585 + ]
     586 + },
     587 + "GemMetadata": {
     588 + "properties": {
     589 + "name": {
     590 + "type": "string"
     591 + },
     592 + "version": {
     593 + "type": "string"
     594 + },
     595 + "files": {
     596 + "items": {
     597 + "type": "string"
     598 + },
     599 + "type": "array"
     600 + },
     601 + "authors": {
     602 + "items": {
     603 + "type": "string"
     604 + },
     605 + "type": "array"
     606 + },
     607 + "licenses": {
     608 + "items": {
     609 + "type": "string"
     610 + },
     611 + "type": "array"
     612 + },
     613 + "homepage": {
     614 + "type": "string"
     615 + }
     616 + },
     617 + "type": "object",
     618 + "required": [
     619 + "name",
     620 + "version"
     621 + ]
     622 + },
     623 + "GolangBinMetadata": {
     624 + "properties": {
     625 + "goBuildSettings": {
     626 + "patternProperties": {
     627 + ".*": {
     628 + "type": "string"
     629 + }
     630 + },
     631 + "type": "object"
     632 + },
     633 + "goCompiledVersion": {
     634 + "type": "string"
     635 + },
     636 + "architecture": {
     637 + "type": "string"
     638 + },
     639 + "h1Digest": {
     640 + "type": "string"
     641 + },
     642 + "mainModule": {
     643 + "type": "string"
     644 + }
     645 + },
     646 + "type": "object",
     647 + "required": [
     648 + "goCompiledVersion",
     649 + "architecture"
     650 + ]
     651 + },
     652 + "GolangModMetadata": {
     653 + "properties": {
     654 + "h1Digest": {
     655 + "type": "string"
     656 + }
     657 + },
     658 + "type": "object"
     659 + },
     660 + "HackageMetadata": {
     661 + "properties": {
     662 + "name": {
     663 + "type": "string"
     664 + },
     665 + "version": {
     666 + "type": "string"
     667 + },
     668 + "pkgHash": {
     669 + "type": "string"
     670 + },
     671 + "snapshotURL": {
     672 + "type": "string"
     673 + }
     674 + },
     675 + "type": "object",
     676 + "required": [
     677 + "name",
     678 + "version"
     679 + ]
     680 + },
     681 + "IDLikes": {
     682 + "items": {
     683 + "type": "string"
     684 + },
     685 + "type": "array"
     686 + },
     687 + "JavaManifest": {
     688 + "properties": {
     689 + "main": {
     690 + "patternProperties": {
     691 + ".*": {
     692 + "type": "string"
     693 + }
     694 + },
     695 + "type": "object"
     696 + },
     697 + "namedSections": {
     698 + "patternProperties": {
     699 + ".*": {
     700 + "patternProperties": {
     701 + ".*": {
     702 + "type": "string"
     703 + }
     704 + },
     705 + "type": "object"
     706 + }
     707 + },
     708 + "type": "object"
     709 + }
     710 + },
     711 + "type": "object"
     712 + },
     713 + "JavaMetadata": {
     714 + "properties": {
     715 + "virtualPath": {
     716 + "type": "string"
     717 + },
     718 + "manifest": {
     719 + "$ref": "#/$defs/JavaManifest"
     720 + },
     721 + "pomProperties": {
     722 + "$ref": "#/$defs/PomProperties"
     723 + },
     724 + "pomProject": {
     725 + "$ref": "#/$defs/PomProject"
     726 + },
     727 + "digest": {
     728 + "items": {
     729 + "$ref": "#/$defs/Digest"
     730 + },
     731 + "type": "array"
     732 + }
     733 + },
     734 + "type": "object",
     735 + "required": [
     736 + "virtualPath"
     737 + ]
     738 + },
     739 + "KbPackageMetadata": {
     740 + "properties": {
     741 + "product_id": {
     742 + "type": "string"
     743 + },
     744 + "kb": {
     745 + "type": "string"
     746 + }
     747 + },
     748 + "type": "object",
     749 + "required": [
     750 + "product_id",
     751 + "kb"
     752 + ]
     753 + },
     754 + "LinuxKernelMetadata": {
     755 + "properties": {
     756 + "name": {
     757 + "type": "string"
     758 + },
     759 + "architecture": {
     760 + "type": "string"
     761 + },
     762 + "version": {
     763 + "type": "string"
     764 + },
     765 + "extendedVersion": {
     766 + "type": "string"
     767 + },
     768 + "buildTime": {
     769 + "type": "string"
     770 + },
     771 + "author": {
     772 + "type": "string"
     773 + },
     774 + "format": {
     775 + "type": "string"
     776 + },
     777 + "rwRootFS": {
     778 + "type": "boolean"
     779 + },
     780 + "swapDevice": {
     781 + "type": "integer"
     782 + },
     783 + "rootDevice": {
     784 + "type": "integer"
     785 + },
     786 + "videoMode": {
     787 + "type": "string"
     788 + }
     789 + },
     790 + "type": "object",
     791 + "required": [
     792 + "name",
     793 + "architecture",
     794 + "version"
     795 + ]
     796 + },
     797 + "LinuxKernelModuleMetadata": {
     798 + "properties": {
     799 + "name": {
     800 + "type": "string"
     801 + },
     802 + "version": {
     803 + "type": "string"
     804 + },
     805 + "sourceVersion": {
     806 + "type": "string"
     807 + },
     808 + "path": {
     809 + "type": "string"
     810 + },
     811 + "description": {
     812 + "type": "string"
     813 + },
     814 + "author": {
     815 + "type": "string"
     816 + },
     817 + "license": {
     818 + "type": "string"
     819 + },
     820 + "kernelVersion": {
     821 + "type": "string"
     822 + },
     823 + "versionMagic": {
     824 + "type": "string"
     825 + },
     826 + "parameters": {
     827 + "patternProperties": {
     828 + ".*": {
     829 + "$ref": "#/$defs/LinuxKernelModuleParameter"
     830 + }
     831 + },
     832 + "type": "object"
     833 + }
     834 + },
     835 + "type": "object"
     836 + },
     837 + "LinuxKernelModuleParameter": {
     838 + "properties": {
     839 + "type": {
     840 + "type": "string"
     841 + },
     842 + "description": {
     843 + "type": "string"
     844 + }
     845 + },
     846 + "type": "object"
     847 + },
     848 + "LinuxRelease": {
     849 + "properties": {
     850 + "prettyName": {
     851 + "type": "string"
     852 + },
     853 + "name": {
     854 + "type": "string"
     855 + },
     856 + "id": {
     857 + "type": "string"
     858 + },
     859 + "idLike": {
     860 + "$ref": "#/$defs/IDLikes"
     861 + },
     862 + "version": {
     863 + "type": "string"
     864 + },
     865 + "versionID": {
     866 + "type": "string"
     867 + },
     868 + "versionCodename": {
     869 + "type": "string"
     870 + },
     871 + "buildID": {
     872 + "type": "string"
     873 + },
     874 + "imageID": {
     875 + "type": "string"
     876 + },
     877 + "imageVersion": {
     878 + "type": "string"
     879 + },
     880 + "variant": {
     881 + "type": "string"
     882 + },
     883 + "variantID": {
     884 + "type": "string"
     885 + },
     886 + "homeURL": {
     887 + "type": "string"
     888 + },
     889 + "supportURL": {
     890 + "type": "string"
     891 + },
     892 + "bugReportURL": {
     893 + "type": "string"
     894 + },
     895 + "privacyPolicyURL": {
     896 + "type": "string"
     897 + },
     898 + "cpeName": {
     899 + "type": "string"
     900 + },
     901 + "supportEnd": {
     902 + "type": "string"
     903 + }
     904 + },
     905 + "type": "object"
     906 + },
     907 + "Location": {
     908 + "properties": {
     909 + "path": {
     910 + "type": "string"
     911 + },
     912 + "layerID": {
     913 + "type": "string"
     914 + },
     915 + "annotations": {
     916 + "patternProperties": {
     917 + ".*": {
     918 + "type": "string"
     919 + }
     920 + },
     921 + "type": "object"
     922 + }
     923 + },
     924 + "type": "object",
     925 + "required": [
     926 + "path"
     927 + ]
     928 + },
     929 + "MixLockMetadata": {
     930 + "properties": {
     931 + "name": {
     932 + "type": "string"
     933 + },
     934 + "version": {
     935 + "type": "string"
     936 + },
     937 + "pkgHash": {
     938 + "type": "string"
     939 + },
     940 + "pkgHashExt": {
     941 + "type": "string"
     942 + }
     943 + },
     944 + "type": "object",
     945 + "required": [
     946 + "name",
     947 + "version",
     948 + "pkgHash",
     949 + "pkgHashExt"
     950 + ]
     951 + },
     952 + "NixStoreMetadata": {
     953 + "properties": {
     954 + "outputHash": {
     955 + "type": "string"
     956 + },
     957 + "output": {
     958 + "type": "string"
     959 + },
     960 + "files": {
     961 + "items": {
     962 + "type": "string"
     963 + },
     964 + "type": "array"
     965 + }
     966 + },
     967 + "type": "object",
     968 + "required": [
     969 + "outputHash",
     970 + "files"
     971 + ]
     972 + },
     973 + "NpmPackageJSONMetadata": {
     974 + "properties": {
     975 + "name": {
     976 + "type": "string"
     977 + },
     978 + "version": {
     979 + "type": "string"
     980 + },
     981 + "author": {
     982 + "type": "string"
     983 + },
     984 + "licenses": {
     985 + "items": {
     986 + "type": "string"
     987 + },
     988 + "type": "array"
     989 + },
     990 + "homepage": {
     991 + "type": "string"
     992 + },
     993 + "description": {
     994 + "type": "string"
     995 + },
     996 + "url": {
     997 + "type": "string"
     998 + },
     999 + "private": {
     1000 + "type": "boolean"
     1001 + }
     1002 + },
     1003 + "type": "object",
     1004 + "required": [
     1005 + "name",
     1006 + "version",
     1007 + "author",
     1008 + "licenses",
     1009 + "homepage",
     1010 + "description",
     1011 + "url",
     1012 + "private"
     1013 + ]
     1014 + },
     1015 + "NpmPackageLockJSONMetadata": {
     1016 + "properties": {
     1017 + "resolved": {
     1018 + "type": "string"
     1019 + },
     1020 + "integrity": {
     1021 + "type": "string"
     1022 + }
     1023 + },
     1024 + "type": "object",
     1025 + "required": [
     1026 + "resolved",
     1027 + "integrity"
     1028 + ]
     1029 + },
     1030 + "Package": {
     1031 + "properties": {
     1032 + "id": {
     1033 + "type": "string"
     1034 + },
     1035 + "name": {
     1036 + "type": "string"
     1037 + },
     1038 + "version": {
     1039 + "type": "string"
     1040 + },
     1041 + "type": {
     1042 + "type": "string"
     1043 + },
     1044 + "foundBy": {
     1045 + "type": "string"
     1046 + },
     1047 + "locations": {
     1048 + "items": {
     1049 + "$ref": "#/$defs/Location"
     1050 + },
     1051 + "type": "array"
     1052 + },
     1053 + "licenses": {
     1054 + "items": {
     1055 + "type": "string"
     1056 + },
     1057 + "type": "array"
     1058 + },
     1059 + "language": {
     1060 + "type": "string"
     1061 + },
     1062 + "cpes": {
     1063 + "items": {
     1064 + "type": "string"
     1065 + },
     1066 + "type": "array"
     1067 + },
     1068 + "purl": {
     1069 + "type": "string"
     1070 + },
     1071 + "metadataType": {
     1072 + "type": "string"
     1073 + },
     1074 + "metadata": {
     1075 + "anyOf": [
     1076 + {
     1077 + "type": "null"
     1078 + },
     1079 + {
     1080 + "$ref": "#/$defs/AlpmMetadata"
     1081 + },
     1082 + {
     1083 + "$ref": "#/$defs/ApkMetadata"
     1084 + },
     1085 + {
     1086 + "$ref": "#/$defs/BinaryMetadata"
     1087 + },
     1088 + {
     1089 + "$ref": "#/$defs/CargoPackageMetadata"
     1090 + },
     1091 + {
     1092 + "$ref": "#/$defs/CocoapodsMetadata"
     1093 + },
     1094 + {
     1095 + "$ref": "#/$defs/ConanLockMetadata"
     1096 + },
     1097 + {
     1098 + "$ref": "#/$defs/ConanMetadata"
     1099 + },
     1100 + {
     1101 + "$ref": "#/$defs/DartPubMetadata"
     1102 + },
     1103 + {
     1104 + "$ref": "#/$defs/DotnetDepsMetadata"
     1105 + },
     1106 + {
     1107 + "$ref": "#/$defs/DpkgMetadata"
     1108 + },
     1109 + {
     1110 + "$ref": "#/$defs/GemMetadata"
     1111 + },
     1112 + {
     1113 + "$ref": "#/$defs/GolangBinMetadata"
     1114 + },
     1115 + {
     1116 + "$ref": "#/$defs/GolangModMetadata"
     1117 + },
     1118 + {
     1119 + "$ref": "#/$defs/HackageMetadata"
     1120 + },
     1121 + {
     1122 + "$ref": "#/$defs/JavaMetadata"
     1123 + },
     1124 + {
     1125 + "$ref": "#/$defs/KbPackageMetadata"
     1126 + },
     1127 + {
     1128 + "$ref": "#/$defs/LinuxKernelMetadata"
     1129 + },
     1130 + {
     1131 + "$ref": "#/$defs/LinuxKernelModuleMetadata"
     1132 + },
     1133 + {
     1134 + "$ref": "#/$defs/MixLockMetadata"
     1135 + },
     1136 + {
     1137 + "$ref": "#/$defs/NixStoreMetadata"
     1138 + },
     1139 + {
     1140 + "$ref": "#/$defs/NpmPackageJSONMetadata"
     1141 + },
     1142 + {
     1143 + "$ref": "#/$defs/NpmPackageLockJSONMetadata"
     1144 + },
     1145 + {
     1146 + "$ref": "#/$defs/PhpComposerJSONMetadata"
     1147 + },
     1148 + {
     1149 + "$ref": "#/$defs/PortageMetadata"
     1150 + },
     1151 + {
     1152 + "$ref": "#/$defs/PythonPackageMetadata"
     1153 + },
     1154 + {
     1155 + "$ref": "#/$defs/PythonPipfileLockMetadata"
     1156 + },
     1157 + {
     1158 + "$ref": "#/$defs/PythonRequirementsMetadata"
     1159 + },
     1160 + {
     1161 + "$ref": "#/$defs/RebarLockMetadata"
     1162 + },
     1163 + {
     1164 + "$ref": "#/$defs/RpmMetadata"
     1165 + }
     1166 + ]
     1167 + }
     1168 + },
     1169 + "type": "object",
     1170 + "required": [
     1171 + "id",
     1172 + "name",
     1173 + "version",
     1174 + "type",
     1175 + "foundBy",
     1176 + "locations",
     1177 + "licenses",
     1178 + "language",
     1179 + "cpes",
     1180 + "purl"
     1181 + ]
     1182 + },
     1183 + "PhpComposerAuthors": {
     1184 + "properties": {
     1185 + "name": {
     1186 + "type": "string"
     1187 + },
     1188 + "email": {
     1189 + "type": "string"
     1190 + },
     1191 + "homepage": {
     1192 + "type": "string"
     1193 + }
     1194 + },
     1195 + "type": "object",
     1196 + "required": [
     1197 + "name"
     1198 + ]
     1199 + },
     1200 + "PhpComposerExternalReference": {
     1201 + "properties": {
     1202 + "type": {
     1203 + "type": "string"
     1204 + },
     1205 + "url": {
     1206 + "type": "string"
     1207 + },
     1208 + "reference": {
     1209 + "type": "string"
     1210 + },
     1211 + "shasum": {
     1212 + "type": "string"
     1213 + }
     1214 + },
     1215 + "type": "object",
     1216 + "required": [
     1217 + "type",
     1218 + "url",
     1219 + "reference"
     1220 + ]
     1221 + },
     1222 + "PhpComposerJSONMetadata": {
     1223 + "properties": {
     1224 + "name": {
     1225 + "type": "string"
     1226 + },
     1227 + "version": {
     1228 + "type": "string"
     1229 + },
     1230 + "source": {
     1231 + "$ref": "#/$defs/PhpComposerExternalReference"
     1232 + },
     1233 + "dist": {
     1234 + "$ref": "#/$defs/PhpComposerExternalReference"
     1235 + },
     1236 + "require": {
     1237 + "patternProperties": {
     1238 + ".*": {
     1239 + "type": "string"
     1240 + }
     1241 + },
     1242 + "type": "object"
     1243 + },
     1244 + "provide": {
     1245 + "patternProperties": {
     1246 + ".*": {
     1247 + "type": "string"
     1248 + }
     1249 + },
     1250 + "type": "object"
     1251 + },
     1252 + "require-dev": {
     1253 + "patternProperties": {
     1254 + ".*": {
     1255 + "type": "string"
     1256 + }
     1257 + },
     1258 + "type": "object"
     1259 + },
     1260 + "suggest": {
     1261 + "patternProperties": {
     1262 + ".*": {
     1263 + "type": "string"
     1264 + }
     1265 + },
     1266 + "type": "object"
     1267 + },
     1268 + "type": {
     1269 + "type": "string"
     1270 + },
     1271 + "notification-url": {
     1272 + "type": "string"
     1273 + },
     1274 + "bin": {
     1275 + "items": {
     1276 + "type": "string"
     1277 + },
     1278 + "type": "array"
     1279 + },
     1280 + "license": {
     1281 + "items": {
     1282 + "type": "string"
     1283 + },
     1284 + "type": "array"
     1285 + },
     1286 + "authors": {
     1287 + "items": {
     1288 + "$ref": "#/$defs/PhpComposerAuthors"
     1289 + },
     1290 + "type": "array"
     1291 + },
     1292 + "description": {
     1293 + "type": "string"
     1294 + },
     1295 + "homepage": {
     1296 + "type": "string"
     1297 + },
     1298 + "keywords": {
     1299 + "items": {
     1300 + "type": "string"
     1301 + },
     1302 + "type": "array"
     1303 + },
     1304 + "time": {
     1305 + "type": "string"
     1306 + }
     1307 + },
     1308 + "type": "object",
     1309 + "required": [
     1310 + "name",
     1311 + "version",
     1312 + "source",
     1313 + "dist"
     1314 + ]
     1315 + },
     1316 + "PomParent": {
     1317 + "properties": {
     1318 + "groupId": {
     1319 + "type": "string"
     1320 + },
     1321 + "artifactId": {
     1322 + "type": "string"
     1323 + },
     1324 + "version": {
     1325 + "type": "string"
     1326 + }
     1327 + },
     1328 + "type": "object",
     1329 + "required": [
     1330 + "groupId",
     1331 + "artifactId",
     1332 + "version"
     1333 + ]
     1334 + },
     1335 + "PomProject": {
     1336 + "properties": {
     1337 + "path": {
     1338 + "type": "string"
     1339 + },
     1340 + "parent": {
     1341 + "$ref": "#/$defs/PomParent"
     1342 + },
     1343 + "groupId": {
     1344 + "type": "string"
     1345 + },
     1346 + "artifactId": {
     1347 + "type": "string"
     1348 + },
     1349 + "version": {
     1350 + "type": "string"
     1351 + },
     1352 + "name": {
     1353 + "type": "string"
     1354 + },
     1355 + "description": {
     1356 + "type": "string"
     1357 + },
     1358 + "url": {
     1359 + "type": "string"
     1360 + }
     1361 + },
     1362 + "type": "object",
     1363 + "required": [
     1364 + "path",
     1365 + "groupId",
     1366 + "artifactId",
     1367 + "version",
     1368 + "name"
     1369 + ]
     1370 + },
     1371 + "PomProperties": {
     1372 + "properties": {
     1373 + "path": {
     1374 + "type": "string"
     1375 + },
     1376 + "name": {
     1377 + "type": "string"
     1378 + },
     1379 + "groupId": {
     1380 + "type": "string"
     1381 + },
     1382 + "artifactId": {
     1383 + "type": "string"
     1384 + },
     1385 + "version": {
     1386 + "type": "string"
     1387 + },
     1388 + "extraFields": {
     1389 + "patternProperties": {
     1390 + ".*": {
     1391 + "type": "string"
     1392 + }
     1393 + },
     1394 + "type": "object"
     1395 + }
     1396 + },
     1397 + "type": "object",
     1398 + "required": [
     1399 + "path",
     1400 + "name",
     1401 + "groupId",
     1402 + "artifactId",
     1403 + "version"
     1404 + ]
     1405 + },
     1406 + "PortageFileRecord": {
     1407 + "properties": {
     1408 + "path": {
     1409 + "type": "string"
     1410 + },
     1411 + "digest": {
     1412 + "$ref": "#/$defs/Digest"
     1413 + }
     1414 + },
     1415 + "type": "object",
     1416 + "required": [
     1417 + "path"
     1418 + ]
     1419 + },
     1420 + "PortageMetadata": {
     1421 + "properties": {
     1422 + "installedSize": {
     1423 + "type": "integer"
     1424 + },
     1425 + "files": {
     1426 + "items": {
     1427 + "$ref": "#/$defs/PortageFileRecord"
     1428 + },
     1429 + "type": "array"
     1430 + }
     1431 + },
     1432 + "type": "object",
     1433 + "required": [
     1434 + "installedSize",
     1435 + "files"
     1436 + ]
     1437 + },
     1438 + "PythonDirectURLOriginInfo": {
     1439 + "properties": {
     1440 + "url": {
     1441 + "type": "string"
     1442 + },
     1443 + "commitId": {
     1444 + "type": "string"
     1445 + },
     1446 + "vcs": {
     1447 + "type": "string"
     1448 + }
     1449 + },
     1450 + "type": "object",
     1451 + "required": [
     1452 + "url"
     1453 + ]
     1454 + },
     1455 + "PythonFileDigest": {
     1456 + "properties": {
     1457 + "algorithm": {
     1458 + "type": "string"
     1459 + },
     1460 + "value": {
     1461 + "type": "string"
     1462 + }
     1463 + },
     1464 + "type": "object",
     1465 + "required": [
     1466 + "algorithm",
     1467 + "value"
     1468 + ]
     1469 + },
     1470 + "PythonFileRecord": {
     1471 + "properties": {
     1472 + "path": {
     1473 + "type": "string"
     1474 + },
     1475 + "digest": {
     1476 + "$ref": "#/$defs/PythonFileDigest"
     1477 + },
     1478 + "size": {
     1479 + "type": "string"
     1480 + }
     1481 + },
     1482 + "type": "object",
     1483 + "required": [
     1484 + "path"
     1485 + ]
     1486 + },
     1487 + "PythonPackageMetadata": {
     1488 + "properties": {
     1489 + "name": {
     1490 + "type": "string"
     1491 + },
     1492 + "version": {
     1493 + "type": "string"
     1494 + },
     1495 + "license": {
     1496 + "type": "string"
     1497 + },
     1498 + "author": {
     1499 + "type": "string"
     1500 + },
     1501 + "authorEmail": {
     1502 + "type": "string"
     1503 + },
     1504 + "platform": {
     1505 + "type": "string"
     1506 + },
     1507 + "files": {
     1508 + "items": {
     1509 + "$ref": "#/$defs/PythonFileRecord"
     1510 + },
     1511 + "type": "array"
     1512 + },
     1513 + "sitePackagesRootPath": {
     1514 + "type": "string"
     1515 + },
     1516 + "topLevelPackages": {
     1517 + "items": {
     1518 + "type": "string"
     1519 + },
     1520 + "type": "array"
     1521 + },
     1522 + "directUrlOrigin": {
     1523 + "$ref": "#/$defs/PythonDirectURLOriginInfo"
     1524 + }
     1525 + },
     1526 + "type": "object",
     1527 + "required": [
     1528 + "name",
     1529 + "version",
     1530 + "license",
     1531 + "author",
     1532 + "authorEmail",
     1533 + "platform",
     1534 + "sitePackagesRootPath"
     1535 + ]
     1536 + },
     1537 + "PythonPipfileLockMetadata": {
     1538 + "properties": {
     1539 + "hashes": {
     1540 + "items": {
     1541 + "type": "string"
     1542 + },
     1543 + "type": "array"
     1544 + },
     1545 + "index": {
     1546 + "type": "string"
     1547 + }
     1548 + },
     1549 + "type": "object",
     1550 + "required": [
     1551 + "hashes",
     1552 + "index"
     1553 + ]
     1554 + },
     1555 + "PythonRequirementsMetadata": {
     1556 + "properties": {
     1557 + "name": {
     1558 + "type": "string"
     1559 + },
     1560 + "extras": {
     1561 + "items": {
     1562 + "type": "string"
     1563 + },
     1564 + "type": "array"
     1565 + },
     1566 + "versionConstraint": {
     1567 + "type": "string"
     1568 + },
     1569 + "url": {
     1570 + "type": "string"
     1571 + },
     1572 + "markers": {
     1573 + "patternProperties": {
     1574 + ".*": {
     1575 + "type": "string"
     1576 + }
     1577 + },
     1578 + "type": "object"
     1579 + }
     1580 + },
     1581 + "type": "object",
     1582 + "required": [
     1583 + "name",
     1584 + "extras",
     1585 + "versionConstraint",
     1586 + "url",
     1587 + "markers"
     1588 + ]
     1589 + },
     1590 + "RebarLockMetadata": {
     1591 + "properties": {
     1592 + "name": {
     1593 + "type": "string"
     1594 + },
     1595 + "version": {
     1596 + "type": "string"
     1597 + },
     1598 + "pkgHash": {
     1599 + "type": "string"
     1600 + },
     1601 + "pkgHashExt": {
     1602 + "type": "string"
     1603 + }
     1604 + },
     1605 + "type": "object",
     1606 + "required": [
     1607 + "name",
     1608 + "version",
     1609 + "pkgHash",
     1610 + "pkgHashExt"
     1611 + ]
     1612 + },
     1613 + "Relationship": {
     1614 + "properties": {
     1615 + "parent": {
     1616 + "type": "string"
     1617 + },
     1618 + "child": {
     1619 + "type": "string"
     1620 + },
     1621 + "type": {
     1622 + "type": "string"
     1623 + },
     1624 + "metadata": true
     1625 + },
     1626 + "type": "object",
     1627 + "required": [
     1628 + "parent",
     1629 + "child",
     1630 + "type"
     1631 + ]
     1632 + },
     1633 + "RpmMetadata": {
     1634 + "properties": {
     1635 + "name": {
     1636 + "type": "string"
     1637 + },
     1638 + "version": {
     1639 + "type": "string"
     1640 + },
     1641 + "epoch": {
     1642 + "oneOf": [
     1643 + {
     1644 + "type": "integer"
     1645 + },
     1646 + {
     1647 + "type": "null"
     1648 + }
     1649 + ]
     1650 + },
     1651 + "architecture": {
     1652 + "type": "string"
     1653 + },
     1654 + "release": {
     1655 + "type": "string"
     1656 + },
     1657 + "sourceRpm": {
     1658 + "type": "string"
     1659 + },
     1660 + "size": {
     1661 + "type": "integer"
     1662 + },
     1663 + "license": {
     1664 + "type": "string"
     1665 + },
     1666 + "vendor": {
     1667 + "type": "string"
     1668 + },
     1669 + "modularityLabel": {
     1670 + "type": "string"
     1671 + },
     1672 + "files": {
     1673 + "items": {
     1674 + "$ref": "#/$defs/RpmdbFileRecord"
     1675 + },
     1676 + "type": "array"
     1677 + }
     1678 + },
     1679 + "type": "object",
     1680 + "required": [
     1681 + "name",
     1682 + "version",
     1683 + "epoch",
     1684 + "architecture",
     1685 + "release",
     1686 + "sourceRpm",
     1687 + "size",
     1688 + "license",
     1689 + "vendor",
     1690 + "modularityLabel",
     1691 + "files"
     1692 + ]
     1693 + },
     1694 + "RpmdbFileRecord": {
     1695 + "properties": {
     1696 + "path": {
     1697 + "type": "string"
     1698 + },
     1699 + "mode": {
     1700 + "type": "integer"
     1701 + },
     1702 + "size": {
     1703 + "type": "integer"
     1704 + },
     1705 + "digest": {
     1706 + "$ref": "#/$defs/Digest"
     1707 + },
     1708 + "userName": {
     1709 + "type": "string"
     1710 + },
     1711 + "groupName": {
     1712 + "type": "string"
     1713 + },
     1714 + "flags": {
     1715 + "type": "string"
     1716 + }
     1717 + },
     1718 + "type": "object",
     1719 + "required": [
     1720 + "path",
     1721 + "mode",
     1722 + "size",
     1723 + "digest",
     1724 + "userName",
     1725 + "groupName",
     1726 + "flags"
     1727 + ]
     1728 + },
     1729 + "Schema": {
     1730 + "properties": {
     1731 + "version": {
     1732 + "type": "string"
     1733 + },
     1734 + "url": {
     1735 + "type": "string"
     1736 + }
     1737 + },
     1738 + "type": "object",
     1739 + "required": [
     1740 + "version",
     1741 + "url"
     1742 + ]
     1743 + },
     1744 + "SearchResult": {
     1745 + "properties": {
     1746 + "classification": {
     1747 + "type": "string"
     1748 + },
     1749 + "lineNumber": {
     1750 + "type": "integer"
     1751 + },
     1752 + "lineOffset": {
     1753 + "type": "integer"
     1754 + },
     1755 + "seekPosition": {
     1756 + "type": "integer"
     1757 + },
     1758 + "length": {
     1759 + "type": "integer"
     1760 + },
     1761 + "value": {
     1762 + "type": "string"
     1763 + }
     1764 + },
     1765 + "type": "object",
     1766 + "required": [
     1767 + "classification",
     1768 + "lineNumber",
     1769 + "lineOffset",
     1770 + "seekPosition",
     1771 + "length"
     1772 + ]
     1773 + },
     1774 + "Secrets": {
     1775 + "properties": {
     1776 + "location": {
     1777 + "$ref": "#/$defs/Coordinates"
     1778 + },
     1779 + "secrets": {
     1780 + "items": {
     1781 + "$ref": "#/$defs/SearchResult"
     1782 + },
     1783 + "type": "array"
     1784 + }
     1785 + },
     1786 + "type": "object",
     1787 + "required": [
     1788 + "location",
     1789 + "secrets"
     1790 + ]
     1791 + },
     1792 + "Source": {
     1793 + "properties": {
     1794 + "id": {
     1795 + "type": "string"
     1796 + },
     1797 + "type": {
     1798 + "type": "string"
     1799 + },
     1800 + "target": true
     1801 + },
     1802 + "type": "object",
     1803 + "required": [
     1804 + "id",
     1805 + "type",
     1806 + "target"
     1807 + ]
     1808 + }
     1809 + }
     1810 +}
     1811 + 
  • ■ ■ ■ ■ ■ ■
    schema/json/schema-7.1.6.json
     1 +{
     2 + "$schema": "https://json-schema.org/draft/2020-12/schema",
     3 + "$id": "https://github.com/anchore/syft/syft/formats/syftjson/model/document",
     4 + "$ref": "#/$defs/Document",
     5 + "$defs": {
     6 + "AlpmFileRecord": {
     7 + "properties": {
     8 + "path": {
     9 + "type": "string"
     10 + },
     11 + "type": {
     12 + "type": "string"
     13 + },
     14 + "uid": {
     15 + "type": "string"
     16 + },
     17 + "gid": {
     18 + "type": "string"
     19 + },
     20 + "time": {
     21 + "type": "string",
     22 + "format": "date-time"
     23 + },
     24 + "size": {
     25 + "type": "string"
     26 + },
     27 + "link": {
     28 + "type": "string"
     29 + },
     30 + "digest": {
     31 + "items": {
     32 + "$ref": "#/$defs/Digest"
     33 + },
     34 + "type": "array"
     35 + }
     36 + },
     37 + "type": "object"
     38 + },
     39 + "AlpmMetadata": {
     40 + "properties": {
     41 + "basepackage": {
     42 + "type": "string"
     43 + },
     44 + "package": {
     45 + "type": "string"
     46 + },
     47 + "version": {
     48 + "type": "string"
     49 + },
     50 + "description": {
     51 + "type": "string"
     52 + },
     53 + "architecture": {
     54 + "type": "string"
     55 + },
     56 + "size": {
     57 + "type": "integer"
     58 + },
     59 + "packager": {
     60 + "type": "string"
     61 + },
     62 + "license": {
     63 + "type": "string"
     64 + },
     65 + "url": {
     66 + "type": "string"
     67 + },
     68 + "validation": {
     69 + "type": "string"
     70 + },
     71 + "reason": {
     72 + "type": "integer"
     73 + },
     74 + "files": {
     75 + "items": {
     76 + "$ref": "#/$defs/AlpmFileRecord"
     77 + },
     78 + "type": "array"
     79 + },
     80 + "backup": {
     81 + "items": {
     82 + "$ref": "#/$defs/AlpmFileRecord"
     83 + },
     84 + "type": "array"
     85 + }
     86 + },
     87 + "type": "object",
     88 + "required": [
     89 + "basepackage",
     90 + "package",
     91 + "version",
     92 + "description",
     93 + "architecture",
     94 + "size",
     95 + "packager",
     96 + "license",
     97 + "url",
     98 + "validation",
     99 + "reason",
     100 + "files",
     101 + "backup"
     102 + ]
     103 + },
     104 + "ApkFileRecord": {
     105 + "properties": {
     106 + "path": {
     107 + "type": "string"
     108 + },
     109 + "ownerUid": {
     110 + "type": "string"
     111 + },
     112 + "ownerGid": {
     113 + "type": "string"
     114 + },
     115 + "permissions": {
     116 + "type": "string"
     117 + },
     118 + "digest": {
     119 + "$ref": "#/$defs/Digest"
     120 + }
     121 + },
     122 + "type": "object",
     123 + "required": [
     124 + "path"
     125 + ]
     126 + },
     127 + "ApkMetadata": {
     128 + "properties": {
     129 + "package": {
     130 + "type": "string"
     131 + },
     132 + "originPackage": {
     133 + "type": "string"
     134 + },
     135 + "maintainer": {
     136 + "type": "string"
     137 + },
     138 + "version": {
     139 + "type": "string"
     140 + },
     141 + "license": {
     142 + "type": "string"
     143 + },
     144 + "architecture": {
     145 + "type": "string"
     146 + },
     147 + "url": {
     148 + "type": "string"
     149 + },
     150 + "description": {
     151 + "type": "string"
     152 + },
     153 + "size": {
     154 + "type": "integer"
     155 + },
     156 + "installedSize": {
     157 + "type": "integer"
     158 + },
     159 + "pullDependencies": {
     160 + "items": {
     161 + "type": "string"
     162 + },
     163 + "type": "array"
     164 + },
     165 + "provides": {
     166 + "items": {
     167 + "type": "string"
     168 + },
     169 + "type": "array"
     170 + },
     171 + "pullChecksum": {
     172 + "type": "string"
     173 + },
     174 + "gitCommitOfApkPort": {
     175 + "type": "string"
     176 + },
     177 + "files": {
     178 + "items": {
     179 + "$ref": "#/$defs/ApkFileRecord"
     180 + },
     181 + "type": "array"
     182 + }
     183 + },
     184 + "type": "object",
     185 + "required": [
     186 + "package",
     187 + "originPackage",
     188 + "maintainer",
     189 + "version",
     190 + "license",
     191 + "architecture",
     192 + "url",
     193 + "description",
     194 + "size",
     195 + "installedSize",
     196 + "pullDependencies",
     197 + "provides",
     198 + "pullChecksum",
     199 + "gitCommitOfApkPort",
     200 + "files"
     201 + ]
     202 + },
     203 + "BinaryMetadata": {
     204 + "properties": {
     205 + "matches": {
     206 + "items": {
     207 + "$ref": "#/$defs/ClassifierMatch"
     208 + },
     209 + "type": "array"
     210 + }
     211 + },
     212 + "type": "object",
     213 + "required": [
     214 + "matches"
     215 + ]
     216 + },
     217 + "CargoPackageMetadata": {
     218 + "properties": {
     219 + "name": {
     220 + "type": "string"
     221 + },
     222 + "version": {
     223 + "type": "string"
     224 + },
     225 + "source": {
     226 + "type": "string"
     227 + },
     228 + "checksum": {
     229 + "type": "string"
     230 + },
     231 + "dependencies": {
     232 + "items": {
     233 + "type": "string"
     234 + },
     235 + "type": "array"
     236 + }
     237 + },
     238 + "type": "object",
     239 + "required": [
     240 + "name",
     241 + "version",
     242 + "source",
     243 + "checksum",
     244 + "dependencies"
     245 + ]
     246 + },
     247 + "ClassifierMatch": {
     248 + "properties": {
     249 + "classifier": {
     250 + "type": "string"
     251 + },
     252 + "location": {
     253 + "$ref": "#/$defs/Location"
     254 + }
     255 + },
     256 + "type": "object",
     257 + "required": [
     258 + "classifier",
     259 + "location"
     260 + ]
     261 + },
     262 + "CocoapodsMetadata": {
     263 + "properties": {
     264 + "checksum": {
     265 + "type": "string"
     266 + }
     267 + },
     268 + "type": "object",
     269 + "required": [
     270 + "checksum"
     271 + ]
     272 + },
     273 + "ConanLockMetadata": {
     274 + "properties": {
     275 + "ref": {
     276 + "type": "string"
     277 + },
     278 + "package_id": {
     279 + "type": "string"
     280 + },
     281 + "prev": {
     282 + "type": "string"
     283 + },
     284 + "requires": {
     285 + "type": "string"
     286 + },
     287 + "build_requires": {
     288 + "type": "string"
     289 + },
     290 + "py_requires": {
     291 + "type": "string"
     292 + },
     293 + "options": {
     294 + "patternProperties": {
     295 + ".*": {
     296 + "type": "string"
     297 + }
     298 + },
     299 + "type": "object"
     300 + },
     301 + "path": {
     302 + "type": "string"
     303 + },
     304 + "context": {
     305 + "type": "string"
     306 + }
     307 + },
     308 + "type": "object",
     309 + "required": [
     310 + "ref"
     311 + ]
     312 + },
     313 + "ConanMetadata": {
     314 + "properties": {
     315 + "ref": {
     316 + "type": "string"
     317 + }
     318 + },
     319 + "type": "object",
     320 + "required": [
     321 + "ref"
     322 + ]
     323 + },
     324 + "Coordinates": {
     325 + "properties": {
     326 + "path": {
     327 + "type": "string"
     328 + },
     329 + "layerID": {
     330 + "type": "string"
     331 + }
     332 + },
     333 + "type": "object",
     334 + "required": [
     335 + "path"
     336 + ]
     337 + },
     338 + "DartPubMetadata": {
     339 + "properties": {
     340 + "name": {
     341 + "type": "string"
     342 + },
     343 + "version": {
     344 + "type": "string"
     345 + },
     346 + "hosted_url": {
     347 + "type": "string"
     348 + },
     349 + "vcs_url": {
     350 + "type": "string"
     351 + }
     352 + },
     353 + "type": "object",
     354 + "required": [
     355 + "name",
     356 + "version"
     357 + ]
     358 + },
     359 + "Descriptor": {
     360 + "properties": {
     361 + "name": {
     362 + "type": "string"
     363 + },
     364 + "version": {
     365 + "type": "string"
     366 + },
     367 + "configuration": true
     368 + },
     369 + "type": "object",
     370 + "required": [
     371 + "name",
     372 + "version"
     373 + ]
     374 + },
     375 + "Digest": {
     376 + "properties": {
     377 + "algorithm": {
     378 + "type": "string"
     379 + },
     380 + "value": {
     381 + "type": "string"
     382 + }
     383 + },
     384 + "type": "object",
     385 + "required": [
     386 + "algorithm",
     387 + "value"
     388 + ]
     389 + },
     390 + "Document": {
     391 + "properties": {
     392 + "artifacts": {
     393 + "items": {
     394 + "$ref": "#/$defs/Package"
     395 + },
     396 + "type": "array"
     397 + },
     398 + "artifactRelationships": {
     399 + "items": {
     400 + "$ref": "#/$defs/Relationship"
     401 + },
     402 + "type": "array"
     403 + },
     404 + "files": {
     405 + "items": {
     406 + "$ref": "#/$defs/File"
     407 + },
     408 + "type": "array"
     409 + },
     410 + "secrets": {
     411 + "items": {
     412 + "$ref": "#/$defs/Secrets"
     413 + },
     414 + "type": "array"
     415 + },
     416 + "source": {
     417 + "$ref": "#/$defs/Source"
     418 + },
     419 + "distro": {
     420 + "$ref": "#/$defs/LinuxRelease"
     421 + },
     422 + "descriptor": {
     423 + "$ref": "#/$defs/Descriptor"
     424 + },
     425 + "schema": {
     426 + "$ref": "#/$defs/Schema"
     427 + }
     428 + },
     429 + "type": "object",
     430 + "required": [
     431 + "artifacts",
     432 + "artifactRelationships",
     433 + "source",
     434 + "distro",
     435 + "descriptor",
     436 + "schema"
     437 + ]
     438 + },
     439 + "DotnetDepsMetadata": {
     440 + "properties": {
     441 + "name": {
     442 + "type": "string"
     443 + },
     444 + "version": {
     445 + "type": "string"
     446 + },
     447 + "path": {
     448 + "type": "string"
     449 + },
     450 + "sha512": {
     451 + "type": "string"
     452 + },
     453 + "hashPath": {
     454 + "type": "string"
     455 + }
     456 + },
     457 + "type": "object",
     458 + "required": [
     459 + "name",
     460 + "version",
     461 + "path",
     462 + "sha512",
     463 + "hashPath"
     464 + ]
     465 + },
     466 + "DpkgFileRecord": {
     467 + "properties": {
     468 + "path": {
     469 + "type": "string"
     470 + },
     471 + "digest": {
     472 + "$ref": "#/$defs/Digest"
     473 + },
     474 + "isConfigFile": {
     475 + "type": "boolean"
     476 + }
     477 + },
     478 + "type": "object",
     479 + "required": [
     480 + "path",
     481 + "isConfigFile"
     482 + ]
     483 + },
     484 + "DpkgMetadata": {
     485 + "properties": {
     486 + "package": {
     487 + "type": "string"
     488 + },
     489 + "source": {
     490 + "type": "string"
     491 + },
     492 + "version": {
     493 + "type": "string"
     494 + },
     495 + "sourceVersion": {
     496 + "type": "string"
     497 + },
     498 + "architecture": {
     499 + "type": "string"
     500 + },
     501 + "maintainer": {
     502 + "type": "string"
     503 + },
     504 + "installedSize": {
     505 + "type": "integer"
     506 + },
     507 + "files": {
     508 + "items": {
     509 + "$ref": "#/$defs/DpkgFileRecord"
     510 + },
     511 + "type": "array"
     512 + }
     513 + },
     514 + "type": "object",
     515 + "required": [
     516 + "package",
     517 + "source",
     518 + "version",
     519 + "sourceVersion",
     520 + "architecture",
     521 + "maintainer",
     522 + "installedSize",
     523 + "files"
     524 + ]
     525 + },
     526 + "File": {
     527 + "properties": {
     528 + "id": {
     529 + "type": "string"
     530 + },
     531 + "location": {
     532 + "$ref": "#/$defs/Coordinates"
     533 + },
     534 + "metadata": {
     535 + "$ref": "#/$defs/FileMetadataEntry"
     536 + },
     537 + "contents": {
     538 + "type": "string"
     539 + },
     540 + "digests": {
     541 + "items": {
     542 + "$ref": "#/$defs/Digest"
     543 + },
     544 + "type": "array"
     545 + }
     546 + },
     547 + "type": "object",
     548 + "required": [
     549 + "id",
     550 + "location"
     551 + ]
     552 + },
     553 + "FileMetadataEntry": {
     554 + "properties": {
     555 + "mode": {
     556 + "type": "integer"
     557 + },
     558 + "type": {
     559 + "type": "string"
     560 + },
     561 + "linkDestination": {
     562 + "type": "string"
     563 + },
     564 + "userID": {
     565 + "type": "integer"
     566 + },
     567 + "groupID": {
     568 + "type": "integer"
     569 + },
     570 + "mimeType": {
     571 + "type": "string"
     572 + },
     573 + "size": {
     574 + "type": "integer"
     575 + }
     576 + },
     577 + "type": "object",
     578 + "required": [
     579 + "mode",
     580 + "type",
     581 + "userID",
     582 + "groupID",
     583 + "mimeType",
     584 + "size"
     585 + ]
     586 + },
     587 + "GemMetadata": {
     588 + "properties": {
     589 + "name": {
     590 + "type": "string"
     591 + },
     592 + "version": {
     593 + "type": "string"
     594 + },
     595 + "files": {
     596 + "items": {
     597 + "type": "string"
     598 + },
     599 + "type": "array"
     600 + },
     601 + "authors": {
     602 + "items": {
     603 + "type": "string"
     604 + },
     605 + "type": "array"
     606 + },
     607 + "licenses": {
     608 + "items": {
     609 + "type": "string"
     610 + },
     611 + "type": "array"
     612 + },
     613 + "homepage": {
     614 + "type": "string"
     615 + }
     616 + },
     617 + "type": "object",
     618 + "required": [
     619 + "name",
     620 + "version"
     621 + ]
     622 + },
     623 + "GolangBinMetadata": {
     624 + "properties": {
     625 + "goBuildSettings": {
     626 + "patternProperties": {
     627 + ".*": {
     628 + "type": "string"
     629 + }
     630 + },
     631 + "type": "object"
     632 + },
     633 + "goCompiledVersion": {
     634 + "type": "string"
     635 + },
     636 + "architecture": {
     637 + "type": "string"
     638 + },
     639 + "h1Digest": {
     640 + "type": "string"
     641 + },
     642 + "mainModule": {
     643 + "type": "string"
     644 + }
     645 + },
     646 + "type": "object",
     647 + "required": [
     648 + "goCompiledVersion",
     649 + "architecture"
     650 + ]
     651 + },
     652 + "GolangModMetadata": {
     653 + "properties": {
     654 + "h1Digest": {
     655 + "type": "string"
     656 + }
     657 + },
     658 + "type": "object"
     659 + },
     660 + "HackageMetadata": {
     661 + "properties": {
     662 + "name": {
     663 + "type": "string"
     664 + },
     665 + "version": {
     666 + "type": "string"
     667 + },
     668 + "pkgHash": {
     669 + "type": "string"
     670 + },
     671 + "snapshotURL": {
     672 + "type": "string"
     673 + }
     674 + },
     675 + "type": "object",
     676 + "required": [
     677 + "name",
     678 + "version"
     679 + ]
     680 + },
     681 + "IDLikes": {
     682 + "items": {
     683 + "type": "string"
     684 + },
     685 + "type": "array"
     686 + },
     687 + "JavaManifest": {
     688 + "properties": {
     689 + "main": {
     690 + "patternProperties": {
     691 + ".*": {
     692 + "type": "string"
     693 + }
     694 + },
     695 + "type": "object"
     696 + },
     697 + "namedSections": {
     698 + "patternProperties": {
     699 + ".*": {
     700 + "patternProperties": {
     701 + ".*": {
     702 + "type": "string"
     703 + }
     704 + },
     705 + "type": "object"
     706 + }
     707 + },
     708 + "type": "object"
     709 + }
     710 + },
     711 + "type": "object"
     712 + },
     713 + "JavaMetadata": {
     714 + "properties": {
     715 + "virtualPath": {
     716 + "type": "string"
     717 + },
     718 + "manifest": {
     719 + "$ref": "#/$defs/JavaManifest"
     720 + },
     721 + "pomProperties": {
     722 + "$ref": "#/$defs/PomProperties"
     723 + },
     724 + "pomProject": {
     725 + "$ref": "#/$defs/PomProject"
     726 + },
     727 + "digest": {
     728 + "items": {
     729 + "$ref": "#/$defs/Digest"
     730 + },
     731 + "type": "array"
     732 + }
     733 + },
     734 + "type": "object",
     735 + "required": [
     736 + "virtualPath"
     737 + ]
     738 + },
     739 + "KbPackageMetadata": {
     740 + "properties": {
     741 + "product_id": {
     742 + "type": "string"
     743 + },
     744 + "kb": {
     745 + "type": "string"
     746 + }
     747 + },
     748 + "type": "object",
     749 + "required": [
     750 + "product_id",
     751 + "kb"
     752 + ]
     753 + },
     754 + "LinuxKernelMetadata": {
     755 + "properties": {
     756 + "name": {
     757 + "type": "string"
     758 + },
     759 + "architecture": {
     760 + "type": "string"
     761 + },
     762 + "version": {
     763 + "type": "string"
     764 + },
     765 + "extendedVersion": {
     766 + "type": "string"
     767 + },
     768 + "buildTime": {
     769 + "type": "string"
     770 + },
     771 + "author": {
     772 + "type": "string"
     773 + },
     774 + "format": {
     775 + "type": "string"
     776 + },
     777 + "rwRootFS": {
     778 + "type": "boolean"
     779 + },
     780 + "swapDevice": {
     781 + "type": "integer"
     782 + },
     783 + "rootDevice": {
     784 + "type": "integer"
     785 + },
     786 + "videoMode": {
     787 + "type": "string"
     788 + }
     789 + },
     790 + "type": "object",
     791 + "required": [
     792 + "name",
     793 + "architecture",
     794 + "version"
     795 + ]
     796 + },
     797 + "LinuxKernelModuleMetadata": {
     798 + "properties": {
     799 + "name": {
     800 + "type": "string"
     801 + },
     802 + "version": {
     803 + "type": "string"
     804 + },
     805 + "sourceVersion": {
     806 + "type": "string"
     807 + },
     808 + "path": {
     809 + "type": "string"
     810 + },
     811 + "description": {
     812 + "type": "string"
     813 + },
     814 + "author": {
     815 + "type": "string"
     816 + },
     817 + "license": {
     818 + "type": "string"
     819 + },
     820 + "kernelVersion": {
     821 + "type": "string"
     822 + },
     823 + "versionMagic": {
     824 + "type": "string"
     825 + },
     826 + "parameters": {
     827 + "patternProperties": {
     828 + ".*": {
     829 + "$ref": "#/$defs/LinuxKernelModuleParameter"
     830 + }
     831 + },
     832 + "type": "object"
     833 + }
     834 + },
     835 + "type": "object"
     836 + },
     837 + "LinuxKernelModuleParameter": {
     838 + "properties": {
     839 + "type": {
     840 + "type": "string"
     841 + },
     842 + "description": {
     843 + "type": "string"
     844 + }
     845 + },
     846 + "type": "object"
     847 + },
     848 + "LinuxRelease": {
     849 + "properties": {
     850 + "prettyName": {
     851 + "type": "string"
     852 + },
     853 + "name": {
     854 + "type": "string"
     855 + },
     856 + "id": {
     857 + "type": "string"
     858 + },
     859 + "idLike": {
     860 + "$ref": "#/$defs/IDLikes"
     861 + },
     862 + "version": {
     863 + "type": "string"
     864 + },
     865 + "versionID": {
     866 + "type": "string"
     867 + },
     868 + "versionCodename": {
     869 + "type": "string"
     870 + },
     871 + "buildID": {
     872 + "type": "string"
     873 + },
     874 + "imageID": {
     875 + "type": "string"
     876 + },
     877 + "imageVersion": {
     878 + "type": "string"
     879 + },
     880 + "variant": {
     881 + "type": "string"
     882 + },
     883 + "variantID": {
     884 + "type": "string"
     885 + },
     886 + "homeURL": {
     887 + "type": "string"
     888 + },
     889 + "supportURL": {
     890 + "type": "string"
     891 + },
     892 + "bugReportURL": {
     893 + "type": "string"
     894 + },
     895 + "privacyPolicyURL": {
     896 + "type": "string"
     897 + },
     898 + "cpeName": {
     899 + "type": "string"
     900 + },
     901 + "supportEnd": {
     902 + "type": "string"
     903 + }
     904 + },
     905 + "type": "object"
     906 + },
     907 + "Location": {
     908 + "properties": {
     909 + "path": {
     910 + "type": "string"
     911 + },
     912 + "layerID": {
     913 + "type": "string"
     914 + },
     915 + "annotations": {
     916 + "patternProperties": {
     917 + ".*": {
     918 + "type": "string"
     919 + }
     920 + },
     921 + "type": "object"
     922 + }
     923 + },
     924 + "type": "object",
     925 + "required": [
     926 + "path"
     927 + ]
     928 + },
     929 + "MixLockMetadata": {
     930 + "properties": {
     931 + "name": {
     932 + "type": "string"
     933 + },
     934 + "version": {
     935 + "type": "string"
     936 + },
     937 + "pkgHash": {
     938 + "type": "string"
     939 + },
     940 + "pkgHashExt": {
     941 + "type": "string"
     942 + }
     943 + },
     944 + "type": "object",
     945 + "required": [
     946 + "name",
     947 + "version",
     948 + "pkgHash",
     949 + "pkgHashExt"
     950 + ]
     951 + },
     952 + "NixStoreMetadata": {
     953 + "properties": {
     954 + "outputHash": {
     955 + "type": "string"
     956 + },
     957 + "output": {
     958 + "type": "string"
     959 + },
     960 + "files": {
     961 + "items": {
     962 + "type": "string"
     963 + },
     964 + "type": "array"
     965 + }
     966 + },
     967 + "type": "object",
     968 + "required": [
     969 + "outputHash",
     970 + "files"
     971 + ]
     972 + },
     973 + "NpmPackageJSONMetadata": {
     974 + "properties": {
     975 + "name": {
     976 + "type": "string"
     977 + },
     978 + "version": {
     979 + "type": "string"
     980 + },
     981 + "author": {
     982 + "type": "string"
     983 + },
     984 + "licenses": {
     985 + "items": {
     986 + "type": "string"
     987 + },
     988 + "type": "array"
     989 + },
     990 + "homepage": {
     991 + "type": "string"
     992 + },
     993 + "description": {
     994 + "type": "string"
     995 + },
     996 + "url": {
     997 + "type": "string"
     998 + },
     999 + "private": {
     1000 + "type": "boolean"
     1001 + }
     1002 + },
     1003 + "type": "object",
     1004 + "required": [
     1005 + "name",
     1006 + "version",
     1007 + "author",
     1008 + "licenses",
     1009 + "homepage",
     1010 + "description",
     1011 + "url",
     1012 + "private"
     1013 + ]
     1014 + },
     1015 + "NpmPackageLockJSONMetadata": {
     1016 + "properties": {
     1017 + "resolved": {
     1018 + "type": "string"
     1019 + },
     1020 + "integrity": {
     1021 + "type": "string"
     1022 + }
     1023 + },
     1024 + "type": "object",
     1025 + "required": [
     1026 + "resolved",
     1027 + "integrity"
     1028 + ]
     1029 + },
     1030 + "Package": {
     1031 + "properties": {
     1032 + "id": {
     1033 + "type": "string"
     1034 + },
     1035 + "name": {
     1036 + "type": "string"
     1037 + },
     1038 + "version": {
     1039 + "type": "string"
     1040 + },
     1041 + "type": {
     1042 + "type": "string"
     1043 + },
     1044 + "foundBy": {
     1045 + "type": "string"
     1046 + },
     1047 + "locations": {
     1048 + "items": {
     1049 + "$ref": "#/$defs/Location"
     1050 + },
     1051 + "type": "array"
     1052 + },
     1053 + "licenses": {
     1054 + "items": {
     1055 + "type": "string"
     1056 + },
     1057 + "type": "array"
     1058 + },
     1059 + "language": {
     1060 + "type": "string"
     1061 + },
     1062 + "cpes": {
     1063 + "items": {
     1064 + "type": "string"
     1065 + },
     1066 + "type": "array"
     1067 + },
     1068 + "purl": {
     1069 + "type": "string"
     1070 + },
     1071 + "metadataType": {
     1072 + "type": "string"
     1073 + },
     1074 + "metadata": {
     1075 + "anyOf": [
     1076 + {
     1077 + "type": "null"
     1078 + },
     1079 + {
     1080 + "$ref": "#/$defs/AlpmMetadata"
     1081 + },
     1082 + {
     1083 + "$ref": "#/$defs/ApkMetadata"
     1084 + },
     1085 + {
     1086 + "$ref": "#/$defs/BinaryMetadata"
     1087 + },
     1088 + {
     1089 + "$ref": "#/$defs/CargoPackageMetadata"
     1090 + },
     1091 + {
     1092 + "$ref": "#/$defs/CocoapodsMetadata"
     1093 + },
     1094 + {
     1095 + "$ref": "#/$defs/ConanLockMetadata"
     1096 + },
     1097 + {
     1098 + "$ref": "#/$defs/ConanMetadata"
     1099 + },
     1100 + {
     1101 + "$ref": "#/$defs/DartPubMetadata"
     1102 + },
     1103 + {
     1104 + "$ref": "#/$defs/DotnetDepsMetadata"
     1105 + },
     1106 + {
     1107 + "$ref": "#/$defs/DpkgMetadata"
     1108 + },
     1109 + {
     1110 + "$ref": "#/$defs/GemMetadata"
     1111 + },
     1112 + {
     1113 + "$ref": "#/$defs/GolangBinMetadata"
     1114 + },
     1115 + {
     1116 + "$ref": "#/$defs/GolangModMetadata"
     1117 + },
     1118 + {
     1119 + "$ref": "#/$defs/HackageMetadata"
     1120 + },
     1121 + {
     1122 + "$ref": "#/$defs/JavaMetadata"
     1123 + },
     1124 + {
     1125 + "$ref": "#/$defs/KbPackageMetadata"
     1126 + },
     1127 + {
     1128 + "$ref": "#/$defs/LinuxKernelMetadata"
     1129 + },
     1130 + {
     1131 + "$ref": "#/$defs/LinuxKernelModuleMetadata"
     1132 + },
     1133 + {
     1134 + "$ref": "#/$defs/MixLockMetadata"
     1135 + },
     1136 + {
     1137 + "$ref": "#/$defs/NixStoreMetadata"
     1138 + },
     1139 + {
     1140 + "$ref": "#/$defs/NpmPackageJSONMetadata"
     1141 + },
     1142 + {
     1143 + "$ref": "#/$defs/NpmPackageLockJSONMetadata"
     1144 + },
     1145 + {
     1146 + "$ref": "#/$defs/PhpComposerJSONMetadata"
     1147 + },
     1148 + {
     1149 + "$ref": "#/$defs/PortageMetadata"
     1150 + },
     1151 + {
     1152 + "$ref": "#/$defs/PythonPackageMetadata"
     1153 + },
     1154 + {
     1155 + "$ref": "#/$defs/PythonPipfileLockMetadata"
     1156 + },
     1157 + {
     1158 + "$ref": "#/$defs/PythonRequirementsMetadata"
     1159 + },
     1160 + {
     1161 + "$ref": "#/$defs/RDescriptionFileMetadata"
     1162 + },
     1163 + {
     1164 + "$ref": "#/$defs/RebarLockMetadata"
     1165 + },
     1166 + {
     1167 + "$ref": "#/$defs/RpmMetadata"
     1168 + }
     1169 + ]
     1170 + }
     1171 + },
     1172 + "type": "object",
     1173 + "required": [
     1174 + "id",
     1175 + "name",
     1176 + "version",
     1177 + "type",
     1178 + "foundBy",
     1179 + "locations",
     1180 + "licenses",
     1181 + "language",
     1182 + "cpes",
     1183 + "purl"
     1184 + ]
     1185 + },
     1186 + "PhpComposerAuthors": {
     1187 + "properties": {
     1188 + "name": {
     1189 + "type": "string"
     1190 + },
     1191 + "email": {
     1192 + "type": "string"
     1193 + },
     1194 + "homepage": {
     1195 + "type": "string"
     1196 + }
     1197 + },
     1198 + "type": "object",
     1199 + "required": [
     1200 + "name"
     1201 + ]
     1202 + },
     1203 + "PhpComposerExternalReference": {
     1204 + "properties": {
     1205 + "type": {
     1206 + "type": "string"
     1207 + },
     1208 + "url": {
     1209 + "type": "string"
     1210 + },
     1211 + "reference": {
     1212 + "type": "string"
     1213 + },
     1214 + "shasum": {
     1215 + "type": "string"
     1216 + }
     1217 + },
     1218 + "type": "object",
     1219 + "required": [
     1220 + "type",
     1221 + "url",
     1222 + "reference"
     1223 + ]
     1224 + },
     1225 + "PhpComposerJSONMetadata": {
     1226 + "properties": {
     1227 + "name": {
     1228 + "type": "string"
     1229 + },
     1230 + "version": {
     1231 + "type": "string"
     1232 + },
     1233 + "source": {
     1234 + "$ref": "#/$defs/PhpComposerExternalReference"
     1235 + },
     1236 + "dist": {
     1237 + "$ref": "#/$defs/PhpComposerExternalReference"
     1238 + },
     1239 + "require": {
     1240 + "patternProperties": {
     1241 + ".*": {
     1242 + "type": "string"
     1243 + }
     1244 + },
     1245 + "type": "object"
     1246 + },
     1247 + "provide": {
     1248 + "patternProperties": {
     1249 + ".*": {
     1250 + "type": "string"
     1251 + }
     1252 + },
     1253 + "type": "object"
     1254 + },
     1255 + "require-dev": {
     1256 + "patternProperties": {
     1257 + ".*": {
     1258 + "type": "string"
     1259 + }
     1260 + },
     1261 + "type": "object"
     1262 + },
     1263 + "suggest": {
     1264 + "patternProperties": {
     1265 + ".*": {
     1266 + "type": "string"
     1267 + }
     1268 + },
     1269 + "type": "object"
     1270 + },
     1271 + "type": {
     1272 + "type": "string"
     1273 + },
     1274 + "notification-url": {
     1275 + "type": "string"
     1276 + },
     1277 + "bin": {
     1278 + "items": {
     1279 + "type": "string"
     1280 + },
     1281 + "type": "array"
     1282 + },
     1283 + "license": {
     1284 + "items": {
     1285 + "type": "string"
     1286 + },
     1287 + "type": "array"
     1288 + },
     1289 + "authors": {
     1290 + "items": {
     1291 + "$ref": "#/$defs/PhpComposerAuthors"
     1292 + },
     1293 + "type": "array"
     1294 + },
     1295 + "description": {
     1296 + "type": "string"
     1297 + },
     1298 + "homepage": {
     1299 + "type": "string"
     1300 + },
     1301 + "keywords": {
     1302 + "items": {
     1303 + "type": "string"
     1304 + },
     1305 + "type": "array"
     1306 + },
     1307 + "time": {
     1308 + "type": "string"
     1309 + }
     1310 + },
     1311 + "type": "object",
     1312 + "required": [
     1313 + "name",
     1314 + "version",
     1315 + "source",
     1316 + "dist"
     1317 + ]
     1318 + },
     1319 + "PomParent": {
     1320 + "properties": {
     1321 + "groupId": {
     1322 + "type": "string"
     1323 + },
     1324 + "artifactId": {
     1325 + "type": "string"
     1326 + },
     1327 + "version": {
     1328 + "type": "string"
     1329 + }
     1330 + },
     1331 + "type": "object",
     1332 + "required": [
     1333 + "groupId",
     1334 + "artifactId",
     1335 + "version"
     1336 + ]
     1337 + },
     1338 + "PomProject": {
     1339 + "properties": {
     1340 + "path": {
     1341 + "type": "string"
     1342 + },
     1343 + "parent": {
     1344 + "$ref": "#/$defs/PomParent"
     1345 + },
     1346 + "groupId": {
     1347 + "type": "string"
     1348 + },
     1349 + "artifactId": {
     1350 + "type": "string"
     1351 + },
     1352 + "version": {
     1353 + "type": "string"
     1354 + },
     1355 + "name": {
     1356 + "type": "string"
     1357 + },
     1358 + "description": {
     1359 + "type": "string"
     1360 + },
     1361 + "url": {
     1362 + "type": "string"
     1363 + }
     1364 + },
     1365 + "type": "object",
     1366 + "required": [
     1367 + "path",
     1368 + "groupId",
     1369 + "artifactId",
     1370 + "version",
     1371 + "name"
     1372 + ]
     1373 + },
     1374 + "PomProperties": {
     1375 + "properties": {
     1376 + "path": {
     1377 + "type": "string"
     1378 + },
     1379 + "name": {
     1380 + "type": "string"
     1381 + },
     1382 + "groupId": {
     1383 + "type": "string"
     1384 + },
     1385 + "artifactId": {
     1386 + "type": "string"
     1387 + },
     1388 + "version": {
     1389 + "type": "string"
     1390 + },
     1391 + "extraFields": {
     1392 + "patternProperties": {
     1393 + ".*": {
     1394 + "type": "string"
     1395 + }
     1396 + },
     1397 + "type": "object"
     1398 + }
     1399 + },
     1400 + "type": "object",
     1401 + "required": [
     1402 + "path",
     1403 + "name",
     1404 + "groupId",
     1405 + "artifactId",
     1406 + "version"
     1407 + ]
     1408 + },
     1409 + "PortageFileRecord": {
     1410 + "properties": {
     1411 + "path": {
     1412 + "type": "string"
     1413 + },
     1414 + "digest": {
     1415 + "$ref": "#/$defs/Digest"
     1416 + }
     1417 + },
     1418 + "type": "object",
     1419 + "required": [
     1420 + "path"
     1421 + ]
     1422 + },
     1423 + "PortageMetadata": {
     1424 + "properties": {
     1425 + "installedSize": {
     1426 + "type": "integer"
     1427 + },
     1428 + "files": {
     1429 + "items": {
     1430 + "$ref": "#/$defs/PortageFileRecord"
     1431 + },
     1432 + "type": "array"
     1433 + }
     1434 + },
     1435 + "type": "object",
     1436 + "required": [
     1437 + "installedSize",
     1438 + "files"
     1439 + ]
     1440 + },
     1441 + "PythonDirectURLOriginInfo": {
     1442 + "properties": {
     1443 + "url": {
     1444 + "type": "string"
     1445 + },
     1446 + "commitId": {
     1447 + "type": "string"
     1448 + },
     1449 + "vcs": {
     1450 + "type": "string"
     1451 + }
     1452 + },
     1453 + "type": "object",
     1454 + "required": [
     1455 + "url"
     1456 + ]
     1457 + },
     1458 + "PythonFileDigest": {
     1459 + "properties": {
     1460 + "algorithm": {
     1461 + "type": "string"
     1462 + },
     1463 + "value": {
     1464 + "type": "string"
     1465 + }
     1466 + },
     1467 + "type": "object",
     1468 + "required": [
     1469 + "algorithm",
     1470 + "value"
     1471 + ]
     1472 + },
     1473 + "PythonFileRecord": {
     1474 + "properties": {
     1475 + "path": {
     1476 + "type": "string"
     1477 + },
     1478 + "digest": {
     1479 + "$ref": "#/$defs/PythonFileDigest"
     1480 + },
     1481 + "size": {
     1482 + "type": "string"
     1483 + }
     1484 + },
     1485 + "type": "object",
     1486 + "required": [
     1487 + "path"
     1488 + ]
     1489 + },
     1490 + "PythonPackageMetadata": {
     1491 + "properties": {
     1492 + "name": {
     1493 + "type": "string"
     1494 + },
     1495 + "version": {
     1496 + "type": "string"
     1497 + },
     1498 + "license": {
     1499 + "type": "string"
     1500 + },
     1501 + "author": {
     1502 + "type": "string"
     1503 + },
     1504 + "authorEmail": {
     1505 + "type": "string"
     1506 + },
     1507 + "platform": {
     1508 + "type": "string"
     1509 + },
     1510 + "files": {
     1511 + "items": {
     1512 + "$ref": "#/$defs/PythonFileRecord"
     1513 + },
     1514 + "type": "array"
     1515 + },
     1516 + "sitePackagesRootPath": {
     1517 + "type": "string"
     1518 + },
     1519 + "topLevelPackages": {
     1520 + "items": {
     1521 + "type": "string"
     1522 + },
     1523 + "type": "array"
     1524 + },
     1525 + "directUrlOrigin": {
     1526 + "$ref": "#/$defs/PythonDirectURLOriginInfo"
     1527 + }
     1528 + },
     1529 + "type": "object",
     1530 + "required": [
     1531 + "name",
     1532 + "version",
     1533 + "license",
     1534 + "author",
     1535 + "authorEmail",
     1536 + "platform",
     1537 + "sitePackagesRootPath"
     1538 + ]
     1539 + },
     1540 + "PythonPipfileLockMetadata": {
     1541 + "properties": {
     1542 + "hashes": {
     1543 + "items": {
     1544 + "type": "string"
     1545 + },
     1546 + "type": "array"
     1547 + },
     1548 + "index": {
     1549 + "type": "string"
     1550 + }
     1551 + },
     1552 + "type": "object",
     1553 + "required": [
     1554 + "hashes",
     1555 + "index"
     1556 + ]
     1557 + },
     1558 + "PythonRequirementsMetadata": {
     1559 + "properties": {
     1560 + "name": {
     1561 + "type": "string"
     1562 + },
     1563 + "extras": {
     1564 + "items": {
     1565 + "type": "string"
     1566 + },
     1567 + "type": "array"
     1568 + },
     1569 + "versionConstraint": {
     1570 + "type": "string"
     1571 + },
     1572 + "url": {
     1573 + "type": "string"
     1574 + },
     1575 + "markers": {
     1576 + "patternProperties": {
     1577 + ".*": {
     1578 + "type": "string"
     1579 + }
     1580 + },
     1581 + "type": "object"
     1582 + }
     1583 + },
     1584 + "type": "object",
     1585 + "required": [
     1586 + "name",
     1587 + "extras",
     1588 + "versionConstraint",
     1589 + "url",
     1590 + "markers"
     1591 + ]
     1592 + },
     1593 + "RDescriptionFileMetadata": {
     1594 + "properties": {
     1595 + "title": {
     1596 + "type": "string"
     1597 + },
     1598 + "description": {
     1599 + "type": "string"
     1600 + },
     1601 + "author": {
     1602 + "type": "string"
     1603 + },
     1604 + "maintainer": {
     1605 + "type": "string"
     1606 + },
     1607 + "url": {
     1608 + "items": {
     1609 + "type": "string"
     1610 + },
     1611 + "type": "array"
     1612 + },
     1613 + "repository": {
     1614 + "type": "string"
     1615 + },
     1616 + "built": {
     1617 + "type": "string"
     1618 + },
     1619 + "needsCompilation": {
     1620 + "type": "boolean"
     1621 + },
     1622 + "imports": {
     1623 + "items": {
     1624 + "type": "string"
     1625 + },
     1626 + "type": "array"
     1627 + },
     1628 + "depends": {
     1629 + "items": {
     1630 + "type": "string"
     1631 + },
     1632 + "type": "array"
     1633 + },
     1634 + "suggests": {
     1635 + "items": {
     1636 + "type": "string"
     1637 + },
     1638 + "type": "array"
     1639 + }
     1640 + },
     1641 + "type": "object"
     1642 + },
     1643 + "RebarLockMetadata": {
     1644 + "properties": {
     1645 + "name": {
     1646 + "type": "string"
     1647 + },
     1648 + "version": {
     1649 + "type": "string"
     1650 + },
     1651 + "pkgHash": {
     1652 + "type": "string"
     1653 + },
     1654 + "pkgHashExt": {
     1655 + "type": "string"
     1656 + }
     1657 + },
     1658 + "type": "object",
     1659 + "required": [
     1660 + "name",
     1661 + "version",
     1662 + "pkgHash",
     1663 + "pkgHashExt"
     1664 + ]
     1665 + },
     1666 + "Relationship": {
     1667 + "properties": {
     1668 + "parent": {
     1669 + "type": "string"
     1670 + },
     1671 + "child": {
     1672 + "type": "string"
     1673 + },
     1674 + "type": {
     1675 + "type": "string"
     1676 + },
     1677 + "metadata": true
     1678 + },
     1679 + "type": "object",
     1680 + "required": [
     1681 + "parent",
     1682 + "child",
     1683 + "type"
     1684 + ]
     1685 + },
     1686 + "RpmMetadata": {
     1687 + "properties": {
     1688 + "name": {
     1689 + "type": "string"
     1690 + },
     1691 + "version": {
     1692 + "type": "string"
     1693 + },
     1694 + "epoch": {
     1695 + "oneOf": [
     1696 + {
     1697 + "type": "integer"
     1698 + },
     1699 + {
     1700 + "type": "null"
     1701 + }
     1702 + ]
     1703 + },
     1704 + "architecture": {
     1705 + "type": "string"
     1706 + },
     1707 + "release": {
     1708 + "type": "string"
     1709 + },
     1710 + "sourceRpm": {
     1711 + "type": "string"
     1712 + },
     1713 + "size": {
     1714 + "type": "integer"
     1715 + },
     1716 + "license": {
     1717 + "type": "string"
     1718 + },
     1719 + "vendor": {
     1720 + "type": "string"
     1721 + },
     1722 + "modularityLabel": {
     1723 + "type": "string"
     1724 + },
     1725 + "files": {
     1726 + "items": {
     1727 + "$ref": "#/$defs/RpmdbFileRecord"
     1728 + },
     1729 + "type": "array"
     1730 + }
     1731 + },
     1732 + "type": "object",
     1733 + "required": [
     1734 + "name",
     1735 + "version",
     1736 + "epoch",
     1737 + "architecture",
     1738 + "release",
     1739 + "sourceRpm",
     1740 + "size",
     1741 + "license",
     1742 + "vendor",
     1743 + "modularityLabel",
     1744 + "files"
     1745 + ]
     1746 + },
     1747 + "RpmdbFileRecord": {
     1748 + "properties": {
     1749 + "path": {
     1750 + "type": "string"
     1751 + },
     1752 + "mode": {
     1753 + "type": "integer"
     1754 + },
     1755 + "size": {
     1756 + "type": "integer"
     1757 + },
     1758 + "digest": {
     1759 + "$ref": "#/$defs/Digest"
     1760 + },
     1761 + "userName": {
     1762 + "type": "string"
     1763 + },
     1764 + "groupName": {
     1765 + "type": "string"
     1766 + },
     1767 + "flags": {
     1768 + "type": "string"
     1769 + }
     1770 + },
     1771 + "type": "object",
     1772 + "required": [
     1773 + "path",
     1774 + "mode",
     1775 + "size",
     1776 + "digest",
     1777 + "userName",
     1778 + "groupName",
     1779 + "flags"
     1780 + ]
     1781 + },
     1782 + "Schema": {
     1783 + "properties": {
     1784 + "version": {
     1785 + "type": "string"
     1786 + },
     1787 + "url": {
     1788 + "type": "string"
     1789 + }
     1790 + },
     1791 + "type": "object",
     1792 + "required": [
     1793 + "version",
     1794 + "url"
     1795 + ]
     1796 + },
     1797 + "SearchResult": {
     1798 + "properties": {
     1799 + "classification": {
     1800 + "type": "string"
     1801 + },
     1802 + "lineNumber": {
     1803 + "type": "integer"
     1804 + },
     1805 + "lineOffset": {
     1806 + "type": "integer"
     1807 + },
     1808 + "seekPosition": {
     1809 + "type": "integer"
     1810 + },
     1811 + "length": {
     1812 + "type": "integer"
     1813 + },
     1814 + "value": {
     1815 + "type": "string"
     1816 + }
     1817 + },
     1818 + "type": "object",
     1819 + "required": [
     1820 + "classification",
     1821 + "lineNumber",
     1822 + "lineOffset",
     1823 + "seekPosition",
     1824 + "length"
     1825 + ]
     1826 + },
     1827 + "Secrets": {
     1828 + "properties": {
     1829 + "location": {
     1830 + "$ref": "#/$defs/Coordinates"
     1831 + },
     1832 + "secrets": {
     1833 + "items": {
     1834 + "$ref": "#/$defs/SearchResult"
     1835 + },
     1836 + "type": "array"
     1837 + }
     1838 + },
     1839 + "type": "object",
     1840 + "required": [
     1841 + "location",
     1842 + "secrets"
     1843 + ]
     1844 + },
     1845 + "Source": {
     1846 + "properties": {
     1847 + "id": {
     1848 + "type": "string"
     1849 + },
     1850 + "type": {
     1851 + "type": "string"
     1852 + },
     1853 + "target": true
     1854 + },
     1855 + "type": "object",
     1856 + "required": [
     1857 + "id",
     1858 + "type",
     1859 + "target"
     1860 + ]
     1861 + }
     1862 + }
     1863 +}
     1864 + 
Please wait...
Page is in error, reload to recover