|
OpenSecOps is open-source code under MPL 2.0, and we approach development as a cathedral, not a bazaar. The source is public – for transparency, for verification, for security review by anyone who wants to read it. But contribution is closed. External pull requests are not accepted. Design decisions, architectural changes, and dependency updates are made by a small core team. Vulnerability reports are welcomed from anyone, with named credit; patches from external parties are not. We are deploying security software with administrator-equivalent privilege scope inside customer accounts. The cathedral model is the appropriate governance for that level of responsibility. It means there is one chain of accountability, one signing identity per release, one set of decisions about what runs with that privilege. This article is about strengthening the next layer of that posture: supply-chain security. What's not changingBefore anything else: ./deploy is unchanged. Customer-facing deployment of OpenSecOps Foundation, OpenSecOps SOAR, and every other component continues exactly as before. This is a maintainer-side and release-side change. You will not need to install new tools, modify your scripts, or migrate anything. What you will see – once we land it – is a SECURITY.md file appearing on each repository's GitHub Security tab, signed release artefacts on the GitHub Releases page, and SBOMs (in CycloneDX format) attached to every release. Your existing automation keeps working; new artefacts appear alongside it. What's changing, and what it eliminatesToday, version specifications exist where correctness or compatibility demands them. Direct dependencies are range-pinned. Security-sensitive libraries — requests, urllib3, and others on user-input paths — are tightly bounded with explicit upper limits. What we do not yet have is uniform coverage: full lock files that pin every transitive dependency with a cryptographic hash, a machine-readable bill of materials per release, and a published vulnerability-response timeline. This initiative extends the existing discipline to every single external library, transitives included, and adds the artefacts and timelines enterprise security teams expect. After it lands:
Where we land on the frameworksWe are aiming for a defensible, framework-anchored posture — using the language enterprise FOSS intake teams already speak:
We do not pursue S2C2F Level 3 controls that require write-capable CI infrastructure — auto-merge dependency bots, hermetic builds inside a runner — or any Level 4 control (rebuilding upstream OSS on our own infrastructure). Those are out of scope by deliberate decision, not omission. The cathedral model and the maintainer-laptop release path exist for the reasons stated at the top of this post; we do not abandon them to chase a higher framework number. On the question of a paid third-party auditWe will not be commissioning a paid commercial audit from a tier-1 firm. We do not have that funding, and we are honest about it rather than hiding it. What we are doing instead: applying to OSS-funded audit programmes — OSTIF, OpenSSF Alpha-Omega, the German Sovereign Tech Agency, NLnet Foundation. If accepted, these programmes can fund professional audits or security work at no cost to the project. If rejected, the application itself is documented in SECURITY.md as evidence of due diligence. We may also coordinate with prospective enterprise customers' own AppSec teams under NDA — many large organisations review the code as part of intake regardless, and turning that into formal coordination is free and useful for both sides. How this rolls outGradually, one component at a time. SOAR is first, because its privilege scope is broadest and the case for the most thorough posture is strongest. Foundation and the remaining components follow the same pattern, repository by repository. Each gets its own SECURITY.md with the same structure — supported versions, vulnerability reporting channel, SLA, posture statement, signing identities, "am I affected?" guidance — so reviewers find what they expect at the same address in every component. We will not announce per-component dates. Each component lands when it lands; the GitHub Security tab on each repository is the source of truth. In summaryOpen-source code, closed contribution governance, signed releases, hash-pinned dependencies, SBOMs per release, a concrete CVE-response SLA, and explicit alignment with the frameworks enterprise security teams already use to evaluate us. No deploy-path change. No marketing language about "industry-leading" anything — just the substance of what we are doing, and why, in the language that reviewers already know.
If your organisation has a FOSS intake process and you would like to discuss this before the per-component SECURITY.md files appear, contact us at [email protected].
0 Comments
Leave a Reply. |
RSS Feed