App-CPAN-SBOM
view release on metacpan or search on metacpan
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
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 )