Skip to content

docs: add OpenSSF Security Baseline compliance assessment - #2109

Open
HayimShaul wants to merge 1 commit into
mainfrom
1626_document_openssf_security_baseline_compliance_status
Open

docs: add OpenSSF Security Baseline compliance assessment#2109
HayimShaul wants to merge 1 commit into
mainfrom
1626_document_openssf_security_baseline_compliance_status

Conversation

@HayimShaul

Copy link
Copy Markdown
Contributor

Documents where Panurus stands against the OpenSSF Open Source Project Security Baseline (OSPS Baseline) v2026.02.19, so contributors and consumers can see which security practices are in place and which are still missing.

Adds docs/openssf/ with an index page and one page per Baseline level:

  • README.md — separates the OSPS Baseline from the separately tracked OpenSSF Best Practices Badge (the two are frequently conflated), records that the project targets Level 2 in full, summarises the per-level tallies, groups the findings into six gap themes, and gives a procedure for re-running the assessment.
  • baseline_level_1.md / baseline_level_2.md / baseline_level_3.md — all 64 controls with a status and per-row evidence.

Every Met row cites a file, a release artifact, or a publicly readable GitHub setting. Controls that depend on organization settings or on channels outside the repository are marked Unverified rather than assumed, so the tables can be trusted as evidence.

Current state: Level 1 20/24 met, Level 2 11/19 met, Level 3 3/21 met.

Concrete gaps the assessment surfaced:

  • The only required status check on main is DCO; the ruleset that additionally required CodeQL has enforcement: disabled, and required_approving_review_count is 0 despite the documented One Approve Policy.
  • Release tags are lightweight commits rather than signed tag objects, and releases publish no checksum manifest, no SBOM and no VEX.
  • tests.yml interpolates the workflow_dispatch input fsc-version directly into a run: step instead of passing it through env:.
  • tests.yml, md_links.yml and protect-integration-test-types.yml declare no permissions:.

Also registers the new pages in mkdocs.yml under a new Security nav section — which incidentally de-orphans the existing docs/security/selector_resource_limits.md page — and links them from docs/README.md, SECURITY.md and CONTRIBUTING.md.

Docs-only change: no Go code is touched. make checks, make lint and mkdocs build --strict all pass locally.

Fixes #1626

@HayimShaul HayimShaul added this to the Q3/26 milestone Aug 3, 2026
@HayimShaul HayimShaul added the documentation Improvements or additions to documentation label Aug 3, 2026
@HayimShaul HayimShaul self-assigned this Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

📊 Token Validation Benchmark

Comparison of this PR against the base branch. 🟢 improvement · 🔴 regression · ➖ within ±1.0% noise.

Variant Benchmark Params Workers TPS (base → PR) Δ TPS
csp BenchmarkAPIGRPC f=1, nc=4, w=token-validation-service 4 106 → 106 ➖ -0.2%
csp BenchmarkLocalTokenValidation out-tokens=2in-tokens=2 4 116 → 115 ➖ -0.2%
ipa BenchmarkAPIGRPC f=1, nc=4, w=token-validation-service 4 78 → 78 ➖ +0.4%
ipa BenchmarkLocalTokenValidation out-tokens=2in-tokens=2 4 68 → 68 ➖ +0.1%

@AkramBitar
AkramBitar requested a review from adecaro August 3, 2026 18:22
@AkramBitar
AkramBitar marked this pull request as ready for review August 6, 2026 07:34
Document where Panurus stands against the OpenSSF Open Source Project
Security Baseline (OSPS Baseline) v2026.02.19, so contributors and
consumers can see which security practices are in place and which are
still missing.

Add docs/openssf/ with an index page and one page per Baseline level:

- README.md distinguishes the OSPS Baseline from the separately tracked
  OpenSSF Best Practices Badge, records that the project targets Level 2
  in full, summarises the per-level tallies, groups the findings into six
  gap themes, and gives a procedure for re-running the assessment.
- baseline_level_1.md, baseline_level_2.md and baseline_level_3.md cover
  all 64 controls with a status and per-row evidence.

Every "Met" row cites a file, a release artifact or a publicly readable
GitHub setting; controls that depend on organization settings or on
channels outside the repository are marked "Unverified" rather than
assumed. The assessment surfaces a few concrete gaps, notably that the
only required status check on main is DCO while the ruleset requiring
CodeQL is disabled, that release tags are lightweight and releases carry
no checksum manifest, and that tests.yml interpolates a
workflow_dispatch input directly into a shell step.

Register the new pages in mkdocs.yml under a new Security section, which
also de-orphans the existing security/selector_resource_limits.md page,
and link them from docs/README.md, SECURITY.md and CONTRIBUTING.md.

Signed-off-by: Hayim.Shaul@ibm.com <hayimsha@fhe03.vpc.cloud9.ibm.com>
@HayimShaul
HayimShaul force-pushed the 1626_document_openssf_security_baseline_compliance_status branch from ab31433 to 79dc877 Compare August 6, 2026 11:17
@HayimShaul

Copy link
Copy Markdown
Contributor Author

@adecaro I saw you closed #1579 for the same issue saying it would be resurrected in the future. Not sure what you meant. Let me know what to do with this PR

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: add OpenSSF baseline guidance for the repository

2 participants