diff --git a/assets/scss/_security.scss b/assets/scss/_security.scss new file mode 100644 index 00000000..c8b4951a --- /dev/null +++ b/assets/scss/_security.scss @@ -0,0 +1,49 @@ +/* security summary page */ + +.security-page { + margin-top: 4rem; + + @include media-breakpoint-down(sm) { + margin-top: 2rem; + } + + .security-card { + border: none; + border-radius: 0.75rem; + transition: transform 0.15s ease; + + &:hover { + transform: translateY(-2px); + } + + .security-icon { + font-size: 1.75rem; + color: $primary; + margin-bottom: 0.5rem; + } + + .security-value { + font-size: 2.5rem; + font-weight: 700; + color: $cozy-black; + line-height: 1.2; + } + + .security-label { + font-size: 0.95rem; + font-weight: 600; + color: $cozy-mid-gray; + text-transform: uppercase; + letter-spacing: 0.05em; + margin-top: 0.25rem; + } + } + + .table code { + color: $primary; + font-weight: 500; + background: rgba($primary, 0.06); + padding: 0.15rem 0.4rem; + border-radius: 0.25rem; + } +} diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 89999676..d8c357d4 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -162,4 +162,5 @@ a { @import "announcement-banner"; @import "tabs_alerts"; @import "override-docsy-tabs"; +@import "security"; @import "telemetry"; diff --git a/content/en/oss-health/security/_index.md b/content/en/oss-health/security/_index.md new file mode 100644 index 00000000..953a03d8 --- /dev/null +++ b/content/en/oss-health/security/_index.md @@ -0,0 +1,6 @@ +--- +title: Security Summary +description: Monthly public security summary for the Cozystack project +type: oss-health +layout: security +--- diff --git a/data/security/monthly.json b/data/security/monthly.json new file mode 100644 index 00000000..900a933b --- /dev/null +++ b/data/security/monthly.json @@ -0,0 +1,13 @@ +{ + "month": "", + "generated_at": "", + "new_count": 0, + "fixed": [], + "in_progress": [], + "accepted_risk": [], + "stats": { + "total_tracked": 0, + "total_triaged": 0, + "false_positives": 0 + } +} diff --git a/hugo.yaml b/hugo.yaml index 918057bd..04a36f6e 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -217,27 +217,31 @@ params: menus: main: - name: OSS Health - identifier: oss-health weight: 35 + identifier: oss-health + - name: Security Summary + parent: oss-health + url: /oss-health/security/ + weight: 1 - name: Telemetry url: /oss-health/telemetry/ parent: oss-health - weight: 1 + weight: 2 - name: DevStats url: /oss-health/devstats/ parent: oss-health - weight: 2 + weight: 3 - name: OpenSSF url: /oss-health/openssf/ parent: oss-health - weight: 3 + weight: 4 - name: OSS Insight url: /oss-health/oss-insight/ parent: oss-health - weight: 4 + weight: 5 - name: Enterprise support url: /support - weight: 5 + weight: 6 - name: GitHub url: https://github.com/cozystack/cozystack weight: 10 diff --git a/layouts/oss-health/security.html b/layouts/oss-health/security.html new file mode 100644 index 00000000..330a265b --- /dev/null +++ b/layouts/oss-health/security.html @@ -0,0 +1,147 @@ +{{ define "main" }} +{{ $data := index .Site.Data.security "monthly" }} + +
Monthly public security report for the Cozystack project.
+| CVE | Severity | Package | Fixed Version |
|---|---|---|---|
{{ .cve_id }} |
+ {{ .severity }} | +{{ .package }} |
+ {{ .fixed_version }} |
+
| CVE | Severity | Package | Status |
|---|---|---|---|
{{ .cve_id }} |
+ {{ .severity }} | +{{ .package }} |
+ Fix in progress | +
| CVE | Severity | Package | Reason |
|---|---|---|---|
{{ .cve_id }} |
+ {{ .severity }} | +{{ .package }} |
+ {{ .reason }} | +
+ Report generated: {{ $data.generated_at }} +
+ {{ end }} + + {{ else }} + +The first monthly report will appear here after the next reporting cycle.
++ + To report a vulnerability, use + GitHub Private Vulnerability Reporting + or email cncf-cozystack-security@lists.cncf.io. + +
+