diff --git a/docker/glue/Dockerfile b/docker/glue/Dockerfile index 027393f..db6917b 100644 --- a/docker/glue/Dockerfile +++ b/docker/glue/Dockerfile @@ -71,6 +71,10 @@ WORKDIR /home/glue/tools/ RUN curl -L http://dl.bintray.com/jeremy-long/owasp/dependency-check-1.4.3-release.zip --output owasp-dep-check.zip RUN unzip owasp-dep-check.zip +# PostgreSQL JDBC Plugin (for external database) +# +RUN curl -L https://jdbc.postgresql.org/download/postgresql-42.2.5.jar --output /home/glue/tools/dependency-check/plugins/postgresql.jar + # Maven RUN sudo apt-get install -y maven diff --git a/lib/glue/options.rb b/lib/glue/options.rb index eae0338..fd9f605 100644 --- a/lib/glue/options.rb +++ b/lib/glue/options.rb @@ -258,6 +258,25 @@ def get_options args, destructive = false options[:owasp_dep_check_suppression] = path end + opts.on "--owasp-db-driver-name NAME", "The Java class name for the OWASP Dependency Check external database driver" do |driver_name| + Glue.debug "Setting OWASP DB Driver name to #{driver_name}" + options[:owasp_dep_check_db_driver_name] = driver_name + end + + opts.on "--owasp-db-connection-string URL", "The connection string for the OWASP Dependency Check external database" do |db_conn_string| + Glue.debug "Setting OWASP DB connection string to #{db_conn_string}" + options[:owasp_dep_check_db_conn_string] = db_conn_string + end + + opts.on "--owasp-db-user USER", "The user for the OWASP Dependency Check external database" do |db_user| + Glue.debug "Setting OWASP DB user to #{db_user}" + options[:owasp_dep_check_db_user] = db_user + end + + opts.on "--owasp-db-password PASSWORD", "The password for the OWASP Dependency Check external database" do |db_password| + options[:owasp_dep_check_db_pass] = db_password + end + opts.on "--sbt-path PATH", "The full path to sbt (optional)" do |path| options[:sbt_path] = path end diff --git a/lib/glue/tasks/owasp-dep-check.rb b/lib/glue/tasks/owasp-dep-check.rb index 5960b8e..68646eb 100644 --- a/lib/glue/tasks/owasp-dep-check.rb +++ b/lib/glue/tasks/owasp-dep-check.rb @@ -128,6 +128,22 @@ def run run_args << [ "--suppression", "#{@tracker.options[:owasp_dep_check_suppression]}" ] end + if @tracker.options[:owasp_dep_check_db_driver_name] + run_args << [ "--dbDriverName", "#{@tracker.options[:owasp_dep_check_db_driver_name]}" ] + end + + if @tracker.options[:owasp_dep_check_db_conn_string] + run_args << [ "--connectionString", "#{@tracker.options[:owasp_dep_check_db_conn_string]}" ] + end + + if @tracker.options[:owasp_dep_check_db_user] + run_args << [ "--dbUser", "#{@tracker.options[:owasp_dep_check_db_user]}" ] + end + + if @tracker.options[:owasp_dep_check_db_pass] + run_args << [ "--dbPassword", "#{@tracker.options[:owasp_dep_check_db_pass]}" ] + end + run_args << [ "-out", "#{rootpath}", "-s", "#{rootpath}" ] unless @scala_project || @gradle_project || @maven_project initial_dir = Dir.pwd