Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 86 additions & 47 deletions cmd/osv-scanner/scan/source/__snapshots__/command_test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1167,53 +1167,65 @@ Scanned <rootdir>/fixtures/locks-requirements/requirements-dev.txt file and foun
Scanned <rootdir>/fixtures/locks-requirements/requirements.prod.txt file and found 3 packages
Scanned <rootdir>/fixtures/locks-requirements/requirements.txt file and found 13 packages
Scanned <rootdir>/fixtures/locks-requirements/the_requirements_for_test.txt file and found 1 package
+-------------------------------------+------+-----------+----------+---------+---------------------------------------------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | SOURCE |
+-------------------------------------+------+-----------+----------+---------+---------------------------------------------------+
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0 | fixtures/locks-requirements/my-requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2021-439 | 7.3 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-v6rh-hp5x-86rv | | | | | |
| https://osv.dev/PYSEC-2022-1 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-53qw-q765-4fww | | | | | |
| https://osv.dev/PYSEC-2022-19 | 6.1 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-95rw-fx8r-36v6 | | | | | |
| https://osv.dev/PYSEC-2022-190 | 9.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-2gwj-7jmv-h26r | | | | | |
| https://osv.dev/PYSEC-2022-191 | 9.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-w24h-v9qh-8gxj | | | | | |
| https://osv.dev/PYSEC-2022-2 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-8c5j-9r9f-c6w8 | | | | | |
| https://osv.dev/PYSEC-2022-20 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-6cw3-g6wv-c2xv | | | | | |
| https://osv.dev/PYSEC-2022-3 | 6.9 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-jrh2-hc4r-7jwx | | | | | |
| https://osv.dev/GHSA-7xr5-9hcq-chf9 | 4.0 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-8x94-hmjh-97hq | 8.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-rrqc-c2jx-6jgv | 6.3 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/PYSEC-2021-98 | 6.9 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-68w8-qjq3-2gfm | | | | | |
| https://osv.dev/GHSA-7xr5-9hcq-chf9 | 4.0 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-8x94-hmjh-97hq | 8.8 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-rrqc-c2jx-6jgv | 6.3 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2024-60 | 7.5 | PyPI | idna | 2.7 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-jjg7-2v4v-x38h | | | | | |
| https://osv.dev/PYSEC-2023-74 | 6.1 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-j8r2-6x86-q33q | | | | | |
| https://osv.dev/GHSA-9hjg-9r4m-mvj7 | 5.3 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-9wx4-h78v-vm56 | 5.6 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2020-148 | 6.9 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-wqvq-5m8c-6g24 | | | | | |
| https://osv.dev/PYSEC-2021-108 | | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2023-192 | 8.1 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-v845-jxx5-vc9f | | | | | |
| https://osv.dev/PYSEC-2023-212 | 5.7 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-g4mx-q9vg-27p4 | | | | | |
| https://osv.dev/GHSA-34jh-p97f-mpxf | 4.4 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-pq67-6m6q-mj2v | 5.3 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
+-------------------------------------+------+-----------+----------+---------+---------------------------------------------------+
Scanned <rootdir>/fixtures/locks-requirements/unresolvable-requirements.txt file and found 3 packages
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | SOURCE |
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0 | fixtures/locks-requirements/my-requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2021-439 | 7.3 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-v6rh-hp5x-86rv | | | | | |
| https://osv.dev/PYSEC-2022-1 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-53qw-q765-4fww | | | | | |
| https://osv.dev/PYSEC-2022-19 | 6.1 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-95rw-fx8r-36v6 | | | | | |
| https://osv.dev/PYSEC-2022-190 | 9.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-2gwj-7jmv-h26r | | | | | |
| https://osv.dev/PYSEC-2022-191 | 9.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-w24h-v9qh-8gxj | | | | | |
| https://osv.dev/PYSEC-2022-2 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-8c5j-9r9f-c6w8 | | | | | |
| https://osv.dev/PYSEC-2022-20 | 8.7 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-6cw3-g6wv-c2xv | | | | | |
| https://osv.dev/PYSEC-2022-3 | 6.9 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-jrh2-hc4r-7jwx | | | | | |
| https://osv.dev/GHSA-7xr5-9hcq-chf9 | 4.0 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-8x94-hmjh-97hq | 8.8 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/GHSA-rrqc-c2jx-6jgv | 6.3 | PyPI | django | 2.2.24 | fixtures/locks-requirements/requirements.prod.txt |
| https://osv.dev/PYSEC-2021-98 | 6.9 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-68w8-qjq3-2gfm | | | | | |
| https://osv.dev/GHSA-7xr5-9hcq-chf9 | 4.0 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-8x94-hmjh-97hq | 8.8 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-rrqc-c2jx-6jgv | 6.3 | PyPI | django | 1.11.29 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2024-60 | 7.5 | PyPI | idna | 2.7 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-jjg7-2v4v-x38h | | | | | |
| https://osv.dev/PYSEC-2023-74 | 6.1 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-j8r2-6x86-q33q | | | | | |
| https://osv.dev/GHSA-9hjg-9r4m-mvj7 | 5.3 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-9wx4-h78v-vm56 | 5.6 | PyPI | requests | 2.20.0 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2020-148 | 6.9 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-wqvq-5m8c-6g24 | | | | | |
| https://osv.dev/PYSEC-2021-108 | | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2023-192 | 8.1 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-v845-jxx5-vc9f | | | | | |
| https://osv.dev/PYSEC-2023-212 | 5.7 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-g4mx-q9vg-27p4 | | | | | |
| https://osv.dev/GHSA-34jh-p97f-mpxf | 4.4 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/GHSA-pq67-6m6q-mj2v | 5.3 | PyPI | urllib3 | 1.24.3 | fixtures/locks-requirements/requirements.txt |
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2020-43 | 8.7 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-xc3p-ff3m-f46v | | | | | |
| https://osv.dev/PYSEC-2024-71 | 8.7 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-hxwh-jpp2-84pm | | | | | |
| https://osv.dev/GHSA-43qf-4rqw-9q2g | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-7rxf-gvfg-47g4 | 4.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-84pr-m4jr-85g5 | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-8vgw-p6qm-5gr7 | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/PYSEC-2020-73 | | PyPI | pandas | 0.23.4 | fixtures/locks-requirements/unresolvable-requirements.txt |
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+

