docs: add SECURITY.md with private vulnerability-reporting policy (#1499)#1848
Open
jbbqqf wants to merge 1 commit into
Open
docs: add SECURITY.md with private vulnerability-reporting policy (#1499)#1848jbbqqf wants to merge 1 commit into
jbbqqf wants to merge 1 commit into
Conversation
…ta-Centric-AI-Community#1499) Adds the SECURITY.md file requested in Data-Centric-AI-Community#1499. The file: - declares the supported version lines (latest minor + develop branch); - gives two private reporting channels — GitHub Security Advisories (preferred) and the maintainer email already published in pyproject.toml (`opensource@ydata.ai`); - sets a 5-business-day acknowledgement expectation and outlines the coordinated-disclosure timeline; - explicitly documents what's out of scope (unsupported versions, attacker-already-has-local-access scenarios, transitive deps), so researchers can self-route reports that don't belong here. A small repo-hygiene test (tests/issues/test_issue1499.py) asserts the file is present at one of the three locations GitHub auto-detects (repo root, /.github, /docs) and that it mentions the three things a researcher needs in order to actually use the policy: a private channel, a "do not file public issues" warning, and a reply-time expectation. The test fails on origin/develop (no SECURITY.md present) and passes on this branch. Co-Authored-By: Claude Code <noreply@anthropic.com>
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.
Summary
Add a
SECURITY.mddescribing a private channel for vulnerabilityreports, as requested in #1499 and recommended by GitHub's
repository-security documentation.
Fixes #1499 — Add SECURITY.md.
Context
Issue #1499 (Nov 2023) was opened by a security-research community asking
for a private reporting channel: at the time the repo had no
SECURITY.md, no.github/SECURITY.md, and no/docs/SECURITY.md. Twoyears later, that gap is still open.
GitHub strongly recommends every public OSS repository publish such a
file (documentation). The doc explains how GitHub auto-detects
SECURITY.mdin the repo root,.github/, ordocs/and surfaces a"Report a vulnerability" button on the repo's Security tab. Without a
SECURITY.md, that button is hidden and reporters either give up orfile the vulnerability publicly — both are bad outcomes.
Changes
SECURITY.md(new) at the repo root: GitHub's preferred location.tests/issues/test_issue1499.py(new): two repo-hygiene tests thatassert the file is present and mentions the three things a researcher
needs (private channel, "no public issues" warning, reply-time
expectation). The tests intentionally accept any of the three GitHub
auto-detect locations so a future maintainer can move the file
without breaking the contract.
The policy text:
develop, older 4.xbest-effort, 3.x and older unsupported).
(preferred, encrypted thread) and the maintainer email already
published in
pyproject.toml(opensource@ydata.ai). If a differentemail is preferred, swap it on a follow-up — the test checks for the
presence of an
@-style address, not a specific one.coordinated-disclosure target.
has local access, third-party dependency issues), so researchers can
self-route reports that don't belong here.
Reproduce BEFORE/AFTER yourself (copy-paste)
The only thing that changes between BEFORE and AFTER is the checked-out
git ref.
What I ran locally
pytest tests/issues/test_issue1499.py -v→ 2/2 passed on the fixbranch.
origin/develop(with the test file checked outfrom the fix branch as a borrowed regression test) → 2/2 failed
(expected — the file is genuinely missing on develop).
black --check tests/issues/test_issue1499.py→ clean.markdownlintnot run (not part of the project'smake lint); thefile follows the same heading/punctuation style as
CONTRIBUTING.md.Edge cases tested
SECURITY.mdtest_security_md_exists_at_repo_root.github/later.github/SECURITY.md@/email + advisory link, or no "do not file public issues" warningtest_security_md_describes_a_private_reporting_channelRisk / blast radius
opensource@ydata.ai) is the one alreadypublished in
pyproject.toml. If the project would prefer avulnerability-only address, change it post-merge.
Release note
Upstream PR checklist (from
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md)make lint— black clean on the new test file (no other lintablefiles touched).
make docs— n/a; SECURITY.md is auto-rendered by GitHub and notpart of the mkdocs site.
make test—pytest tests/issues/test_issue1499.py -v→ 2/2 passed.make examples— n/a; no example changes.PR drafted with assistance from Claude Code. The change was reviewed
manually against GitHub's repository-security documentation and the
existing repo conventions. The reproducer block above was used during
development; it is the same one a reviewer can paste verbatim.