App-CPAN-SBOM

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

      specification version (default: 1.5)
    - Switched to upcoming CPAN PURL type
    - Fixed incompatibility with SBOM::CycloneDX v1.08 (giterlizzi/perl-App-CPAN-SBOM#9)

1.03 2025-08-11
    - Added "DTRACK_*" env variables for CI/CD
    - Improved BOM generation

1.02 2025-06-05
    - Added support for projects that use "cpanfile.snapshot" or "cpanfile"
    - Added support for uploading BOM files to OWASP Dependency Track

1.01 2025-03-14
    - Added CPAN::Audit for populate vulnerabilities

1.00 2025-03-10
    - First release of App::CPAN::SBOM

README.md  view on Meta::CPAN

Create SBOM from your project directory:

$ cpan-sbom \
    --project-directory . \
    --project-name "My Cool Application" \
    --project-type application \
    --project-version 1.337 \
    --project-license Artistic-2.0
    --project-author "Larry Wall <larry@wall.org>"

Create SBOM file and upload to OWASP Dependency Track:

$ cpan-sbom \
  --meta META.json \
  --server-url https://dtrack.example.com \
  --api-key DTRAC-API-KEY \
  --project-id DTRACK-PROJECT-ID
```

## Install

bin/cpan-sbom  view on Meta::CPAN

    Create SBOM from your project directory:

    $ cpan-sbom \
        --project-directory . \
        --project-name "My Cool Application" \
        --project-type application \
        --project-version 1.337 \
        --project-license Artistic-2.0
        --project-author "Larry Wall <larry@wall.org>"

    Create SBOM file and upload to OWASP Dependency Track:

    $ cpan-sbom \
      --meta META.json \
      --server-url https://dtrack.example.com \
      --api-key DTRAC-API-KEY \
      --project-id DTRACK-PROJECT-ID


=head1 SEE ALSO

lib/App/CPAN/SBOM.pm  view on Meta::CPAN

    );

    say STDERR "Upload BOM in OSWASP Dependency Track ($server_url)";

    my $response = $ua->put($server_url, {content => encode_json($bom_payload)});

    DEBUG and say STDERR "-- Response <-- " . Dumper($response);

    unless ($response->{success}) {
        return cli_error(sprintf(
            'Failed to upload BOM file to OWASP Dependency Track: (%s) %s - %s',
            $response->{status}, $response->{reason}, $response->{content}
        ));
    }

}

1;

__END__



( run in 2.719 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )