anchore-oss-update-bot and anchore-oss-update-bot
5b58ec96b7
chore(deps): update Go version ( #4773 )
...
Signed-off-by: anchore-oss-update-bot <anchore-oss-update-bot@users.noreply.github.com >
Co-authored-by: anchore-oss-update-bot <anchore-oss-update-bot@users.noreply.github.com >
2026-04-15 10:01:39 -04:00
Keith Zantow and Alex Goodman
ccbee94b87
feat: report unknowns in sbom ( #2998 )
...
Signed-off-by: Keith Zantow <kzantow@gmail.com >
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com >
2024-10-07 16:11:37 -04:00
Keith Zantow
741c8fb9bd
fix: SPDX output performance with many relationships ( #3053 )
2024-07-24 10:14:20 -04:00
Brian Ebarb and Alex Goodman
4194a2cd34
feat: add relationships to ELF package discovery ( #2715 )
...
This PR adds DependencyOf relationships when ELF packages have been discovered by the binary cataloger. The discovered file.Executable type has a []ImportedLibraries that's read from the file when discovered by syft. By mapping these imported libraries back to the package collection, syft is able to create relationships showing which packages are dependencies of other packages by just reading metadata from the ELF executable.
---------
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
Signed-off-by: Brian Ebarb <ebarb.brian@sers.noreply.github.com >
Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com >
2024-05-09 13:53:59 -04:00
Alex Goodman
3023a5a7bc
Detect ELF security features ( #2443 )
...
* add detection of ELF security features
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix linting
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* update json schema with file executable data
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* update expected fixure when no tty present
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* more detailed differ
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* use json differ
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix tests
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* remove json schema addition
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* regenerate json schema
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix mimtype set ref
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
---------
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
2024-02-02 16:51:18 +00:00
Alex Goodman
0fe13888d5
swap format readseekers for readers ( #2515 )
...
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
2024-01-23 16:44:57 -05:00
Alex Goodman
5565bdef0c
Remove the power-user command and related catalogers ( #2306 )
...
* remove the power-user command
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* remove secrets + classifier catalogers
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* bump json schema
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* regenerate json schema
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
---------
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
2023-11-20 15:44:28 +00:00
Alex Goodman
7392d607b6
Split the sbom.Format interface by encode and decode use cases ( #2186 )
...
* split up sbom.Format into encode and decode ops
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* update cmd pkg to inject format configs
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* bump cyclonedx schema to 1.5
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* redact image metadata from github encoder tests
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* add more testing around format decoder identify
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* add test case for format version options
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix cli tests
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix CLI test
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* [wip] - review comments
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* keep encoder creation out of post load function
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* keep decider and identify functions
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* add a few more doc comments
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* remove format encoder default function helpers
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* address PR feedback
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* move back to streaming based decode functions
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* with common convention for encoder constructors
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix tests and allow for encoders to be created from cli options
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix cli tests
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* fix linting
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
* buffer reads from stdin to support seeking
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
---------
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
2023-10-25 13:43:06 +00:00
Đỗ Trọng Hải and Alex Goodman
b7fa75d7f8
chore: switch to stdlib's slices pkg ( #2148 )
...
* chore: switch to stdlib's slices pkg
Signed-off-by: hainenber <dotronghai96@gmail.com >
* fix linting
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
---------
Signed-off-by: hainenber <dotronghai96@gmail.com >
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com >
Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com >
2023-09-20 18:38:37 +00: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
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
25ce245c03
Simplify the SBOM writer interface ( #1892 )
...
* remove sbom.writer bytes call and consolidate helpers to options pkg
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* dont close stdout
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove close operation from multiwriter
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
---------
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2023-06-23 11:21:22 -04: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
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
Keith Zantow
9650473298
feat: Allow specific versions of formats to be specified ( #1543 )
2023-02-07 10:40:43 -05:00
Christopher Angelo Phillips and Alex Goodman
44e8ae2577
fix: update attestation code to remove library dependencies and shellout for keyless flow ( #1442 )
...
Co-authored-by: Alex Goodman <alex.goodman@anchore.com >
2023-01-12 17:22:05 +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
4f39287216
feat: Generic Binary Cataloger ( #1336 )
2022-11-29 18:28:10 -05:00
Keith Zantow
c2005fad8d
Stabilize SPDX JSON output sorting ( #1216 )
2022-09-19 15:31:00 -04:00
Keith Zantow
b20310eaf8
Add gosimports ( #1205 )
2022-09-14 13:38:18 -04:00
Dan Luhring
a7db43f5ec
Fix panic on empty sbom ( #917 )
...
* Implement fmt.Stringer with format.ID
Signed-off-by: Dan Luhring <dan+github@luhrings.com >
* Add failing test for formats processing empty SBOMs
Signed-off-by: Dan Luhring <dan+github@luhrings.com >
* Account for nil SPDX document during Syft model conversion
Signed-off-by: Dan Luhring <dan+github@luhrings.com >
2022-03-24 10:11:51 -04:00
Alex Goodman
07d3c9af52
Fix file creation for output options ( #875 )
2022-03-08 15:37:28 +00:00
Alex Goodman
4af32c5bee
Migrate format definitions to sbom package ( #864 )
2022-03-04 17:22:40 -05:00
Alex Goodman
706f291679
Replace distro type ( #742 )
...
* remove strong distro type
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* bump json schema to v3 (breaking distro shape)
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* allow for v2 decoding of distro idLikes field in v3 json decoder
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix casing in simple linux release name
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* use discovered name as pretty name in simple linux release
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2022-01-12 12:13:42 -05:00
Keith Zantow
5e5312c72d
Add support for multiple output files in different formats ( #732 )
2022-01-06 17:52:20 -05:00
Alex Goodman
bd9007fc0e
Migrate SPDX-JSON relationships to SBOM model ( #634 )
...
* remove power-user document shape
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add power-user specific fields to syft-json format
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* port remaining spdx-json relationships to sbom model
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add coordinate set
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add SBOM file path helper
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* use internal mimetype helper in go binary cataloger
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add new package-of relationship
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update json schema to v2
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* replace power-user presenter with syft-json format
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix tests and linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove "package-of" relationship (in favor of "contains")
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add tests for spdx22json format encoding enhancements
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update TODO and log entries
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* introduce sbom.Descriptor
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2021-11-23 14:54:17 -05:00
Alex Goodman and Dan Luhring
e38cde35ed
Introduce minimal source coordinates ( #623 )
...
* split source.Location and create source.Coordinates for minimal path addressing
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* move coordinates into separate file
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* Update syft/source/coordinates.go
Co-authored-by: Dan Luhring <luhring@users.noreply.github.com >
2021-11-18 18:13:22 +00:00
Alex Goodman
ef627d82ef
Introduce relationships as first-class objects ( #607 )
...
* migrate pkg.ID and pkg.Relationship to artifact package
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* return relationships from tasks
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix more tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add artifact.Identifiable by Identity() method
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove catalog ID assignment
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* adjust spdx helpers to use copy of packages
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* stabilize package ID relative to encode-decode format cycles
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* rename Identity() to ID()
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* use zero value for nils in ID generation
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* enable source.Location to be identifiable
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* hoist up package relationship discovery to analysis stage
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update ownership-by-file-overlap relationship description
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* add test reminders to put new relationships under test
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* adjust PHP composer.lock parser function to return relationships
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
2021-11-16 14:14:13 -05:00
Alex Goodman and Christopher Angelo Phillips
bb0f35bac4
Introduce a single SBOM document ( #606 )
...
* [wip] single sbom doc
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix more tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* fix linting
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update cli tests
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* remove scope in import path
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* swap SPDX tag-value formatter to single sbom document
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* bust CLI cache
Signed-off-by: Alex Goodman <alex.goodman@anchore.com >
* update fixture to byte diff
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* byte for byte
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* bust the cache
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* who needs cache
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* add jar for testing
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* no more bit flips
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* update apk with the delta for image and directory cases
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
* restore cache workflow
Signed-off-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
Co-authored-by: Christopher Angelo Phillips <christopher.phillips@anchore.com >
2021-11-05 10:05:49 -04:00