# ============================================================================= # L1 RENDERING — CVE Dashboard issue carries aggregates only (R-VULN-05, R-VULN-07) # Spec: docs/17 "The triage bot". GIVEN a report fixture with hostile and distinctive strings, # WHEN the bot renders the dashboard issue, THEN no CVE id, package, image, workload, namespace or # other report string appears, the counts are exact, and a deliberately leaking body is caught. # # render-check.sh is a pure offline check; this Chainsaw Test wraps the SAME script. # ============================================================================= apiVersion: chainsaw.kyverno.io/v1alpha1 kind: Test metadata: name: vuln-triage-bot-dashboard-aggregates labels: conformance.home.k3s/R-VULN-05: "true" conformance.home.k3s/R-VULN-07: "true" annotations: conformance.home.k3s/requirements: "R-VULN-05,R-VULN-07" conformance.home.k3s/layer: "L1" conformance.home.k3s/safety-critical: "false" # The script under test lives in .gitea/workflows/, which requirement-scoped selection does # not attribute to R-VULN-*, so a change to it must still select this test. conformance.home.k3s/scope: "whole-repo" conformance.home.k3s/intent: >- A dashboard issue rendered from a fixture contains counts and timestamps only, never a CVE id, package, image or workload name. spec: steps: - name: render-and-assert-aggregates-only try: - script: content: bash ./render-check.sh