From 7800b16529c4a52278cb5cccf57337656371ddc9 Mon Sep 17 00:00:00 2001 From: witchcraze <67056980+witchcraze@users.noreply.github.com> Date: Tue, 24 Mar 2026 05:29:39 +0900 Subject: [PATCH] fix: update arangodb classifier and capture-snippet.sh (#4662) Signed-off-by: witchcraze --- .../binary/classifier_cataloger_test.go | 22 ++++++++++++++++++ syft/pkg/cataloger/binary/classifiers.go | 2 +- .../binary/testdata/capture-snippet.sh | 2 +- .../arangodb/3.12.5-2/linux-amd64/arangosh | Bin 0 -> 351 bytes .../arangodb/3.12.5/linux-amd64/arangosh | Bin 0 -> 351 bytes .../pkg/cataloger/binary/testdata/config.yaml | 14 +++++++++++ 6 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5-2/linux-amd64/arangosh create mode 100644 syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5/linux-amd64/arangosh diff --git a/syft/pkg/cataloger/binary/classifier_cataloger_test.go b/syft/pkg/cataloger/binary/classifier_cataloger_test.go index ad08fdc39..dcb84d898 100644 --- a/syft/pkg/cataloger/binary/classifier_cataloger_test.go +++ b/syft/pkg/cataloger/binary/classifier_cataloger_test.go @@ -61,6 +61,28 @@ func Test_Cataloger_PositiveCases(t *testing.T) { Metadata: metadata("arangodb-binary"), }, }, + { + logicalFixture: "arangodb/3.12.5/linux-amd64", + expected: pkg.Package{ + Name: "arangodb", + Version: "3.12.5", + Type: "binary", + PURL: "pkg:generic/arangodb@3.12.5", + Locations: locations("arangosh"), + Metadata: metadata("arangodb-binary"), + }, + }, + { + logicalFixture: "arangodb/3.12.5-2/linux-amd64", + expected: pkg.Package{ + Name: "arangodb", + Version: "3.12.5-2", + Type: "binary", + PURL: "pkg:generic/arangodb@3.12.5-2", + Locations: locations("arangosh"), + Metadata: metadata("arangodb-binary"), + }, + }, { logicalFixture: "postgres/15beta4/linux-amd64", expected: pkg.Package{ diff --git a/syft/pkg/cataloger/binary/classifiers.go b/syft/pkg/cataloger/binary/classifiers.go index 775970026..bd115b5e8 100644 --- a/syft/pkg/cataloger/binary/classifiers.go +++ b/syft/pkg/cataloger/binary/classifiers.go @@ -232,7 +232,7 @@ func DefaultClassifiers() []binutils.Classifier { Class: "arangodb-binary", FileGlob: "**/arangosh", EvidenceMatcher: m.FileContentsVersionMatcher( - `(?m)\x00*(?P[0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?)\s\[linux\]`), + `(?m)\x00*(?P[0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?)\s(enterprise\s)?\[linux\]`), Package: "arangodb", PURL: mustPURL("pkg:generic/arangodb@version"), CPEs: singleCPE("cpe:2.3:a:arangodb:arangodb:*:*:*:*:*:*:*:*", cpe.NVDDictionaryLookupSource), diff --git a/syft/pkg/cataloger/binary/testdata/capture-snippet.sh b/syft/pkg/cataloger/binary/testdata/capture-snippet.sh index 088776f48..96544410e 100755 --- a/syft/pkg/cataloger/binary/testdata/capture-snippet.sh +++ b/syft/pkg/cataloger/binary/testdata/capture-snippet.sh @@ -151,4 +151,4 @@ while $CONTINUE_LOOP; do done -go run ./manager write-snippet "$BINARY_FILE" --offset "$OFFSET" --length "$LENGTH" --name "$GROUP_NAME" --version "$VERSION" +go run ../internal/manager write-snippet "$BINARY_FILE" --offset "$OFFSET" --length "$LENGTH" --name "$GROUP_NAME" --version "$VERSION" diff --git a/syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5-2/linux-amd64/arangosh b/syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5-2/linux-amd64/arangosh new file mode 100644 index 0000000000000000000000000000000000000000..bd5bb46b68ede20bcf08c6bba1523ab2952893c9 GIT binary patch literal 351 zcmXw!OK!t35JSE8DF(cONOnWO;2AJXqO}bKC;lt6VOiO zUXQu2DIMGFIY}2Z zlF~y^D$;;txbH8Q3;1Va_?ro>LaNJBKjDme6sWJlU4;ZGCbW|pJ9U$I(^mv8jrVQO z2gBQv%j4_4YkB4RXb>NJE_c|OVi$OCIpshnW!tM?c%7hoq4P)l#pRM)rX_zfeDKrf Hdh6yN>iudV literal 0 HcmV?d00001 diff --git a/syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5/linux-amd64/arangosh b/syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5/linux-amd64/arangosh new file mode 100644 index 0000000000000000000000000000000000000000..b4c19d1397b21eaa1efe0ac208de33b6a0fea673 GIT binary patch literal 351 zcmX|*O>V;=6okF@DV~&dBY1#qe1ROG%c={09yXE#7RE{1)0ait?To&eFPS^dV2Vjg zKGr^ma8R9Ll3EW#zfoH1Is-@6A1UrT)%Vq)8fNh0fu)?uE#Et&Oxbgyn=Y|l+fLt>^Ajx2r9wtLV1fiOeV<_Zk zTszi|dyR~I%gOfr<#GZ0RSAAIp=Jnq+wv1y)#nnw$#?E7+uMW65p(LqmE%xsUoi(Nfx?5w;M6aD(rGM-P DG;eMV literal 0 HcmV?d00001 diff --git a/syft/pkg/cataloger/binary/testdata/config.yaml b/syft/pkg/cataloger/binary/testdata/config.yaml index db2e67014..eb69ede10 100644 --- a/syft/pkg/cataloger/binary/testdata/config.yaml +++ b/syft/pkg/cataloger/binary/testdata/config.yaml @@ -458,6 +458,20 @@ from-images: platform: linux/amd64 paths: - /usr/bin/arangosh + - name: arangodb + version: 3.12.5 + images: + - ref: arangodb:3.12.5@sha256:1f9278fe17b200cf3aea2c7bd7fd571221b5b41a49b835a397c47eb970c952d6 + platform: linux/amd64 + paths: + - /usr/bin/arangosh + - name: arangodb + version: 3.12.5-2 + images: + - ref: arangodb:3.12.5.2@sha256:5b0d1d2911ea864ea61d7e2357789004fe912606f5980cf481739601d7cb17a1 + platform: linux/amd64 + paths: + - /usr/bin/arangosh - version: 15.1 images: - ref: postgres:15.1@sha256:b4140dd3a62f364f16a82c1bd88d28b9887ecb47f07dbe2941237d073574d428