Skip to main content

Improved client for OWASP DependencyTrack usage in CI CD.

Project description

Scorecard supply-chain security OpenSSF Scorecard

DTrackAuditor

DTrackAuditor is the python script to ease usage of DependencyTrack in the CI, optionally failing the build based on different parameters.

Development and Tests

  • python 3.11.8
  • DependencyTrack 4.10

Features

  1. Auto mode for project creation given project name and version. Creates new project with version if already not found.
  2. Auto mode useful for CI pipeline.
  3. Optional filename path. Default is bom.xml
  4. Filter based on severity type (critical, high, medium, low, unassigned) and numbers, e.g.: if number of critical is higher or equal to 10.
  5. Check policy violations and fail if any found.
  6. Return 0 or 1 exit status for Auto mode.

Recommended usage

  • For the latest update use clone this repo and use it as your preference.

Quick Install

  • Pypi
thinksabin@DESKTOP:~$ pip install dtrack-auditor
thinksabin@DESKTOP:~$ dtrackauditor
  • Docker image
docker pull thinksabin/dtrackauditor:latest
  • Git
git clone https://github.com/thinksabin/DTrackAuditor.git

Usage

Basic Usage

  • As a script:
python3 dtrackauditor.py \
    -u 'http://mydtrack.local:8080' \
    -k 'mydtrackapikey' \
    -p myweb -v 1.0.0 \
    -f myweb/target/bom.xml \
    -a
(.venv) PS C:\Users\dells\OneDrive\Documents\GitHub\DTrackAuditor\dtrackauditor> ..\.venv\Scripts\python.exe .\dtrackauditor.py -a -u 'http://mydtrack.local:8080' -k 'mydtrackapikey' -p ddweb -v 1.0.0 -f .\test\bom.xml --wait

If environment variable for DTRACK_SERVER and DTRACK_API_KEY are present then the usage can be direct:

python3 dtrackauditor.py  -p myweb -v 1.0.0 -a

If your DependencyTrack server is exposed through an HTTPS listener (e.g. using an nginx or apache web-server as a reverse proxy for the UI and API servers), and if this setup uses self-signed certificates or those issued by a private (corporate) Certificate Authority, you may benefit from passing a path to PEM file with the trust chain using DTRACK_SERVER_CERTCHAIN environment variable or the -C/--certchain command-line argument. Such argument may also be none to trust any HTTPS server blindly.

  • As a Docker container:
docker run --rm -v $PWD:/tmp \
    thinksabin/dtrackauditor -- \
    required parameters as examples

Vulnerability Rules

Auto mode for CI/CD with support for rules.

python3 dtrackauditor.py \
    -u http://mydtrack.local:8080 \
    -k mydtrackapikey \
    -p hello \
    -v 8.0.0 \
    -a \
    -r critical:1:true,high:2:true,medium:10:true,low:10:false

The rules are a list of:

<severity>:<count>:<action>

Where:

  • severity: Either critical, high, medium, low, or unassigned
  • count: If the count of the issues for the severity is greater or equal, trigger action
  • action: true to fail the test, false to just display a warning (default is true)

Policy Violations

DtrackAuditor return with code 1 (fails the test) in case any Policy Violations detected. This feature is not configurable and cannot be disabled using command line options.

For enhancement

Please create issues for bug reports and suggestions. Thanks.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dtrack_auditor-1.5.0.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dtrack_auditor-1.5.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file dtrack_auditor-1.5.0.tar.gz.

File metadata

  • Download URL: dtrack_auditor-1.5.0.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for dtrack_auditor-1.5.0.tar.gz
Algorithm Hash digest
SHA256 33bc43c83a47043c96df2d329137b8faabcecb491ffaee377a3cc8c55091987f
MD5 9a45f2d09ab80153c182d56a58b5a7a7
BLAKE2b-256 c70fbd0bc6ecf77b002c5af174c82d74c2d6b1adb19f883399f2cbf6576bd582

See more details on using hashes here.

File details

Details for the file dtrack_auditor-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: dtrack_auditor-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for dtrack_auditor-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f46604d63ab0ff06d0b3778988cf60313512f05602509d7b61ba656f42c09275
MD5 aca1ffb8a9459862ef9afb50aeee58d4
BLAKE2b-256 b30f9fffcb3fd5dc22532244ccacb8e3b51bfabf4d480c1acd58932e2fe4e91a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page