Keith Zantow
b3d7ba569b
fix: read direct package files when decoding SPDX tag-value ( #2014 )
...
* fix: read direct package files when decoding SPDX tag-value
---------
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-08-14 11:37:24 -04:00
Keith Zantow
c7272fd6a5
fix: SPDX license values and download location ( #2007 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-08-08 15:55:50 -04:00
Keith Zantow
aaf767f8d3
chore: improve spdx purl decoding ( #1996 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-08-04 11:43:21 -04:00
Christopher Angelo Phillips
8e893dfc20
feat: use originator logic to fill supplier ( #1980 )
...
* feat: use Originator to fill supplier for NTIA minimum
---------
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
2023-08-01 17:19:49 -04:00
Keith Zantow
9480f10ccd
feat: support top-level SPDX package and graph ( #1934 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-07-26 13:54:32 -04:00
Tristan Farkas
e1c1832f84
Add cataloger for Swift Package Manager. ( #1919 )
...
Signed-off-by: Tristan Farkas <Tristan.Farkas@axis.com >
2023-07-25 14:35:21 -04:00
Alex Goodman
4da3be864f
Refactor source API ( #1846 )
...
* refactor source API and syft json source block
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update source detection and format test utils
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* generate list of all source metadata types
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* extract base and root normalization into helper functions
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* preserve syftjson model package name import ref
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* alias should not be a pointer
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
2023-06-30 14:19:16 +00:00
Alex Goodman
6afbffce28
Fix directory resolver to consider CWD and root path input correctly ( #1840 )
...
* [wip] put in initial fix
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* capture expected behavior of dir resolver in tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update tests + comments to reflect current dir resolver behavior
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add additional test cases
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix additional tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix bad merge conflict resolution
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-05-25 13:41:18 +00:00
Alex Goodman
07e76907f6
Migrate location-related structs to the file package ( #1751 )
...
* migrate location structs to file package
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* replace source.Location refs with file package call
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove hardlink test for file based catalogers
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove hardlink test for all-regular-files testing
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* migrate file resolver implementations to separate package
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* [wip] migrate resolvers to internal
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* migrate resolvers to syft/internal
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: <>
2023-05-24 17:06:38 -04:00
Christopher Angelo Phillips
42fa9e4965
feat: update syft license concept to complex struct ( #1743 )
...
this PR makes the following changes to update the underlying license model to have more expressive capabilities
it also provides some guarantee's surrounding the license values themselves
- Licenses are updated from string -> pkg.LicenseSet which contain pkg.License with the following fields:
- original `Value` read by syft
- If it's possible to construct licenses will always have a valid SPDX expression for downstream consumption
- the above is run against a generated list of SPDX license ID to try and find the correct ID
- SPDX concluded vs declared is added to the new struct
- URL source for license is added to the new struct
- Location source is added to the new struct to show where the expression was pulled from
2023-05-15 16:23:39 -04:00
William Murphy
da3624644a
feat: Add R cataloger ( #1790 )
...
Add a cataloger that detects installed R packages by looking for DESCRIPTION
files. The base R package is now picked up in coverageImage tests in
test/cli/packages_cmd_test.go, so increment expected package counts for the
tests that use that image.
Signed-off-by: Will Murphy <will.murphy@anchore.com >
2023-05-10 12:30:11 -04:00
Keith Zantow
645206735e
chore: add more detail on SPDX file IDs ( #1769 )
2023-05-02 16:52:18 -04:00
Alex Goodman
5f3d4d285b
rename sbom.PackageCatalog to sbom.Packages ( #1773 )
...
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-05-01 10:19:58 -04:00
Alex Goodman
fd02bef0a3
rename pkg.Catalog to pkg.Collection ( #1764 )
...
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-26 13:56:33 -04:00
Alex Goodman
44422853be
Add package-to-file location evidence relationships ( #1698 )
...
* add evident-by relationship
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* wire up evident-by relationship geneation
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* handle evident-by relationship in spdx formats
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix decoding file info for syft json format
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* bump json schema to incorporate file size attribute
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* refactor to create relationships for primary evidence only
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove unused 7.0.2 json schema
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-14 15:08:46 -04:00
Avi Deitcher and Alex Goodman
cc731c7b19
Add Linux Kernel cataloger ( #1694 )
...
* add kernel handler
Signed-off-by: Avi Deitcher <avi@deitcher.net >
* [wip] combine kernel and kernel module cataloging
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* [wip] combine kernel and kernel module cataloging
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: Avi Deitcher <avi@deitcher.net >
* rename Kernel package to LinuxKernel package
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* split kernel and module packages within cataloger
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* wire up application configuration with kernel cataloger options
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* dont use references for packages on relationships
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting and tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* kernel cataloger should be resistent to partial failure
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* log upon kernel module metadata missing
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add tests for linux kernel cataloger
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update integration tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update cli package test counts
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add evidence annotations for kernel packages
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* reduce noise in cli test output
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* missed cli test to reduce noise for
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix package counts
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update docs with linux kernel cataloging refs
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* bump json schema with new metadata fields
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Avi Deitcher <avi@deitcher.net >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: <>
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-14 14:33:36 -04:00
Alex Goodman
5d156b8241
Add annotations for evidence on package locations ( #1723 )
...
* add location annotations + deb evidence annotations
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* rename LocationData struct and Annotation helper function
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add failing integration test for evidence coverage
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add evidence to aplm cataloger locations
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* change location annotation helper to return a location copy
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add evidence to binary cataloger locations
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* updated remaining catalogers with location annotations
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix unit tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* bump json schema
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* partial addressing of review comments
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* rename location.WithAnnotation
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-13 17:02:29 -04:00
7464079a09
Add Nix cataloger ( #1696 )
...
* Add Basic Nix Cataloger
Signed-off-by: Julio Tain Sueiras <juliosueiras@gmail.com >
* Update nix def for the latest syft definition
Signed-off-by: Julio Tain Sueiras <juliosueiras@gmail.com >
* capture nix package files on pkg.NixStoreMetadata
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix unit tests and linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update JSON schema
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* address review comments
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* Update syft/pkg/cataloger/nix/parse_nix_store_path_test.go
Co-authored-by: Florian Klink <flokli@flokli.de >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* support unstable version conventions
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update json schema relative to main branch
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update syft json with v7.1.1 schema
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix CLI tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove extra continue statement
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add Nix to list of supported ecosystems
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Julio Tain Sueiras <juliosueiras@gmail.com >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Co-authored-by: Julio Tain Sueiras <juliosueiras@gmail.com >
Co-authored-by: Florian Klink <flokli@flokli.de >
2023-04-04 10:53:56 -04:00
Christopher Angelo Phillips
f473bb75a8
1577 spdxlicense generate ( #1691 )
...
Update the license_list.go to have more permissible inputs for greater SPDXID matching.
EX:
GPL3 gpl3 gpl-3 and GPL-3 can all map to GPL-3.0-only
By moving all strings to lower and removing the "-" we're able to return valid SPDX license ID for a greater diversity of input strings.
---------
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
2023-03-23 11:48:24 -04:00
Keith Zantow
11e926ab2f
chore: fix flaky license sorting ( #1690 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-03-22 14:41:49 -04:00
Keith Zantow
7cfdffab5f
fix: sanitize SPDX LicenseRefs ( #1657 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-03-06 10:55:23 -05:00
Avi Deitcher
38a090c218
fix: add support for licenses not found on list ( #1540 )
...
Signed-off-by: Avi Deitcher <avi@deitcher.net >
2023-02-07 11:47:04 -05:00
Keith Zantow
1530ef354f
chore: update spdx/tools-golang to v0.5.0-rc1 ( #1503 )
2023-01-31 11:53:16 -05:00
Keith Zantow
934644232a
chore: revert GolangBinMetadata name and make analogous GolangModMetadata ( #1458 )
2023-01-13 16:46:12 -05:00
Chapman Pendery and Alex Goodman
ac8f72fdd1
feat: add BeamVM Hex support ( #1073 )
...
* feat: initial commit providing mix support
Signed-off-by: cpendery <cpendery@vt.edu >
* feat: add rebar parser
Signed-off-by: cpendery <cpendery@vt.edu >
* fix: add beam/hex everywhere else required for Syft runtime
Signed-off-by: cpendery <cpendery@vt.edu >
* style: fix lints
Signed-off-by: cpendery <cpendery@vt.edu >
* ci: fix failing tests
Signed-off-by: cpendery <cpendery@vt.edu >
* docs: update with new supported languages
Signed-off-by: cpendery <cpendery@vt.edu >
* chore: update elixir/erlang catalogers to generic cataloger
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: cpendery <cpendery@vt.edu >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
2023-01-12 12:10:46 -05:00
Benji Visser
bb6fc6525c
Add alpine type to purl ( #1431 )
...
Signed-off-by: Benji Visser <benji@093b.org >
2023-01-04 17:35:46 -05:00
Keith Zantow
64be0a1072
chore: refactor basic CPE functionality to its own package ( #1436 )
2023-01-04 11:26:28 -05:00
Christopher Angelo Phillips
3690f979b3
feat: update spdx format model to produce valid spdx json documents ( #1418 )
2022-12-21 15:56:03 -05:00
Keith Zantow
7b08608adb
feat: add h1digest when scanning go.mod ( #1405 )
...
Fixes https://github.com/anchore/syft/issues/1277
2022-12-20 02:18:35 +00:00
Christopher Angelo Phillips
0f1e8fca14
bug: spdx checksum empty array; allow syft to generate SHA1 for spdx-tag-value documents ( #1404 )
2022-12-20 00:10:35 +00:00
Keith Zantow
098e61dcc8
fix: sort relationships in SPDX output ( #1350 )
2022-11-21 09:26:24 -05:00
Christopher Angelo Phillips
da4b2df576
fix: spdx java checksum correctness ( #1348 )
2022-11-18 13:42:55 -05:00
Christopher Angelo Phillips
67888ee855
1111 clean name bug ( #1347 )
2022-11-18 14:45:18 +00:00
Alex Goodman and Keith Zantow
9afc9231c0
Add spdx relationship encoding for dependencies ( #1342 )
...
Co-authored-by: Keith Zantow <kzantow@gmail.com >
2022-11-18 09:40:10 -05:00
Keith Zantow
42cb0a47a4
feat: SPDX 2.3 support ( #1311 )
2022-11-18 08:54:39 -05:00
0c4b99c1c2
SBOM cataloger ( #1029 )
...
* SBOM cataloger
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* sbom-cataloger: turn off by default
and add integration test
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* SBOM cataloger
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* SBOM cataloger (optimize)
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* SBOM cataloger (fix)
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* SBOM cataloger (fix imports #1172 )
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* SBOM cataloger (fix: support group attribute in CDX SBOMs)
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
* port to generic cataloger and add relationship to original file
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* generalize parser for all format globs
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: Patrik Beno <patrik.beno@greenhorn.sk >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Co-authored-by: Tom Fay <tomfay@microsoft.com >
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
2022-11-16 14:11:45 -05:00
Christopher Angelo Phillips
0774ad15e2
chore: clean up linting configuration ( #1343 )
2022-11-16 16:28:09 +00:00
Justin Chadwell
10f43d75e0
feat: Add --name option to override name in output ( #1269 )
2022-11-10 14:03:23 -05:00
949cff158d
Add support for dependency relationships for alpine (apk) ( #1063 )
...
* Fix type of pull deps and add support for provides
Signed-off-by: Dan Luhring <dan+github@luhrings.com >
* [wip] apk dependency lookup
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update whitespace for linter
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
* adjust test conditions
Signed-off-by: Timothy Gerla <tim@gerla.net >
* fix TODOs and improve Provides parser
* run simports after main merge
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
* add tests to cover apk relationship parsing cases
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* generate JSON schema for breaking changes to apk metadata
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update tests to account for additional dependencies
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* [wip] fix relationship encoding for cyclonedx
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* simplify package relationships that can be expressed
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: Dan Luhring <dan+github@luhrings.com >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
Signed-off-by: Timothy Gerla <tim@gerla.net >
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
Co-authored-by: Christopher Phillips <christopher.phillips@anchore.com >
Co-authored-by: Timothy Gerla <tim@gerla.net >
2022-11-09 15:43:37 +00:00
Christopher Angelo Phillips
edeba9c01c
feat: add nodejs-binary package classifier ( #1296 )
2022-10-31 16:45:11 +00:00
Keith Zantow
78a0af2e2d
Add go binary h1 digest to SPDX ( #1265 )
2022-10-19 16:33:10 -04:00
Keith Zantow
b20310eaf8
Add gosimports ( #1205 )
2022-09-14 13:38:18 -04:00
Chapman Pendery
9097614f3b
refactor: move formats from internal into syft module ( #1172 )
2022-09-13 11:20:52 -04:00