From 96ad0b70d206a83f4516f703fcbb6303354eb717 Mon Sep 17 00:00:00 2001 From: Stijn Taelemans Date: Fri, 16 Aug 2024 13:58:54 +0200 Subject: [PATCH 1/2] test: add test cases Signed-off-by: Stijn Taelemans --- .../binary/classifier_cataloger_test.go | 22 ++++++++++++++++++ .../chrome/126.0.6478.182/linux-amd64/chrome | Bin 0 -> 277 bytes .../chrome/127.0.6533.119/linux-amd64/chrome | Bin 0 -> 277 bytes 3 files changed, 22 insertions(+) create mode 100644 syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/chrome/126.0.6478.182/linux-amd64/chrome create mode 100644 syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/chrome/127.0.6533.119/linux-amd64/chrome diff --git a/syft/pkg/cataloger/binary/classifier_cataloger_test.go b/syft/pkg/cataloger/binary/classifier_cataloger_test.go index dcc9849c675..67c47144b87 100644 --- a/syft/pkg/cataloger/binary/classifier_cataloger_test.go +++ b/syft/pkg/cataloger/binary/classifier_cataloger_test.go @@ -1039,6 +1039,28 @@ func Test_Cataloger_PositiveCases(t *testing.T) { Metadata: metadata("wordpress-cli-binary"), }, }, + { + logicalFixture: "chrome/126.0.6478.182/linux-amd64", + expected: pkg.Package{ + Name: "chrome", + Version: "126.0.6478.182", + Type: "binary", + PURL: "pkg:generic/chrome@126.0.6478.182", + Locations: locations("chrome"), + Metadata: metadata("chrome-binary"), + }, + }, + { + logicalFixture: "chrome/127.0.6533.119/linux-amd64", + expected: pkg.Package{ + Name: "chrome", + Version: "127.0.6533.119", + Type: "binary", + PURL: "pkg:generic/chrome@127.0.6533.119", + Locations: locations("chrome"), + Metadata: metadata("chrome-binary"), + }, + }, } for _, test := range tests { diff --git a/syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/chrome/126.0.6478.182/linux-amd64/chrome b/syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/chrome/126.0.6478.182/linux-amd64/chrome new file mode 100644 index 0000000000000000000000000000000000000000..14c0dca81c4d29997e7f67e6e7db03a59f6d3f86 GIT binary patch literal 277 zcmYL^O>4v;6h&S8D}?Nm_!*n^Yzu`#_r~{Zq(+CRO#AOUln!%umkalBvO92Pem~2B zw1iNxt*qy-TyB{r%%5$4_L}4MitT-OLYtLoua?<@2w*Hqy_n#YvalGbXYe-gAc31; z1fRKC19re4pf?(W3t z&ms0>!taK;#*!!eAQb_eoUPzh9dpmu-1Xj)a@Y|FNs?FMJ&*S%~& zO9%+{%v!$X^2jtn{;unrV~+Pb)az=6nvRt924*GA Date: Fri, 16 Aug 2024 15:09:41 +0200 Subject: [PATCH 2/2] feat: add classifier for chrome Signed-off-by: Stijn Taelemans --- syft/pkg/cataloger/binary/classifiers.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/syft/pkg/cataloger/binary/classifiers.go b/syft/pkg/cataloger/binary/classifiers.go index 0d491f25feb..74e423a2c8e 100644 --- a/syft/pkg/cataloger/binary/classifiers.go +++ b/syft/pkg/cataloger/binary/classifiers.go @@ -525,6 +525,17 @@ func DefaultClassifiers() []Classifier { PURL: mustPURL("pkg:generic/wp-cli@version"), CPEs: singleCPE("cpe:2.3:a:wp-cli:wp-cli:*:*:*:*:*:*:*:*"), }, + { + Class: "chrome-binary", + FileGlob: "**/chrome", + EvidenceMatcher: FileContentsVersionMatcher( + // [NUL]127.0.6533.119[NUL]Default + `\x00(?P[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\x00Default`, + ), + Package: "chrome", + PURL: mustPURL("pkg:generic/chrome@version"), + CPEs: singleCPE("cpe:2.3:a:google:chrome:*:*:*:*:*:*:*:*"), + }, } }