Skip to content

Publish Security Insights, run Scorecard and enable Dependabot - #2318

Open
Akshats-git wants to merge 4 commits into
flatcar:mainfrom
Akshats-git:cncf/security-insights-scorecard-dependabot
Open

Publish Security Insights, run Scorecard and enable Dependabot#2318
Akshats-git wants to merge 4 commits into
flatcar:mainfrom
Akshats-git:cncf/security-insights-scorecard-dependabot

Conversation

@Akshats-git

@Akshats-git Akshats-git commented Aug 11, 2026

Copy link
Copy Markdown

Publish a Security Insights manifest, run OpenSSF Scorecard and enable Dependabot

Our CLOMonitor report at https://clomonitor.io/projects/cncf/flatcar is part of the evidence the CNCF looks at for graduation (#1818). It currently fails four checks that this repository can fix on its own: security_insights, dependencies_policy, dependency_update_tool and openssf_scorecard_badge.

This adds SECURITY-INSIGHTS.yml on spec v2.2.0, a Dependabot config for the github-actions ecosystem, the Scorecard analysis workflow, and a Scorecard badge in the README. The manifest fixes two checks at once, because CLOMonitor reads dependencies_policy from repository.documentation.dependency-management-policy in the same file. Everything in the manifest comes from documents already in this repo, from MAINTAINERS.md, and from the CNCF project maintainers list. The self assessment entry points at #1820 rather than claiming an assessment we have not published. The workflow and the Dependabot config are the ones already running in flatcar/nebraska, with the pinned action SHAs refreshed.

I reimplemented the CLOMonitor scoring from its source and confirmed it reproduces our current published numbers exactly (repo 75.00, project 80.17). On that basis this moves security from 63.64 to 86.36, best practices from 52.63 to 78.95, and the project global from 80.17 to 88.43.

Fixes #2317

How to use

Nothing to do on a running system. To validate the manifest against the specification's own schema:

git clone --depth 1 https://github.com/ossf/security-insights-spec.git
cd security-insights-spec
cue vet -c -d '#SecurityInsights' ./spec /path/to/Flatcar/SECURITY-INSIGHTS.yml

After merge, the Scorecard workflow runs on the push to main and again daily at 01:30 UTC. CLOMonitor refreshes roughly once a day, so the four checks should flip on the project page within about 24 hours.

Testing done

Validated the manifest against the spec schema, with the spec's own example as a control so a silent pass is ruled out:

$ cue vet -c -d '#SecurityInsights' ./spec examples/example-full.yml
$ echo $?
0
$ cue vet -c -d '#SecurityInsights' ./spec SECURITY-INSIGHTS.yml
$ echo $?
0

Linted both workflows:

$ actionlint .github/workflows/*.yml .github/workflows/*.yaml
$ echo $?
0

Checked every URL in the manifest. All 29 return 200, apart from three that point at files this PR adds and which resolve once it lands.

Simulated the four CLOMonitor checks against the branch, using the path order and regexes from clomonitor-core/src/linter/checks:

security_insights          : PASS   (manifest=SECURITY-INSIGHTS.yml, schema=v2)
dependencies_policy        : PASS   (.../adding-new-packages.md)
openssf_scorecard_badge    : PASS   (https://api.scorecard.dev/projects/github.com/flatcar/Flatcar)
dependency_update_tool     : PASS
  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

Both boxes are left unchecked on purpose. This repository has no changelog/ directory and builds no image, so neither applies here.

The CLOMonitor report for Flatcar fails the security_insights and
dependencies_policy checks because the project publishes no Security
Insights manifest. Both checks read the same file. CLOMonitor feeds
the CNCF graduation review tracked in flatcar#1818.

  https://clomonitor.io/projects/cncf/flatcar

Add a manifest following version 2.2.0 of the specification. The
contents come from the documents already in this repository, from
MAINTAINERS.md and from the CNCF project maintainers list. The self
assessment entry points at flatcar#1820, which is still open, rather than
claiming an assessment that does not exist yet.

Validated against the specification's own schema:

  cue vet -c -d '#SecurityInsights' ./spec SECURITY-INSIGHTS.yml

Signed-off-by: Akshat <akshatgupta099@gmail.com>
The actions used by the workflows here are pinned by commit SHA, so
they stay on the revision they were added with until someone bumps
them by hand. Nothing does that today.

Enable Dependabot for the github-actions ecosystem, grouped and run
weekly, matching the configuration already used in flatcar/nebraska.
This also satisfies the dependency_update_tool check in CLOMonitor.

Signed-off-by: Akshat <akshatgupta099@gmail.com>
Scorecard results are part of the security evidence the CNCF
graduation review looks at, and CLOMonitor scores the badge
separately. This repository publishes neither.

Add the analysis workflow and the README badge. The workflow is the
one already running in flatcar/nebraska, with the pinned action SHAs
refreshed. Results are published to the Scorecard API and uploaded to
the code scanning dashboard.

The badge reads "invalid repo path" until the workflow first runs
against the default branch, because no results are published for this
repository yet.

Signed-off-by: Akshat <akshatgupta099@gmail.com>
@Akshats-git
Akshats-git requested a review from a team as a code owner August 11, 2026 15:37
Copilot AI lite review requested due to automatic review settings August 11, 2026 15:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings August 13, 2026 03:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

[RFE] Flatcar's CNCF CLOMonitor score is measured against the docs-only meta repo

2 participants