Skip to content
Testaroo
yaml1.2 KB

Vulnerability Suppression Policy (YAML)

A suppression policy that gives every waiver an owner, a reason and an expiry date: the fields that stop a suppression file becoming a permanent blindfold. All four entries are SAMPLE. Advisory identifiers use the invented NOVUS-SAMPLE namespace with SAMPLE-CVE aliases; no identifier here refers to a published CVE, GHSA or OSV record, and no package named exists.

Preview, first 35 linesyaml
# Advisory identifiers use the invented NOVUS-SAMPLE namespace with SAMPLE-CVE aliases; no identifier here refers to a published CVE, GHSA or OSV record, and no package named exists.

version: 1
policy: sample-suppressions
expiresAfterDays: 90
suppressions:
  - id: NOVUS-SAMPLE-2026-0001
    package: example-logger
    version: 3.4.1
    reason: triage-in-progress
    approvedBy: sample-security-team@orchard.example
    expires: 2026-04-01
    note: "SAMPLE suppression. Upgrade path is 3.5.0."
  - id: NOVUS-SAMPLE-2026-0002
    package: example-cache
    version: 0.9.2
    reason: not-reachable
    approvedBy: sample-security-team@orchard.example
    expires: 2026-04-01
    note: "SAMPLE suppression. Upgrade path is 0.9.5."
  - id: NOVUS-SAMPLE-2026-0003
    package: example-yaml-lite
    version: 1.1.7
    reason: fixed-in-next-release
    approvedBy: sample-security-team@orchard.example
    expires: 2026-04-01
    note: "SAMPLE suppression. Upgrade path is 1.2.0."
  - id: NOVUS-SAMPLE-2026-0004
    package: example-json-path
    version: 2.0.5
    reason: accepted-risk
    approvedBy: sample-security-team@orchard.example
    expires: 2026-04-01
    note: "SAMPLE suppression. Upgrade path is 2.1.0."

Specifications

Seed
51200
Sample Only
true
Format
YAML
Suppressions
4
Expiry Policy Days
90
Requires Approver
true
Line Endings
LF

Testing contract

Expected to pass
Scenario
Enforce that no suppression is open-ended.
Expected result
Policy checker accepts all four entries today and flags every one of them as expired when evaluated after 2026-04-01.

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“Vulnerability Suppression Policy (YAML)” is a deterministic Testaroo fixture for Config parsing, Config testing, Schema validation. TOML and INI configuration files with nested sections and typed values, for testing config parsers and loaders.

Documented properties for this file: seed 51200 · LF · YAML. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

SBOM, lockfile, provenance, and advisory fixtures describe the same fabricated component tree across formats, so a converter or scanner can be diffed against a known answer. Every package name, version, hash, and advisory ID is invented, never treat a finding here as real.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("suppressions.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/supply_chain.py. Free for any use, no attribution required, license.