Giter VIP home page Giter VIP logo

google / osv-scanner Goto Github PK

View Code? Open in Web Editor NEW
5.8K 58.0 318.0 7.25 MB

Vulnerability scanner written in Go which uses the data provided by https://osv.dev

Home Page: https://google.github.io/osv-scanner/

License: Apache License 2.0

Dockerfile 0.65% Go 95.31% Shell 0.28% Java 0.86% Python 1.62% PHP 0.52% Ruby 0.33% Rust 0.01% R 0.43%
scanner security-audit security-tools vulnerability-scanner

osv-scanner's Introduction

OSV-Scanner

OpenSSF Scorecard Go Report Card codecov SLSA 3 GitHub Release

Use OSV-Scanner to find existing vulnerabilities affecting your project's dependencies.

OSV-Scanner provides an officially supported frontend to the OSV database that connects a project’s list of dependencies with the vulnerabilities that affect them. Since the OSV.dev database is open source and distributed, it has several benefits in comparison with closed source advisory databases and scanners:

  • Each advisory comes from an open and authoritative source (e.g. the RustSec Advisory Database)
  • Anyone can suggest improvements to advisories, resulting in a very high quality database
  • The OSV format unambiguously stores information about affected versions in a machine-readable format that precisely maps onto a developer’s list of packages

The above all results in fewer, more actionable vulnerability notifications, which reduces the time needed to resolve them. Check out our announcement blog post for more details!

Documentation

Read our detailed documentation to learn how to use OSV-Scanner.

Contribute

Report Problems

If you have what looks like a bug, please use the GitHub issue tracking system. Before you file an issue, please search existing issues to see if your issue is already covered.

Contributing code to osv-scanner

See CONTRIBUTING.md for documentation on how to contribute code.

Star History

Star History Chart

osv-scanner's People

Contributors

abhisek avatar andrewpollock avatar another-rex avatar applegamer22 avatar billielynch avatar calebbrown avatar chenrui333 avatar cmaritan avatar cuixq avatar dependabot[bot] avatar dor1s avatar g-rath avatar giovanni-bozzano avatar hayleycd avatar hogo6002 avatar iurisilvio avatar josieang avatar julieqiu avatar jwillker avatar kemzeb avatar michaelkedar avatar oliverchang avatar olivernocon avatar omercnet avatar renovate-bot avatar robotdana avatar robramsaynz avatar spencerschrock avatar sse4 avatar stevehipwell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osv-scanner's Issues

JUnit report

Most of Ci systems can handle reports in JUnit format.
I believe it is a good feature to visualize OSV scan reports by CI system.

Better error output for malformed inputs.

I've created a CycloneDX SBOM JSON file using syft in the file system detection mode.
I then passed it to osv-scanner 1.0.1 and got the following error message:

# osv-scanner --sbom sbom.cyclonedx.json                                                                                                                                                            
Scanned CycloneDX SBOM                                                                                                                                                                                      
scan failed server response error: {"code":3,"message":"Invalid Package URL."}    

Can you please make this error more detailed so it's clearer which Package URL is invalid?

