CSAF-ROLIE(1p)

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

πŸ‘‘ CSAF-ROLIE πŸ‘‘

okay bestie, gather round, because this one is so good. this is the manual page for csaf-rolie, and it lives in the User Contributed Perl Documentation section of the manual (that's the 1p vibe, iykyk). she builds ROLIE feeds. she's iconic. let's go πŸ’…


✨ NAME ✨

csaf-rolie β€” build a ROLIE (Resource-Oriented Lightweight Information Exchange) feed. periodt. πŸŽ€


🌸 SYNOPSIS 🌸

csaf-rolie --csaf DIRECTORY [--tlp-label STRING|--feed-id STRING|--feed-title STRING|--base-url URL|--output PATH]
csaf-rolie [--help|--man|-v]

Options:
  -c, --conf PATH     YAML config path
  -d, --csaf DIR      CSAF documents directory
      --output PATH   Feed output file path (default {csaf}/{feed-id}.json)
      --tlp-label     TLP (Traffic Light Protocol) label (default "WHITE")
      --base-url      Feed base URL (default "https://psirt.domain.tld/advisories/csaf")
      --feed-id       Feed ID (default "csaf-feed-tlp-{tlp-label}")
      --feed-title    Feed title (default "CSAF feed (TLP:{tlp-label})")
      --stdout        Write ROLIE feed in STDOUT
      --verbose       Print verbose messages
      --test          Test the configuration and exit
      --help          Brief help message
      --man           Full documentation
  -v, --version       Print version

and here's the same energy, one bullet at a time, so your brain can actually hold it πŸ’–

  • -c, --conf PATH β€” the path to your YAML config, bestie πŸ“„
  • -d, --csaf DIR β€” the directory where your CSAF documents live πŸ“
  • --output PATH β€” where the feed file gets written (default is {csaf}/{feed-id}.json) ✨
  • --tlp-label β€” the TLP (Traffic Light Protocol) label (default "WHITE") 🚦
  • --base-url β€” the feed's base URL (default "https://psirt.domain.tld/advisories/csaf") πŸ”—
  • --feed-id β€” the feed ID (default "csaf-feed-tlp-{tlp-label}") πŸ†”
  • --feed-title β€” the feed title (default "CSAF feed (TLP:{tlp-label})") 🏷️
  • --stdout β€” writes the ROLIE feed straight to STDOUT πŸ–¨οΈ
  • --verbose β€” prints verbose messages so you can watch the whole thing happen πŸ—£οΈ
  • --test β€” tests the configuration and then dips out πŸ§ͺ
  • --help β€” a brief help message, for when you just need a lil hint πŸ™ˆ
  • --man β€” the full documentation, aka the whole lore πŸ“–
  • -v, --version β€” prints the version ⭐

πŸ¦‹ DESCRIPTION πŸ¦‹

so, csaf-rolie builds a ROLIE (Resource-Oriented Lightweight Information Exchange) feed using your CSAF documents. that's the whole job. she eats CSAF docs and serves a feed πŸ“

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

the Resource Oriented Lightweight Information Exchange (ROLIE for short, bestie) is a standard (RFC-8322) for exchanging security automation information between two machines, or between a machine and a human operator. machine to machine, machine to human, no cap 🀝

https://tools.ietf.org/html/rfc8322


πŸ’œ EXAMPLES πŸ’œ

🧚 Create a new ROLIE feed

$ csaf-rolie --csaf /var/www/html/advisories/csaf \
             --base-url https://security.acme.tld/advisories/csaf \
             --feed-title "ACME CSAF feed (TLP:WHITE)" \
             --verbose

CSAF directory : /var/www/html/advisories/csaf
TLP label      : WHITE
Base URL       : https://security.acme.tld/advisories/csaf
Feed ID        : csaf-feed-tlp-white
Feed title     : CSAF feed (TLP:WHITE)
Feed filename  : csaf-feed-tlp-white.json
Output file    : /var/www/html/advisories/csaf/csaf-feed-tlp-white.json

[*] Add ACMESA-2024:0001 in ROLIE feed
[*] Add ACMESA-2024:1337 in ROLIE feed

[...]

ROLIE feed saved in /var/www/html/advisories/csaf/csaf-feed-tlp-white.json

look at her go 😭 the little [*] Add ... lines are lowkey my favorite part. she's adding advisories one by one and telling you about it. main character energy fr fr πŸ’…

πŸŽ€ Create a new ROLIE feed using a config file

available config items, so you know exactly what you're working with:

  • csaf β€” CSAF documents directory
  • output β€” Feed output file path (default {csaf}/{feed-id}.json)
  • tlp-label β€” TLP (Traffic Light Protocol) label (default "WHITE")
  • base-url β€” Feed base URL (default "https://psirt.domain.tld/advisories/csaf")
  • feed-id β€” Feed ID (default "csaf-feed-tlp-{tlp-label}")
  • feed-title β€” Feed title (default "CSAF feed (TLP:{tlp-label})")

ROLIE config file (rolie.conf) looking like this:

---
csaf: /var/www/html/advisories/csaf
base_url: https://security.acme.tld/advisories/csaf
tlp_label: WHITE
feed_id: acme-csaf-feed-tlp-white
feed_title: ACME CSAF feed (TLP:WHITE)

then use rolie.conf with the csaf-rolie command like so:

$ csaf-rolie --config /etc/csaf/rolie.conf

and if you wanna schedule the refresh of the ROLIE feed in crontab (set it and forget it era πŸ•):

*/2 * * * * csaf-rolie --config /etc/csaf/rolie.conf 2> /dev/null

🌈 SEE ALSO 🌈

  • csaf-validator β€” her bestie 🫢

⭐ AUTHOR ⭐

Giuseppe Di Terlizzi https://metacpan.org/author/gdt β€” the icon, the legend πŸ‘‘


Copyright Β© 2023-2025 Giuseppe Di Terlizzi https://metacpan.org/author/gdt

you may use and distribute this module according to the same terms that Perl is distributed under. so, like, the Perl terms. no need to reinvent the license bestie, it's already cute πŸ“œ


and that's the whole page, angel πŸ¦‹

this was perl v5.40.1, dated 2025-09-03 β€” CSAF-ROLIE(1p), signing off πŸ’…βœ¨ mwah, go build a feed πŸŽ€
πŸ“¦ where this page comes from