dependency-check / dependency-check/DependencyCheck
DependencyCheck fails to invoke bundle audit correctly in zip archive
- Dominant language
- Java
- Stars
- 7.7k
- Forks
- 1.4k
- Avg merge
- 9d 22h
- Merged PRs (30d)
- 13
Description
**Describe the bug**
DependencyCheck does not correctly invoke "bundle audit" when zip archives are processed that contain Gemfile.lock-files. The problem can be reproduced with the zipped src for jruby.
I am not sure why this problem occurs with jruby since DependencyCheck was able to invoke bundle audit correctly in jar-files that contained Gemfiles.
When I unzip the src for jruby and run "bundle audit" in the folders with the Gemfiles, "bundle audit" works as expected. Thus I believe it is a bug in DependencyCheck that needs to be addressed.
**Version of dependency-check used**
cli 7.1.1
**Log file**
```
./dependency-check.sh -s ../../jruby-dist-9.3.6.0-src.zip
[INFO] Checking for updates
[INFO] Skipping NVD check since last check was within 4 hours.
[INFO] Skipping RetireJS update since last update was within 24 hours.
[INFO] Check for updates complete (12 ms)
[INFO]
Dependency-Check is an open source tool performing a best effort analysis of 3rd party dependencies; false positives and false negatives may exist in the analysis performed by the tool. Use of the tool and the reporting provided constitutes acceptance for use in an AS IS condition, and there are NO warranties, implied or otherwise, with regard to the analysis or its use. Any use of the tool and the reporting provided is at the user’s risk. In no event shall the copyright holder or OWASP be held liable for any damages whatsoever arising out of or in connection with the use of this tool, the analysis performed, or the resulting report.
About ODC: https://jeremylong.github.io/DependencyCheck/general/internals.html
False Positives: https://jeremylong.github.io/DependencyCheck/general/suppression.html
💖 Sponsor: https://github.com/sponsors/jeremylong
[INFO] Analysis Started
[INFO] Finished Archive Analyzer (0 seconds)
[INFO] Launching: [bundle-audit, version] from /tmp/dctemp276b541e-da3a-4d57-b065-676ec7231469
[WARN] Warnings from bundle-audit
[INFO] Ruby Bundle Audit Analyzer is enabled and is using bundle-audit with version details: bundler-audit 0.9.1
. Note: It is necessary to manually run "bundle-audit update" occasionally to keep its database up to date.
[INFO] Launching: [bundle-audit, check, --verbose] from /tmp/dctemp276b541e-da3a-4d57-b065-676ec7231469/check3194796851260356828tmp/1/jruby-9.3.6.0/maven/jruby-complete/src/it/runnable
[INFO] Launching: [bundle-audit, check, --verbose] from /tmp/dctemp276b541e-da3a-4d57-b065-676ec7231469/check3194796851260356828tmp/1/jruby-9.3.6.0/maven/jruby/src/templates/hellowarld
[INFO] Launching: [bundle-audit, check, --verbose] from /tmp/dctemp276b541e-da3a-4d57-b065-676ec7231469/check3194796851260356828tmp/1/jruby-9.3.6.0/spec/mspec
[WARN] Warnings from bundle-audit /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:301:in `rescue in root': Could not locate Gemfile or .bundle/ directory (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:297:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
/var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/shared_helpers.rb:15:in `root': Could not locate Gemfile (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:298:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
[WARN] Warnings from bundle-audit /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:301:in `rescue in root': Could not locate Gemfile or .bundle/ directory (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:297:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
/var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/shared_helpers.rb:15:in `root': Could not locate Gemfile (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:298:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
[WARN] Warnings from bundle-audit /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:301:in `rescue in root': Could not locate Gemfile or .bundle/ directory (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:297:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
/var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/shared_helpers.rb:15:in `root': Could not locate Gemfile (Bundler::GemfileNotFound)
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:298:in `root'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler.rb:321:in `app_cache'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:513:in `cache_path'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:24:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `new'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/source/rubygems.rb:90:in `from_lock'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:117:in `parse_source'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:86:in `block in initialize'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `each'
from /var/lib/gems/2.7.0/gems/bundler-2.3.17/lib/bundler/lockfile_parser.rb:71:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/scanner.rb:87:in `initialize'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `new'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/lib/bundler/audit/cli.rb:70:in `check'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
from /var/lib/gems/2.7.0/gems/bundler-audit-0.9.1/bin/bundle-audit:10:in `'
from /usr/local/bin/bundle-audit:23:in `load'
from /usr/local/bin/bundle-audit:23:in `'
[INFO] Finished Ruby Bundle Audit Analyzer (0 seconds)
[INFO] Finished File Name Analyzer (0 seconds)
[INFO] Finished Jar Analyzer (0 seconds)
[INFO] Finished Central Analyzer (0 seconds)
[ERROR] ----------------------------------------------------
[ERROR] .NET Assembly Analyzer could not be initialized and at least one 'exe' or 'dll' was scanned. The 'dotnet' executable could not be found on the path; either disable the Assembly Analyzer or add the path to dotnet core in the configuration.
[ERROR] ----------------------------------------------------
[INFO] Finished Dependency Merging Analyzer (0 seconds)
[INFO] Finished Version Filter Analyzer (0 seconds)
[INFO] Finished Hint Analyzer (0 seconds)
[INFO] Created CPE Index (1 seconds)
[INFO] Finished CPE Analyzer (1 seconds)
[INFO] Finished False Positive Analyzer (0 seconds)
[INFO] Finished NVD CVE Analyzer (0 seconds)
[INFO] Finished RetireJS Analyzer (0 seconds)
[INFO] Finished Sonatype OSS Index Analyzer (0 seconds)
[INFO] Finished Vulnerability Suppression Analyzer (0 seconds)
[INFO] Finished Dependency Bundling Analyzer (0 seconds)
[INFO] Analysis Complete (2 seconds)
[INFO] Writing report to: /srv/jenkins/tmp/dependency-check/bin/./dependency-check-report.html
```
**To Reproduce**
Steps to reproduce the behavior:
1. Download the zipped source of the latest JRuby version (tested with jruby-dist-9.3.6.0-src.zip) from https://www.jruby.org/download
2. Scan the zip with dependency-check
**Expected behavior**
DependencyCheck is able to to process Gemfiles in zipped archives.
**Additional context**
Contributor guide
Assessment
This issue has not been assessed yet.