Skip to content

Commit b202534

Browse files
authored
fix: Update to the commit before container optimisation (google#1702)
Scalibr changed their extractor naming scheme recently, this updates the mapping so it doesn't rely on the exact name but uses the variable instead.
1 parent 2310a89 commit b202534

File tree

5 files changed

+56
-31
lines changed

5 files changed

+56
-31
lines changed

cmd/osv-scanner/__snapshots__/main_test.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -2879,7 +2879,7 @@ stat <rootdir>/path/to/my:project/package-lock.json: no such file or directory
28792879
---
28802880

28812881
[Test_run_LockfileWithExplicitParseAs/files_that_error_on_parsing_stop_parsable_files_from_being_checked - 2]
2882-
(extracting as rust/Cargolock) could not extract from <rootdir>/fixtures/locks-insecure/my-package-lock.json: toml: line 1: expected '.' or '=', but got '{' instead
2882+
(extracting as rust/cargolock) could not extract from <rootdir>/fixtures/locks-insecure/my-package-lock.json: toml: line 1: expected '.' or '=', but got '{' instead
28832883

28842884
---
28852885

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ require (
1717
github.com/go-git/go-billy/v5 v5.6.2
1818
github.com/go-git/go-git/v5 v5.14.0
1919
github.com/google/go-cmp v0.7.0
20-
github.com/google/osv-scalibr v0.1.7-0.20250221211628-93fce0090be1
20+
github.com/google/osv-scalibr v0.1.7-0.20250303175259-e23d5cb8ef2d
2121
github.com/ianlancetaylor/demangle v0.0.0-20240912202439-0a2b6291aafd
2222
github.com/jedib0t/go-pretty/v6 v6.6.7
2323
github.com/muesli/reflow v0.3.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
183183
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
184184
github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo=
185185
github.com/google/go-containerregistry v0.20.2/go.mod h1:z38EKdKh4h7IP2gSfUUqEvalZBqs6AoLeWfUy34nQC8=
186-
github.com/google/osv-scalibr v0.1.7-0.20250221211628-93fce0090be1 h1:ohLgSz1puJE45l3xzpjSJYMwLgJkN6N7zsTbczu31sY=
187-
github.com/google/osv-scalibr v0.1.7-0.20250221211628-93fce0090be1/go.mod h1:WCoQkl3WaqtPg0JRfuANQybxLsna3qmaFHQhBgCv/7I=
186+
github.com/google/osv-scalibr v0.1.7-0.20250303175259-e23d5cb8ef2d h1:qLSgkbvTBhZkWiMAttaQw3RZCEExLuR+MLHicN9JdiY=
187+
github.com/google/osv-scalibr v0.1.7-0.20250303175259-e23d5cb8ef2d/go.mod h1:WCoQkl3WaqtPg0JRfuANQybxLsna3qmaFHQhBgCv/7I=
188188
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
189189
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
190190
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

pkg/osvscanner/internal/scanners/lockfile.go

+51-26
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,31 @@ import (
1010

1111
"github.com/google/osv-scalibr/extractor"
1212
"github.com/google/osv-scalibr/extractor/filesystem"
13+
"github.com/google/osv-scalibr/extractor/filesystem/language/cpp/conanlock"
14+
"github.com/google/osv-scalibr/extractor/filesystem/language/dart/pubspec"
15+
"github.com/google/osv-scalibr/extractor/filesystem/language/dotnet/depsjson"
16+
"github.com/google/osv-scalibr/extractor/filesystem/language/dotnet/packageslockjson"
17+
"github.com/google/osv-scalibr/extractor/filesystem/language/erlang/mixlock"
18+
"github.com/google/osv-scalibr/extractor/filesystem/language/golang/gomod"
19+
"github.com/google/osv-scalibr/extractor/filesystem/language/haskell/cabal"
20+
"github.com/google/osv-scalibr/extractor/filesystem/language/haskell/stacklock"
21+
"github.com/google/osv-scalibr/extractor/filesystem/language/java/gradlelockfile"
22+
"github.com/google/osv-scalibr/extractor/filesystem/language/java/gradleverificationmetadataxml"
23+
"github.com/google/osv-scalibr/extractor/filesystem/language/java/pomxml"
24+
"github.com/google/osv-scalibr/extractor/filesystem/language/java/pomxmlnet"
25+
"github.com/google/osv-scalibr/extractor/filesystem/language/javascript/bunlock"
26+
"github.com/google/osv-scalibr/extractor/filesystem/language/javascript/packagelockjson"
27+
"github.com/google/osv-scalibr/extractor/filesystem/language/javascript/pnpmlock"
28+
"github.com/google/osv-scalibr/extractor/filesystem/language/javascript/yarnlock"
29+
"github.com/google/osv-scalibr/extractor/filesystem/language/php/composerlock"
30+
"github.com/google/osv-scalibr/extractor/filesystem/language/python/pdmlock"
31+
"github.com/google/osv-scalibr/extractor/filesystem/language/python/pipfilelock"
32+
"github.com/google/osv-scalibr/extractor/filesystem/language/python/poetrylock"
33+
"github.com/google/osv-scalibr/extractor/filesystem/language/python/requirements"
34+
"github.com/google/osv-scalibr/extractor/filesystem/language/python/uvlock"
35+
"github.com/google/osv-scalibr/extractor/filesystem/language/r/renvlock"
36+
"github.com/google/osv-scalibr/extractor/filesystem/language/ruby/gemfilelock"
37+
"github.com/google/osv-scalibr/extractor/filesystem/language/rust/cargolock"
1338
"github.com/google/osv-scalibr/extractor/filesystem/os/apk"
1439
"github.com/google/osv-scalibr/extractor/filesystem/os/dpkg"
1540
"github.com/google/osv-scanner/v2/internal/output"
@@ -18,32 +43,32 @@ import (
1843
)
1944

2045
var lockfileExtractorMapping = map[string][]string{
21-
"pubspec.lock": {"dart/pubspec"},
22-
"pnpm-lock.yaml": {"javascript/pnpmlock"},
23-
"yarn.lock": {"javascript/yarnlock"},
24-
"package-lock.json": {"javascript/packagelockjson"},
25-
"pom.xml": {"java/pomxmlnet", "java/pomxml"},
26-
"buildscript-gradle.lockfile": {"java/gradlelockfile"},
27-
"gradle.lockfile": {"java/gradlelockfile"},
28-
"verification-metadata.xml": {"java/gradleverificationmetadataxml"},
29-
"poetry.lock": {"python/poetrylock"},
30-
"Pipfile.lock": {"python/Pipfilelock"},
31-
"pdm.lock": {"python/pdmlock"},
32-
"requirements.txt": {"python/requirements"},
33-
"uv.lock": {"python/uvlock"},
34-
"Cargo.lock": {"rust/Cargolock"},
35-
"composer.lock": {"php/composerlock"},
36-
"mix.lock": {"erlang/mixlock"},
37-
"renv.lock": {"r/renvlock"},
38-
"deps.json": {"dotnet/depsjson"},
39-
"packages.lock.json": {"dotnet/packageslockjson"},
40-
"conan.lock": {"cpp/conanlock"},
41-
"go.mod": {"go/gomod"},
42-
"bun.lock": {"javascript/bunlock"},
43-
"Gemfile.lock": {"ruby/gemfilelock"},
44-
"cabal.project.freeze": {"haskell/cabal"},
45-
"stack.yaml.lock": {"haskell/stacklock"},
46-
// "Package.resolved": "swift/packageresolved",
46+
"pubspec.lock": {pubspec.Name},
47+
"pnpm-lock.yaml": {pnpmlock.Name},
48+
"yarn.lock": {yarnlock.Name},
49+
"package-lock.json": {packagelockjson.Name},
50+
"pom.xml": {pomxmlnet.Name, pomxml.Name},
51+
"buildscript-gradle.lockfile": {gradlelockfile.Name},
52+
"gradle.lockfile": {gradlelockfile.Name},
53+
"verification-metadata.xml": {gradleverificationmetadataxml.Name},
54+
"poetry.lock": {poetrylock.Name},
55+
"Pipfile.lock": {pipfilelock.Name},
56+
"pdm.lock": {pdmlock.Name},
57+
"requirements.txt": {requirements.Name},
58+
"uv.lock": {uvlock.Name},
59+
"Cargo.lock": {cargolock.Name},
60+
"composer.lock": {composerlock.Name},
61+
"mix.lock": {mixlock.Name},
62+
"renv.lock": {renvlock.Name},
63+
"deps.json": {depsjson.Name},
64+
"packages.lock.json": {packageslockjson.Name},
65+
"conan.lock": {conanlock.Name},
66+
"go.mod": {gomod.Name},
67+
"bun.lock": {bunlock.Name},
68+
"Gemfile.lock": {gemfilelock.Name},
69+
"cabal.project.freeze": {cabal.Name},
70+
"stack.yaml.lock": {stacklock.Name},
71+
// "Package.resolved": {packageresolved.Name},
4772
}
4873

4974
// ScanSingleFile is similar to ScanSingleFileWithMapping, just without supporting the <lockfileformat>:/path/to/lockfile prefix identifier

pkg/osvscanner/internal/scanners/lockfile_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func TestLockfileScalibrMappingExists(t *testing.T) {
2121
}
2222

2323
if !found {
24-
t.Errorf("Extractor %v not found.", target)
24+
t.Errorf("Extractor %v not found.", target.Name())
2525
}
2626
}
2727
}

0 commit comments

Comments
 (0)