docs: add a security policy and a private disclosure route - #353
Merged
Minipada merged 1 commit intoAug 17, 2026
Merged
Conversation
The repository had no SECURITY.md, so the only route for a vulnerability report was a public issue. Add one naming the supported branches (branch tips — DC has no releases), GitHub private vulnerability reporting as the channel, acknowledgement/assessment targets, coordinated disclosure terms, and what is out of scope (demo configs, upstream deps). Link it from the README, the contributing page, and the new-issue chooser. Closes #302 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ch5gm7LspscVZKJAHQP9B Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## jazzy #353 +/- ##
=======================================
Coverage 67.54% 67.54%
=======================================
Files 95 95
Lines 5884 5884
=======================================
Hits 3974 3974
Misses 1910 1910
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
4 tasks
Minipada
added a commit
that referenced
this pull request
Aug 17, 2026
The repo already had a sign-off check: the probot DCO app posts one on every pull request and has done so all along (it is green on #353). The workflow added in the previous commit was a second gate for the same rule, and the weaker of the two -- the app requires the sign-off to match the commit author, where the workflow only required a well-formed trailer to be present -- so it goes away again. What was actually missing stays: the DCO text in the tree, the contributing guide, the PR template item, and tools/ci/dco_check.sh, now the local half rather than the CI half. Its rule is tightened to mirror the app's, accepting the author's or the committer's identity case-insensitively so an `am`/rebase of someone else's patch signed by the committer still passes, and it reports what it found against what it expected. Enforcement was the other gap: `jazzy` had no branch protection and no rulesets, so the app's check reported an unsigned PR and the merge went through regardless. `jazzy` now requires `DCO` as its one status check, pinned to the app, with enforce_admins off so maintainer pushes to the branch still work, and force-pushes and deletions disabled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PUmx6UnU9fuPLg5q385pG2 Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
This was referenced Aug 17, 2026
Minipada
deleted the
feature/302-add-security-md-and-a-vulnerability-disc
branch
September 2, 2026 12:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repository has no security policy, so the only route open to someone finding a
vulnerability is a public issue — which is the disclosure. This adds
SECURITY.mdat the reporoot and links it from everywhere a reporter is likely to look.
What it says
package.xmlisat
0.1.0), so a "supported versions" table would be fiction. The table names branch tips:jazzygets fixes first,humblegets high/critical only, feature branches and forks getnothing.
(advisories/new),
with
d.bensoussan@proton.meas the fallback. Already enabled on the repository — verifiedvia
gh api repos/Minipada/ros2_data_collection/private-vulnerability-reporting→{"enabled":true}, so the channel behind the document is live.days, status update every 14 days. Stated as targets, with the single-maintainer reality
spelled out, rather than as an SLA nobody can hold to.
jazzy,whichever is first; published as a GHSA, CVE requested through GitHub when warranted,
reporter credited unless they decline.
tools/infrastructure/(unauthenticated Postgres, defaultcredentials) are deliberately trivial so a demo runs on a laptop — out of scope, as are ROS 2
and third-party deps unless DC's use of them creates the problem. Documentation presenting
a demo credential as production-ready is explicitly a bug, filed as a normal issue.
Where it is linked
README.mdis a symlink todoc/src/dc/introduction.md, so the link uses theblob/jazzy/SECURITY.mdabsolute form the docs already use for repo files — a relative linkwould break on the docs site. The README gets a list entry plus a
# Securitysection;doc/src/dc/contributing.mdgets a TLDR row and a "Found a vulnerability?" subsection; and.github/ISSUE_TEMPLATE/config.ymlgets a contact link, which puts "Report a securityvulnerability" in the new-issue chooser itself — right where someone is about to do the wrong
thing.
Caveat
GitHub surfaces
SECURITY.mdfrom the default branch, which is stillhumble. Until thisreaches
humble(or the default branch moves tojazzy), the Security tab will show no policyeven though the file exists here. Private vulnerability reporting is repo-level and works
regardless.
Verification
prek run --files SECURITY.md doc/src/dc/introduction.md doc/src/dc/contributing.md .github/ISSUE_TEMPLATE/config.yml --skip build-docpasses. No code touched.Closes #302
🤖 Generated with Claude Code
https://claude.ai/code/session_012ch5gm7LspscVZKJAHQP9B