---

Expand Down Expand Up @@ -3039,6 +3051,7 @@ Scanned <rootdir>/fixtures/locks-requirements/requirements-dev.txt file and foun
Scanned <rootdir>/fixtures/locks-requirements/requirements.prod.txt file and found 1 package
Scanned <rootdir>/fixtures/locks-requirements/requirements.txt file and found 3 packages
Scanned <rootdir>/fixtures/locks-requirements/the_requirements_for_test.txt file and found 1 package
Scanned <rootdir>/fixtures/locks-requirements/unresolvable-requirements.txt file and found 3 packages
Filtered 1 local/unscannable package/s from the scan.

---
Expand All @@ -3065,6 +3078,7 @@ Scanned <rootdir>/fixtures/locks-requirements/requirements-dev.txt file and foun
Scanned <rootdir>/fixtures/locks-requirements/requirements.prod.txt file and found 1 package
Scanned <rootdir>/fixtures/locks-requirements/requirements.txt file and found 3 packages
Scanned <rootdir>/fixtures/locks-requirements/the_requirements_for_test.txt file and found 1 package
Scanned <rootdir>/fixtures/locks-requirements/unresolvable-requirements.txt file and found 3 packages
Filtered 1 local/unscannable package/s from the scan.

---
Expand Down Expand Up @@ -3516,3 +3530,28 @@ Scanned <rootdir>/fixtures/locks-requirements/requirements.txt file and found 13
[TestCommand_Transitive/uses_native_data_source_for_requirements.txt - 2]

---

[TestCommand_Transitive/uses_native_data_source_for_requirements.txt#01 - 1]
Scanning dir ./fixtures/locks-requirements/unresolvable-requirements.txt
Scanned <rootdir>/fixtures/locks-requirements/unresolvable-requirements.txt file and found 3 packages
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | SOURCE |
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+
| https://osv.dev/PYSEC-2023-62 | 8.7 | PyPI | flask | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-m2qf-hxjv-5gpq | | | | | |
| https://osv.dev/PYSEC-2020-43 | 8.7 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-xc3p-ff3m-f46v | | | | | |
| https://osv.dev/PYSEC-2024-71 | 8.7 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-hxwh-jpp2-84pm | | | | | |
| https://osv.dev/GHSA-43qf-4rqw-9q2g | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-7rxf-gvfg-47g4 | 4.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-84pr-m4jr-85g5 | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/GHSA-8vgw-p6qm-5gr7 | 5.3 | PyPI | flask-cors | 1.0.0 | fixtures/locks-requirements/unresolvable-requirements.txt |
| https://osv.dev/PYSEC-2020-73 | | PyPI | pandas | 0.23.4 | fixtures/locks-requirements/unresolvable-requirements.txt |
+-------------------------------------+------+-----------+------------+---------+-----------------------------------------------------------+

---

[TestCommand_Transitive/uses_native_data_source_for_requirements.txt#01 - 2]

---
5 changes: 5 additions & 0 deletions cmd/osv-scanner/scan/source/command_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,11 @@ func TestCommand_Transitive(t *testing.T) {
Args: []string{"", "source", "--config=./fixtures/osv-scanner-empty-config.toml", "./fixtures/locks-requirements/requirements.txt"},
Exit: 1,
},
{
Name: "uses native data source for requirements.txt",
Args: []string{"", "source", "--config=./fixtures/osv-scanner-empty-config.toml", "./fixtures/locks-requirements/unresolvable-requirements.txt"},
Exit: 1,
},
{
Name: "does not scan transitive dependencies for requirements.txt with no-resolve",
Args: []string{"", "source", "--config=./fixtures/osv-scanner-empty-config.toml", "--no-resolve", "./fixtures/locks-requirements/requirements.txt"},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
flask==1.0.0
flask-cors==1.0.0
pandas==0.23.4
Loading
Loading