Skip to content

giterlizzi/perl-CSAF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Release Actions Status License Starts Forks Issues Coverage Status

CSAF Perl Toolkit

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;

Command-Line Utility

  • csaf-downloader, Download CSAF documents
  • csaf-rolie, Create ROLIE feed
  • csaf-validator, Validate a CSAF document
  • csaf2html, Convert CSAF documents in HTML

Install

Using Makefile.PL:

To install CSAF distribution, run the following commands.

perl Makefile.PL
make
make test
make install

Using App::cpanminus:

cpanm CSAF

Documentation

Copyright

  • Copyright 2023-2024 © Giuseppe Di Terlizzi