CSAF(3pm)

πŸ“¦
version 0.26 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– CSAF β€” bestie edition πŸ’–

okay so this is the Perl manual page for CSAF, aka the Common Security Advisory Framework, living in the User Contributed Perl Documentation section (that's the 3pm part, iykyk). Buckle up, we're building security advisories and it's gonna be iconic.


✨ NAME ✨

CSAF β€” Common Security Advisory Framework πŸŽ€


🌸 SYNOPSIS 🌸

no thoughts, just vibes, and also this exact code:

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. yes bestie, inheritance, we love her.

  • document β€” returns CSAF::Type::Document.
  • product_tree β€” returns CSAF::Type::ProductTree.
  • vulnerabilities β€” returns CSAF::Type::Vulnerabilities.

🌈 HELPERS 🌈

  • TO_JSON
  • builder β€” returns CSAF::Builder.
  • render β€” alias for "renderer->render($format)". ✨
my $doc = $csaf->render('html');
  • renderer β€” returns CSAF::Renderer. πŸ’–
my $doc = $csaf->renderer->render('html');
  • validate β€” alias for "validator->validate".
  • validator β€” returns CSAF::Validator.
  • from_string β€” parse a CSAF document string and return CSAF.
  • from_file β€” parse a CSAF document file and return CSAF.
  • to_string β€” render a CSAF document. 🫢
my $json = $csaf->to_string;
  • writer β€” returns 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. fr fr, you get updates, no ghosting.

πŸ“¦ 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>

This software is copyright (c) 2023-2025 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. πŸ’–


okay bestie that's the whole page, every last flag and URL accounted for, nothing skipped, periodt. πŸ’…

this was perl v5.40.1, dated 2025-09-03, and yes it's still CSAF(3pm) β€” mwah, go build something cute πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from