NAME

CSAF - Common Security Advisory Framework

SYNOPSIS

use CSAF;

my $csaf = CSAF->new;

$csaf->document->title('Base CSAF Document');
$csaf->document->category('csaf_security_advisory');
$csaf->document->publisher(
    category  => 'vendor',
    name      => 'CSAF',
    namespace => 'https://csaf.io'
);

my $tracking = $csaf->document->tracking(
    id                   => 'CSAF:2024-001',
    status               => 'final',
    version              => '1.0.0',
    initial_release_date => 'now',
    current_release_date => 'now'
);

$tracking->revision_history->add(
    date    => 'now',
    summary => 'First release',
    number  => '1'
);

my @errors = $csaf->validate;

if (@errors) {
    say $_ for (@errors);
    Carp::croak "Validation errors";
}

# Save CSAF documents using the 
$csaf->writer(directory => '/var/www/html/csaf')->write;

DESCRIPTION

The Common Security Advisory Framework (CSAF) Version 2.0 is the definitive reference for the language which supports creation, update, and interoperable exchange of security advisories as structured information on products, vulnerabilities and the status of impact and remediation among interested parties.

https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html

CSAF PROPERTIES

These properties are inherited from CSAF::Document.

document

Return CSAF::Type::Document.

product_tree

Return CSAF::Type::ProductTree.

vulnerabilities

Return CSAF::Type::Vulnerabilities.

HELPERS

TO_JSON
builder

Return CSAF::Builder.

render

Alias for renderer->render($format).

my $doc = $csaf->render('html');
renderer

Return CSAF::Renderer.

my $doc = $csaf->renderer->render('html');
validate

Alias for validator->validate.

validator

Return CSAF::Validator.

from_string

Parse CSAF document string and return CSAF.

from_file

Parse CSAF document file and return CSAF.

to_string

Render CSAF document.

my $json = $csaf->to_string;
writer

Return CSAF::Writer.

SUPPORT

Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at https://github.com/giterlizzi/perl-CSAF/issues. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

https://github.com/giterlizzi/perl-CSAF

git clone https://github.com/giterlizzi/perl-CSAF.git

AUTHOR

  • Giuseppe Di Terlizzi <gdt@cpan.org>

LICENSE AND COPYRIGHT

This software is copyright (c) 2023-2024 by Giuseppe Di Terlizzi.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.