GithubHelp home page GithubHelp logo

gradle-osv-scanner-plugin's People

Contributors

boxheed avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

gradle-osv-scanner-plugin's Issues

Should support failing on maximum number of vulnerabilities

Currently the task fails based on the output from osv-scanner. It should be possible to define a measure that will define whether a build fails or not. This could include the following but may not be limited to:

  • The number of vulnerabilities
  • The severity of the vulnerabilities

Should support using the OSV API

osv-scanner depends on a gradle lock file, not all projects are configured to generate such a file. It could be possible to obtain the resolved dependencies without a lock file and use that to call the osv api directly.

Docs: Add gradlePluginPortal() to pluginManagement

Just had a little trouble with getting to start using the plugin.

Suggest to add gradlePlguinPortal() into pluginManagement inside settings.gradle.kts

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

Thereafter in build.gradle.kts we can add the plugin:

plugins {
    id("com.fizzpod.osv-scanner") version "3.0.7"
}

The other suggested repositories to add didn't work or not clear enough where to put it. Resulting in errors like:
Could not find com.fizzpod:gradle-osv-scanner-plugin

Support SBOM mode

osv-scanner supports specifying an SBOM file with the --sbom command line parameter. The plugin should support that as a mode

Support lockfile mode

osv-scanner supports specifying the lock files on the commandline, its should be possible to support --lockfile as a mode

Caching of the osv-scanner binaries

The plugin should re-use the osv-scanner that it has already downloaded.

Behaviour

  • The plugin should track the binaries it has downloaded
  • If 'latest' is specified it should have a ttl for the binary before updating it

Considerations

  • The binaries should live in versioned subfolders probably bin/<version>/osv-scanner
  • The latest folder should have a marker file specifying the version number of the latest bin/latest/version.txt to point to the specific binary
  • The TTL should be based on the date of the marker file
  • The TTL should be configurable but default to 24 hours
  • If the version hasn't changed then it shouldn't re-download
  • Consider whether the binaries be cached in the build directory or in a .osv-scanner directory in the project root
  • Allow the cache directory to be configurable

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.