Shane Dell
98a6c6efbe
Add sections of interest for Gemfile.lock cataloger ( #1749 )
...
- Updated tests to reflect the new sections being added to show they function properly.
Closes #1660
Signed-off-by: Shane Dell <shanedell100@gmail.com >
2023-04-19 12:18:17 -04:00
Christopher Angelo Phillips
55a90a2ee0
fix: update cache.fingerprint file to java-builds dir ( #1748 )
...
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
2023-04-19 12:17:07 -04:00
Shane Dell
6e835fd8fc
Add ALPM Metadata to CYCLONEDX and SPDX output formats ( #1747 )
...
Signed-off-by: Shane Dell <shanedell100@gmail.com >
2023-04-18 11:53:02 -04:00
Weston Steimel
ee80349ea0
chore: bump stereoscope to latest version ( #1741 )
...
Resolves reporting of GHSA-hw7c-3rfg-p46j
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-04-18 15:44:03 +00:00
Shane Dell
244b797a19
Create consul binary classifier ( #1738 )
...
* Create consul binary classifier
Closes #1590
Signed-off-by: Shane Dell <shanedell100@gmail.com >
* Create test for consul binary classifier
Signed-off-by: Shane Dell <shanedell100@gmail.com >
* Update version for consul. Add note that about consul version matcher is brittle
Signed-off-by: Shane Dell <shanedell100@gmail.com >
---------
Signed-off-by: Shane Dell <shanedell100@gmail.com >
2023-04-17 12:26:07 -04:00
Alex Goodman
5a7bab972c
Fix kernel cataloger test fixtures ( #1742 )
...
* pin kernel and modules version for kernel fixtures
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* cache kernel fixtures in CI
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update CLI test image with pinned kernel deps
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update the kernel version found in integration tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-17 11:44:46 -04:00
b69259534d
feat: Support scanning license files in golang packages over the network ( #1630 )
...
Signed-off-by: Avi Deitcher <avi@deitcher.net >
Signed-off-by: Keith Zantow <kzantow@gmail.com >
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
Co-authored-by: Keith Zantow <kzantow@gmail.com >
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-14 15:13:29 -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
Shane Dell
661d256b85
Update tests to not fail on Mac M1's. ( #1730 )
...
Closes #1673
Signed-off-by: Shane Dell <shanedell100@gmail.com >
2023-04-12 11:11:05 -04:00
Shane Dell
16ebcb2455
Add support for nar files. ( #1727 )
...
- Update README.md to show that nar is now supported.
- Created a java-archives/example.nar so that the tests wouldn't break.
- Add nar glob and as an option for pkgType.
Closes #1701
Signed-off-by: Shane Dell <shanedell100@gmail.com >
2023-04-11 09:41:49 -04:00
Henry Sachs
0fed17f1c8
feat: gradle lockfile support ( #1719 )
...
Signed-off-by: Henry Sachs <Henry.Sachs@deutschebahn.com >
2023-04-06 14:58:28 -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
Alex Goodman
681d250fdc
Capture file ownership relationships from portage ecosystem ( #1702 )
...
* add portage as file owners
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update json schema with NPM files
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-04-03 09:46:18 -04:00
Christopher Angelo Phillips
dfcc07e512
feat: Add config option to allow user to select the default image source location
...
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
2023-03-31 10:04:10 -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
Avi Deitcher and Keith Zantow
9fd532246a
feat: scan local go mod cache for licenses of golang packages ( #1645 )
...
Signed-off-by: Avi Deitcher <avi@deitcher.net >
Co-authored-by: Keith Zantow <kzantow@gmail.com >
2023-03-23 10:38:15 -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
anchore-actions-token-generator[bot]
434aa7fd46
chore: Update syft bootstrap tools to latest versions. ( #1682 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-03-20 13:20:48 -04:00
Keith Zantow
d05000ff21
fix: reduce logging for bad dpkg lines ( #1675 )
...
* fix: reduce logging for bad dpkg lines to Trace level
---------
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-03-17 13:08:51 -04:00
witchcraze
f66e77e2c6
fix ruby classifier ( #1678 )
...
Signed-off-by: witchcraze <witchcraze@gmail.com >
2023-03-17 09:42:20 -04:00
Christopher Angelo Phillips
61362c04fa
fix: move defer after error to protect panic case ( #1670 )
...
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com >
2023-03-15 15:29:10 -04:00
Joye Lin
e3140063d4
feat: add argocd, helm, kustomize and kubectl binary classifiers ( #1663 )
...
* add argocd, helm, kustomize and kubectl binary classifiers
* update golang PURL
* address PR faceback about binary/test-fixtures/Makefile
* remove the /v[n] suffix from the PURL in both argocd and helm
---------
Signed-off-by: y12studio <y12studio@gmail.com >
2023-03-15 14:53:22 -04:00
razzle
1d9ef34ec7
defer closing file ( #1668 )
...
Signed-off-by: razzle <harry@razzle.cloud >
2023-03-15 14:50:42 -04:00
Keith Zantow
302735097e
fix: remove author contributing to javascript CPEs ( #1669 )
2023-03-14 14:10:24 +00:00
Keith Zantow
cc0a376aba
fix: more python matching support ( #1667 )
2023-03-13 13:26:43 -04:00
witchcraze
a81e0c8008
feat: add ruby classifier ( #1665 )
...
Signed-off-by: witchcraze <witchcraze@gmail.com >
2023-03-10 08:29:40 -05:00
Keith Zantow
7714bc0521
fix: improved Python binary detection ( #1648 )
2023-03-07 10:52:29 -05:00
Weston Steimel
096d2b7bff
fix: suppress some known incorrect vendor candidates for npm CPEs ( #1659 )
...
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-07 10:18:44 -05: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
Keith Zantow
304be4a5a1
fix: dotnet PURL types are invalid ( #1649 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-03-03 16:45:20 -05:00
Weston Steimel
c4cbe211a3
feat: disable cpe vendor wildcards to reduce false positives ( #1647 )
...
* improved parsing of vendor from github url
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* stop generating wildcard vendors
Add logic for parsing javascript and ruby package vendor candidates from
url and author fields and stop generating wildcard vendor candidates
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
---------
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-03 17:26:46 +00:00
Avi Deitcher
01230aa766
read relative etc/apk/repositories for alpine version when no OS provided ( #1615 )
...
Signed-off-by: Avi Deitcher <avi@deitcher.net >
2023-03-02 13:04:56 -05:00
Keith Zantow
5f90d03718
fix: possible race condition ( #1639 )
2023-03-01 15:35:01 -05:00
Weston Steimel
e2ebc9769f
fix: remove APK OriginPackage cpe candidates ( #1637 )
...
Adding APK OriginPackage CPE candidates to the child package
results in false positives in grype because it can't associate
CPE-based findings to the corresponding OriginPackage APK fixes.
This reverts changing the `upstream` in the PURL for APK packages
as the logic in Grype that uses it expects it to be an APK package
name. This also allows refactoring to unexport and move the APK
CPE candidate generation logic closer to where CPE generation occurs
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-01 17:24:43 +00:00
Keith Zantow
2e6e3b0c74
fix: rebar lock file decoding panic ( #1628 )
2023-03-01 10:08:29 -05:00
Keith Zantow
24584a4d27
fix: handle individual cataloger panics ( #1636 )
2023-03-01 10:03:34 -05:00
Weston Steimel
8e1205f7ab
fix: apk product/vendor generation for old metadata ( #1635 )
...
This fixes some instances where the improved APK CPE generation
logic caused regressions for older alpine package APK metadata.
It now generates multiple "upstream" candidates with both name
and package type which reduces the amount of duplicated code in
the apk cpe gen logic. This also improves the handling of stream
version packages, so now we can correctly identify packages such
as ruby3.2-rexml as the rexml ruby gem.
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-01 14:58:35 +00:00
Weston Steimel
e92b0fa629
feat: rust toolchain binary cataloger ( #1601 )
...
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-01 14:53:37 +00:00
Weston Steimel
bcc0751a40
feat: retain go package info when no module declared ( #1632 )
...
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-01 14:26:44 +00:00
Weston Steimel
f1169e56fc
fix: improved CPE-generation for several more APK packages ( #1631 )
...
* fix: correct vendor for musl
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor for firefox and thunderbird
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor/product for chromium
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct product for apache http server
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct product for tiff
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor for ghostscript
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor for openjpeg
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor/product for xorg-server
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor for podofo
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: correct vendor for wpa_supplicant
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
---------
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-03-01 08:55:40 -05:00
Benji Visser
9e953b1da3
feat: add support for SUPPORT_END in /etc/os-release ( #1612 )
...
Signed-off-by: Benji Visser <benji@093b.org >
2023-02-27 13:43:19 -05:00
Weston Steimel
fbda21f4f4
fix: further improvements to CPE generation for apk packages ( #1623 )
...
* fix: consider upstream logic during apk cpe gen
* fix: correct apk CPE for go
* fix: correct apk CPE for ruby
* fix: correct apk CPE for bazel
* fix: correct apk CPE for clang
* fix: correct apk CPE for openjdk
* fix: correct apk CPE for glibc
* fix: correct apk CPE for gli
* fix: correct apk CPE for bas
* fix: correct apk CPE for alsa-lib
* fix: correct apk CPE for alsa
* fix: determine apk cpe vendor from known URLs
* fix: add more url prefix->vendor mappings for apk
* refactor: allow reuse of vendor by url prefix logic
* feat: extract username as vendor candidate from github/gitlab
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-02-27 13:16:04 -05:00
Weston Steimel
3ee1af0dc6
fix: correct apk purls for other distros ( #1620 )
...
The apk purl spec allows for vendor-specific namespace. I noticed
in the embedded SBOMs from wolfi that the purls are of the form
`pkg:apk/wolfi/curl@7.83 .0-r0?arch=x86`, but the current logic in
syft actually prevents purl generation entirely if the distro isn't
alpine, so this corrects that behaviour.
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-02-24 15:07:07 -05:00
Weston Steimel
0c5f03235e
refactor: move apk upstream logic to apk metadata ( #1619 )
...
* refactor: move apk upstream logic to apk metadata
Export the logic for parsing upstream APK package names
so it can be accessed from apk metadata objects directly.
This also tightens the upstream regex pattern as several
edge cases were being missed.
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: ensure correct handling for apk packages beginning with digits
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
* fix: upstream generation for ruby
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
---------
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-02-24 15:59:19 +00:00
Keith Zantow
5e8aa4da5e
fix: decoding null apk metadata pullDependencies ( #1614 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
2023-02-23 19:55:49 +00:00
Benji Visser
abfec62219
feat: haproxy binary matcher ( #1591 )
...
Signed-off-by: Benji Visser <benji@093b.org >
2023-02-23 14:39:08 -05:00
Weston Steimel
0c05855131
fix: determine upstream for apk version streams ( #1610 )
...
Determines better upstream package name for version-stream apk packages:
Examples:
- postgresql-13 -> postgresql
- postgresql15 -> postgresql
- go-1.19 -> go
- perl100.55 -> perl
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-02-23 17:32:34 +00:00
Weston Steimel
1150772d06
fix: improve CPE generation for curl APK ( #1608 )
...
Signed-off-by: Weston Steimel <weston.steimel@anchore.com >
2023-02-23 17:32:12 +00:00