Skip to content

Security timeline: advisory chart and table generated from data, refreshed weekly - #146

Merged
melvincarvalho merged 3 commits into
gh-pagesfrom
q/security-timeline
Oct 18, 2026
Merged

melvincarvalho merged 3 commits into
gh-pagesfrom
q/security-timeline

Conversation

@melvincarvalho

Copy link
Copy Markdown
Contributor

Quarter roadmap, item 3 (audit roadmap): the security page's numbers now come from data, so they no longer go stale.

  • Data: scripts/advisories.mjs --json writes static/data/openclaw-advisories.json (public advisory fields only). Today it has 722 advisories: 14 critical, 249 high, 390 medium, 69 low; 39 with a CVE; the latest published 2026-09-11.
  • Component src/components/AdvisoryTimeline.tsx, rendered into the static HTML:
    • an SVG chart of advisories per month, stacked by severity, readable in light and dark themes;
    • a table with a severity filter, search and sorting (CVSS shown under each severity);
    • a minimum-safe-version callout computed from the data.
  • Page: stays .md at the same URL. The prose is unchanged, and the hand-pasted numbers are replaced by the component. All 12 inbound anchors are kept.
  • Workflow: .github/workflows/advisories.yml runs weekly and on demand, regenerates the data, and opens a PR via peter-evans/create-pull-request@v8 when it changes. Changes to the date stamp alone are ignored.

The build passes, and the snippet gates report 0 failures.

Writes static/data/openclaw-advisories.json with public advisory fields
(GHSA/CVE IDs, severity, CVSS, summary, publish date, patched versions,
URL), one advisory per line.
AdvisoryTimeline component: stacked-by-severity monthly bar chart (SVG),
filterable and sortable advisory table, and a minimum-safe-version callout
computed from the highest patched versions. Replaces the hand-pasted
counts and critical table; prose sections and anchors are unchanged.
Also switches the page's titled admonition to :::danger[Title] so it
renders under future.v4.
Runs scripts/advisories.mjs --json with GITHUB_TOKEN and opens or updates
a PR via peter-evans/create-pull-request@v8 when an advisory changed.
Documented in scripts/README.md.
@melvincarvalho
melvincarvalho merged commit 5445a7e into gh-pages Oct 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant