jfrog / jfrog/jfrog-cli-security

Support for Gradle dependency constraints in security scan

Open
#373 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Go
Stars
13
Forks
50
Avg merge
3d 48m
Merged PRs (30d)
26

Description

Currently gradle dependency constraints seems to be ignored by jf scan.

This means if we fix transitive dependency issues by defining relevant dependency constraints, the security scan continues to fail.
Honoring the dependency constraints would make the security scan much more convinient for our developers using gradle.

Describe alternatives you've considered
Instead of using dependency constraints it is currently only possible to overwrite versions of transient dependencies with direct dependencies. This is a bad solution as it creates a lot of direct dependencies which will never be directly used by the current application. Lateron it is hard to find which of those dependencies could be removed because they are obsolete.

Good Example

implementation 'com.jayway.jsonpath:json-path:2.7.0'
constraints {
	implementation('net.minidev:json-smart:2.4.11') {
		because 'previous versions have a security issue'
	}
}

Bad Alternative

implementation ('net.minidev:json-smart') {
	version {
		strictly '2.4.11'
	}
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files, tests, or entry points are named in the issue. Start by locating the Gradle dependency parsing and security-scan resolution paths, then add coverage for the shown dependency-constraint example; done means constrained transitive versions are honored and the scan no longer reports vulnerabilities fixed by those constraints.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.