(I think I know what the reason is; syft created 59 sections looking like this:

       "externalReferences": [
         {
           "url": "",
           "hashes": [
             {
               "alg": "SHA-1",
               "content": "SOMESHA1"
             }
           ],
           "type": "build-meta"
            }                                                                                                                                                                                                 
       ],

and one like this:

       "bom-ref": "77d4884a4c0c2f96",
       "type": "library",
       "name": "",
       "cpe": "cpe:2.3:a:python-:python-:*:*:*:*:*:*:*:*",
       "purl": "pkg:pypi/",
       "properties": [
...

when I deleted these, osv-scanner didn't report this error any longer.)
(I'll file a bug report for syft next.)

FindParser in windows

Hi,
I've tried to use the repo and saw that the parser can't be located on my windows computer.
after a short debug I saw it fails on this function:

func FindParser(pathToLockfile string, parseAs string) (PackageDetailsParser, string) {
	if parseAs == "" {
		parseAs = path.Base(pathToLockfile)
	}

	return parsers[parseAs], parseAs
}

When it sees the directory it don't extract the base and therefore don't find the name of the file (and the parser type).

I suggest changing it to filepath.Base(pathToLockfile) in order to support both.

vulnerability scan of OSS source code

Does osv-scanner support vulnerability scan of OSS source code?
By reading the documentation and testing, I think it is not supported, but I would like to do a double confirm, thanks !

Support local DBs

Currently the scanner works by using the OSV.dev API, which ensures the matching against latest live DB with little (targeted <15 minute latency from the upstream source)

We should support a local mode, which supports taking in a local OSV DB.

One of the key prerequisites here is:

  • Implementing version comparison rules for all our supported ecosystems. This is necessary for precise vulnerability matching based on the OSV version matching algorithm (@G-Rath has something for this that does this for the many of our ecosystems)

This will have some limitations:

  • Commit based matching will not work -- the API indexes all commit hashes ingested, and it's not feasible to replicate this index locally.
  • Potential performance issues?

osv-scanner is not found in kali linux

Hello,

After installing the osv-scanner using "Install from Source", getting a osv-scanner not found error message.
Didn't find enough information in articles/blogs related to this issue

image

go.mod `replace` not being taken into account when reading

For example, Kubernetes go.mod has these lines:

require k8s.io/client-go v0.0.0
...
k8s.io/client-go => ./staging/src/k8s.io/client-go

and osv-scanner will incorrectly show all vulnerabilities for client-go that have introduced 0.

osv-scanner: Scan .jar files

The osv-scanner should be able to scan .jar files.

I'm not very familiar with this, but we could potentially match .jar files by hash against the Maven registry to get the package + version.

I think .jar files can also embed other .jar files inside as well.

enable easy usage in CI

I had a CI script that just broke because logs are not sent to stdout when they were not before, I think a change in #3

osv-scanner -r . | tee /tmp/vulns
2022/11/23 18:56:22 Scanning dir .
2022/11/23 18:56:22 Scanning /app/ at commit f187e875250ec11be568d5f00974ebcddba51aa3
2022/11/23 18:56:22 Scanned /app/go.mod file and found 37 packages
! [ -s /tmp/vulns ]

This used to exit 0, now it exits 1 because those log lines actually get piped to /tmp/vulns so the file is not empty.

How should osv-scanner be properly used in CI?

Thanks!

Optimise human readable output for narrow terminals

When using the default textual output and the SOURCE path is long enough, the output is truncated.

All lines end with a and are truncated which make the output unusable because it misses the OSV URL entirely.

╭────────────────────────────────────────────────────┬───────────┬─────────────────────────┬───────────────────────────────────┬───────────────────────────── ≈
│ SOURCE                                             │ ECOSYSTEM │ AFFECTED PACKAGE        │ VERSION                           │ OSV URL (ID IN BOLD)         ≈
├────────────────────────────────────────────────────┼───────────┼─────────────────────────┼───────────────────────────────────┼───────────────────────────── ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│ xxxxx/xxxxx/node_modules/package-lock.json         │ npm       │ lodash                  │ 4.17.4                            │ https://osv.dev/vulnerabilit ≈
│

I know about the JSON output, but I'd like to have an untruncated textual output too because it is more readable.

JSON output that groups aliases

Improve JSON output so that it encodes alias information so that the number of vulnerabilities are not artificially increased by the number of different advisories publishing the same vulnerability.

Implement others ways of installation

The project has a high chance of gaining a lot of adoption.
To help with adoption, the project could provide other ways to install besides go install or download binaries. This facilitates to use of the osv-scanner in different machines, servers, CI/CD, etc.

My proposal is that the project could have the following:

All this can be done using the goreleaser.
I can help with PRs if these features make sense!

add markdown output option

If markdown was supported as an output format, you could just pipe the output to $GITHUB_STEP_SUMMARY

Standalone Github Action

Improve action.yml to fail the action if there are vulnerabilities.

Also determine additional requirements for a standalone Github action.

Installation failed under go1.19.2

$ go install github.com/google/osv-scanner/cmd/osv-scanner@v1

go: downloading github.com/google/osv-scanner v1.0.1
go: downloading github.com/jedib0t/go-pretty/v6 v6.4.3
go: downloading github.com/package-url/packageurl-go v0.1.0
go: downloading github.com/urfave/cli/v2 v2.23.7
go: downloading github.com/CycloneDX/cyclonedx-go v0.7.0
go: downloading golang.org/x/term v0.3.0
go: downloading github.com/spdx/tools-golang v0.3.0
go: downloading golang.org/x/exp v0.0.0-20221212164502-fae10dda9338
go: downloading golang.org/x/sys v0.3.0
go: downloading github.com/mattn/go-runewidth v0.0.13
go: downloading github.com/spdx/gordf v0.0.0-20201111095634-7098f93598fb
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.2
go: downloading github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673
go: downloading github.com/russross/blackfriday/v2 v2.1.0
# internal/unsafeheader
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/itoa
compile: version "go1.19" does not match go tool version "go1.19.2"
# unicode/utf8
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/goarch
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/goos
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/race
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/goexperiment
compile: version "go1.19" does not match go tool version "go1.19.2"
# math/bits
compile: version "go1.19" does not match go tool version "go1.19.2"
# encoding
compile: version "go1.19" does not match go tool version "go1.19.2"
# unicode/utf16
compile: version "go1.19" does not match go tool version "go1.19.2"
# container/list
compile: version "go1.19" does not match go tool version "go1.19.2"
# crypto/internal/subtle
compile: version "go1.19" does not match go tool version "go1.19.2"
# unicode
compile: version "go1.19" does not match go tool version "go1.19.2"
# crypto/subtle
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/nettrace
compile: version "go1.19" does not match go tool version "go1.19.2"
# vendor/golang.org/x/crypto/cryptobyte/asn1
compile: version "go1.19" does not match go tool version "go1.19.2"
# vendor/golang.org/x/crypto/internal/subtle
compile: version "go1.19" does not match go tool version "go1.19.2"
# golang.org/x/exp/maps
compile: version "go1.19" does not match go tool version "go1.19.2"
# sync/atomic
compile: version "go1.19" does not match go tool version "go1.19.2"
# golang.org/x/exp/constraints
compile: version "go1.19" does not match go tool version "go1.19.2"
# internal/cpu
compile: version "go1.19" does not match go tool version "go1.19.2"
# github.com/spdx/tools-golang/spdx
compile: version "go1.19" does not match go tool version "go1.19.2"
# crypto/internal/boring/sig
compile: version "go1.19" does not match go tool version "go1.19.2"

severity levels in result

It would be great if there were some severity levels so we could prioritize the fixes.
for example critical high medium low

Add CONTRIBUTING.md

I think we're long overdue on a CONTRIBUTING.md file :)

We can likely move a lot of things from the main README.md there too.

too many open files

sharing because it may warrant a mention in the readme or other response

despite increasing ulimit repeatedly there keeps a 'too many open files' happening when scanning the /home folder

ulimit was 1024
ulimit is now 4096

once 'ulimit -n' is over 3072 there are no immediate messages on 'too many open files'

Improve container scanning.

Currently the focus of OSV-Scanner is on lockfiles, with preliminary support for Debian container scanning.

We will extend this to better container scanning as well:

  • Better package extraction from container images .
  • Filesystem scanning.
  • More distro support.

Generating VEX statements

Automatically generate VEX statements based on call graph analysis or ignored vulnerabilities set in the scanner config.

osv-scanner: Callgraph analysis to help prioritize matched vulnerabilities

Meta-issue to track the feature of doing callgraph analysis as part of vulnerability scanning to help reduce false positives (or at least help prioritize vulnerabilities). Vulnerability databases are starting to include metadata about which functions need to be called to actually be considered vulnerable (GHSA, Go at the very least).

Related idea from @jonathanmetzman: We can even go further with this analysis: We can completely disable the vulnerable code path to completely remove any possibly of the vulnerability being reached.

Current open issues:

Bazel support

Feature request to add support for scanning dependencies from bazel definitions. This is similar to dependabot/dependabot-core#2196. It'd make it a lot easier rather than bazel-generating POMs for osv-scanner to scan.

Add exploitability information

In case this information is available, it will be great to add exploitability information, for example:

  • Not Defined
  • Proof of Concept
  • Unproven
  • In the wild
    etc
    This information could be very helpful in vulnerability management process

Enabling the JSON report should not disable the CLI report

Currently, if you wish to generate the JSON report, the CLI report will be disabled, and there is no way to re-enable it without disabling the JSON report.

The CLI report can be useful for debugging any issues with the JSON report not being properly ingested by the CI/CD server.

It would be great to have the possibility to specify which report you wish to have enabled.

osv-scanner exit with 0 event with vulnerabilities

$ ./osv-scanner package-lock.json; echo $?
Scanning dir package-lock.json
Scanned /[redacted]/package-lock.json file and found 2257 packages
╭─────────────────────────┬───────────┬──────────────────────┬─────────┬───────────────────────────────────────────────────╮
│ SOURCE                  │ ECOSYSTEM │ AFFECTED PACKAGE     │ VERSION │ OSV URL (ID IN BOLD)                              │
├─────────────────────────┼───────────┼──────────────────────┼─────────┼───────────────────────────────────────────────────┤
│ package-lock.json       │ npm       │ decode-uri-component │ 0.2.0   │ https://osv.dev/vulnerability/GHSA-w573-4hg7-7wgq │
╰─────────────────────────┴───────────┴──────────────────────┴─────────┴───────────────────────────────────────────────────╯
0

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • fix(deps): update osv-scanner minor (golang.org/x/exp, google.golang.org/protobuf)
  • chore(deps): lock file maintenance

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

bundler
docs/Gemfile
  • github-pages "~> 231"
  • jekyll-feed "~> 0.15"
  • tzinfo ">= 1", "< 3"
  • wdm "~> 0.1.1"
  • http_parser.rb "~> 0.8.0"
  • webrick "~> 1.7"
dockerfile
Dockerfile
  • golang 1.21-alpine3.19@sha256:b3aea8df13191dab7d2e44a7fbc51d7b09bb796547127da8d74cfb81e5d65923
  • alpine 3.19@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
action.dockerfile
  • golang 1.21-alpine3.19@sha256:b3aea8df13191dab7d2e44a7fbc51d7b09bb796547127da8d74cfb81e5d65923
  • alpine 3.19@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
goreleaser-action.dockerfile
  • alpine 3.19@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
goreleaser.dockerfile
  • alpine 3.19@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
github-actions
.github/workflows/checks.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/download-artifact v4.1.7@65a9edc5881444af0b9093a5e628f2fe47ea3b2e
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
.github/workflows/codeql-analysis.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
.github/workflows/goreleaser.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
  • docker/setup-qemu-action v3@68827325e0b33c7199eb31dd4e31fbe9023e06e3
  • docker/setup-buildx-action v3@d70bba72b1f3fd22344832f00baa16ece964efeb
  • docker/login-action v3@e92390c5fb421da1463c202d546fed0ec5c39f20
  • goreleaser/goreleaser-action v5.0.0@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8
  • slsa-framework/slsa-github-generator v1.10.0
.github/workflows/link-check-on-push.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • gaurav-nelson/github-action-markdown-link-check 25b2c436c653f0d4500d3c2df86e5c14e71e44e1
.github/workflows/link-check.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • gaurav-nelson/github-action-markdown-link-check 25b2c436c653f0d4500d3c2df86e5c14e71e44e1
.github/workflows/lint-action/action.yml
  • golangci/golangci-lint-action v5.3.0@38e1018663fa5173f3968ea0777460d3de38f256
.github/workflows/osv-scanner-reusable-pr.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
.github/workflows/osv-scanner-reusable.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/download-artifact v4.1.7@65a9edc5881444af0b9093a5e628f2fe47ea3b2e
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
.github/workflows/osv-scanner-unified-action.yml
.github/workflows/prerelease-check.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • actions/download-artifact v4.1.7@65a9edc5881444af0b9093a5e628f2fe47ea3b2e
  • actions/setup-go v5.0.1@cdcb36043654635271a94b9a6d1392de5bb323a7
.github/workflows/scorecards.yml
  • actions/checkout v4.1.4@0ad4b8fadaa221de15dcec353f45205ec38ea70b
  • ossf/scorecard-action v2.3.1@0864cf19026789058feabb7e87baa5f140aac736
  • actions/upload-artifact v4.3.3@65462800fd760344b1a7b4382951275a0abb4808
  • github/codeql-action v3.25.3@d39d31e687223d841ef683f52467bd88e9b21c14
.github/workflows/test-action/action.yml
  • codecov/codecov-action v4.3.1@5ecb98a3c6b747ed38dc09f787459979aebb39be
gomod
go.mod
  • deps.dev/api/v3 v3.0.0-20240503042720-6166138ce783@6166138ce783
  • deps.dev/util/maven v0.0.0-20240503042720-6166138ce783@6166138ce783
  • deps.dev/util/resolve v0.0.0-20240503042720-6166138ce783@6166138ce783
  • deps.dev/util/semver v0.0.0-20240503042720-6166138ce783@6166138ce783
  • github.com/BurntSushi/toml v1.3.2
  • github.com/CycloneDX/cyclonedx-go v0.8.0
  • github.com/charmbracelet/bubbles v0.18.0
  • github.com/charmbracelet/bubbletea v0.26.1
  • github.com/charmbracelet/glamour v0.7.0
  • github.com/charmbracelet/lipgloss v0.10.0
  • github.com/dghubble/trie v0.1.0
  • github.com/gkampitakis/go-snaps v0.5.4
  • github.com/go-git/go-billy/v5 v5.5.0
  • github.com/go-git/go-git/v5 v5.12.0
  • github.com/google/go-cmp v0.6.0
  • github.com/google/go-containerregistry v0.19.1
  • github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465@bd984b5ce465
  • github.com/jedib0t/go-pretty/v6 v6.5.9
  • github.com/muesli/reflow v0.3.0
  • github.com/owenrumney/go-sarif/v2 v2.3.1
  • github.com/package-url/packageurl-go v0.1.2
  • github.com/pandatix/go-cvss v0.6.2
  • github.com/spdx/tools-golang v0.5.4
  • github.com/tidwall/gjson v1.17.1
  • github.com/tidwall/pretty v1.2.1
  • github.com/tidwall/sjson v1.2.5
  • github.com/urfave/cli/v2 v2.27.2
  • golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f@fe59bbe5cc7f
  • golang.org/x/mod v0.17.0
  • golang.org/x/sync v0.7.0
  • golang.org/x/term v0.20.0
  • google.golang.org/grpc v1.63.2
  • google.golang.org/protobuf v1.34.0
  • gopkg.in/ini.v1 v1.67.0
  • gopkg.in/yaml.v3 v3.0.1

  • Check this box to trigger a request for Renovate to run again on this repository

Allow lockfile to be read from STDIN

It would be helpful to read the lockfile from STDIN. For the Python use case, that would enable something like this:

python -m pip freeze -r requirements.txt | osv-scanner -L -

By allowing pip to identify the transitive dependencies, I get a more complete scan.

I would expect that this enhancement would be stuck behind #94, as STDIN removes the naming hints for the lockfile type.

No clear error message when scanning Docker container

I've found three situations in which the following message is provided when running osv-scanner --docker someimage:

Scanned docker image with 0 packages
No package sources found, --help for usage information.

These situations are:

  • the image name is incorrect
  • the image is in a private registry that requires authentication
  • the Docker client is installed, but the Docker daemon is not running

I would have expected an unambiguous error message to help with troubleshooting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.