Skip to content

docs: switch security reporting to GitHub private vulnerability reporting - #23559

Open
Vad1mo wants to merge 5 commits into
goharbor:mainfrom
Vad1mo:docs/github-private-vulnerability-reporting
Open

docs: switch security reporting to GitHub private vulnerability reporting#23559
Vad1mo wants to merge 5 commits into
goharbor:mainfrom
Vad1mo:docs/github-private-vulnerability-reporting

Conversation

@Vad1mo

@Vad1mo Vad1mo commented Jul 14, 2026

Copy link
Copy Markdown
Member

Implements the intake-channel change from goharbor/community#292: replace the cncf-harbor-security@lists.cncf.io mailing list with GitHub private vulnerability reporting as the channel for reporting security vulnerabilities. Private vulnerability reporting is already enabled on this repository.

Changes

  • SECURITY.md
    • Reporters are directed to the Security tab / Report a vulnerability form instead of the mailing list. This is the sole intake channel, per the proposal; the GitHub-account requirement is stated explicitly rather than left implicit.
    • The response SLA is split: reports are acknowledged within 5 business days, and the investigation and follow-up plan are no longer bound to the old 3-business-day promise.
    • The Patch, Release, and Disclosure section now describes the advisory workflow: accepted reports become draft advisories with the reporter as collaborator, CVSS is scored with the built-in calculator, the CVE is requested in-band from GitHub, and the fix is developed in a temporary private fork under embargo.
    • The in-band CVE request is scoped to cases where GitHub is eligible to act as CNA; where another CNA already covers the affected component, the Security Team coordinates with that CNA instead of filing a duplicate.
    • The mailing list is retained only for distributors-list administration (membership requests, embargo-breach reports), which the Embargo Policy and Membership sections still reference. It is explicitly not a vulnerability intake channel.
    • Distributor coordination (cncf-harbor-distributors-announce), the embargo policy, and disclosure timing are unchanged, per the proposal's non-goals.
  • README.md: the Reporting security vulnerabilities section pointed at the mailing list and promised email follow-ups. It now routes to the advisory form.
  • .github/ISSUE_TEMPLATE/config.yml (new): contact link on the issue chooser routing vulnerability reports to the private advisory form. blank_issues_enabled: false so reports cannot bypass the chooser and its security link.
  • .github/ISSUE_TEMPLATE/bug_report.md: warning at the top telling reporters not to file security vulnerabilities as public issues.

Review feedback addressed

  • @stonezdj — the 3-business-day promise of a full investigation plan was unrealistic. Acknowledgement is now a 5-business-day commitment, decoupled from the investigation.
  • Copilot — CVE requests no longer bypass another CNA covering the component; README.md no longer points at the mailing list; the mailing list is listed again under Mailing lists, correctly scoped; reporter visibility wording and template grammar were fixed earlier.

Related

@Vad1mo
Vad1mo requested a review from a team as a code owner July 14, 2026 14:15
@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.59%. Comparing base (c9e825a) to head (3b82772).
⚠️ Report is 36 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #23559      +/-   ##
==========================================
+ Coverage   66.36%   66.59%   +0.23%     
==========================================
  Files        1073     1080       +7     
  Lines      117716   118628     +912     
  Branches     2965     2992      +27     
==========================================
+ Hits        78120    79001     +881     
+ Misses      35292    35267      -25     
- Partials     4304     4360      +56     
Flag Coverage Δ
unittests 66.59% <ø> (+0.23%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 61 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@wy65701436 wy65701436 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates Harbor’s security disclosure documentation and GitHub issue intake to route vulnerability reports through GitHub Private Vulnerability Reporting, aligning the repo’s public guidance with the advisory-based workflow.

Changes:

  • Updates SECURITY.md to direct reporters to GitHub private vulnerability reporting and describe the advisory-driven embargo workflow.
  • Adds an issue chooser contact_links entry to route security reports away from public issues.
  • Adds a prominent warning to the bug report template to prevent public filing of vulnerabilities.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
SECURITY.md Switches primary reporting channel to GitHub private vulnerability reporting and updates the disclosure workflow narrative.
.github/ISSUE_TEMPLATE/config.yml Adds an issue chooser contact link for private vulnerability reporting.
.github/ISSUE_TEMPLATE/bug_report.md Adds a top-of-template warning to redirect security reports to the private advisory form.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread SECURITY.md Outdated
Comment thread SECURITY.md
Comment on lines 49 to 50
## Mailing lists
- Use cncf-harbor-security@lists.cncf.io to report security concerns to the Harbor Security Team, who uses the list to privately discuss security issues and fixes prior to disclosure.
- Join cncf-harbor-distributors-announce@lists.cncf.io for early private information and vulnerability disclosure. Early disclosure may include mitigating steps and additional information on security patch releases. See below for information on how Harbor distributors or vendors can apply to join this list.
Comment thread .github/ISSUE_TEMPLATE/bug_report.md Outdated
Vad1mo added 2 commits July 22, 2026 15:32
…ting

Replace the cncf-harbor-security mailing list with GitHub private
vulnerability reporting as the intake channel for security reports,
per goharbor/community#292. Private vulnerability reporting is enabled
on the repository.

- SECURITY.md: point reporters at the Security tab / Report a
  vulnerability form; describe the advisory-based triage, CVSS,
  in-band CVE request, and temporary private fork workflow; keep the
  mailing list only as a fallback for reporters without a GitHub
  account and for distributor list membership requests
- Add issue template contact link routing vulnerability reports to
  the private advisory form
- Add a security warning to the bug report template

Signed-off-by: Vadim Bauer <vb@container-registry.com>
Address review feedback: drop the mailing-list fallback so there is a
single reporting method, clarify that the reporter can see their own
report, and fix template grammar.

Signed-off-by: Vadim Bauer <vb@container-registry.com>
Copilot AI review requested due to automatic review settings July 22, 2026 07:32
@stonezdj
stonezdj force-pushed the docs/github-private-vulnerability-reporting branch from 1c233be to a88d675 Compare July 22, 2026 07:32
@stonezdj
stonezdj enabled auto-merge (squash) July 22, 2026 07:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

SECURITY.md:14

  • The PR says the mailing list remains a fallback for reporters without a GitHub account, but this section only states that an account is required and gives those reporters no reporting path. Please document the promised fallback here so accountless reporters are not blocked from private disclosure.
To report a vulnerability or a security-related issue, use [GitHub private vulnerability reporting](https://github.com/goharbor/harbor/security/advisories/new): open the [Security tab](https://github.com/goharbor/harbor/security) of the affected repository and click **Report a vulnerability**. The report is visible only to you and the Harbor Security Team, which is made up of Harbor maintainers who have committer and release permissions. Reports will be addressed within 3 business days, including a detailed plan to investigate the issue and any potential workarounds to perform in the meantime. Do not report non-security-impacting bugs through this channel. Use [GitHub issues](https://github.com/goharbor/harbor/issues/new/choose) instead. Note that filing a report requires a GitHub account.

Comment thread SECURITY.md Outdated
Comment thread SECURITY.md Outdated
@stonezdj
stonezdj disabled auto-merge July 22, 2026 07:36
Comment thread SECURITY.md Outdated
@wy65701436 wy65701436 added the release-note/docs Docs changes(made and needed) label Jul 22, 2026
bupd pushed a commit to container-registry/harbor-next that referenced this pull request Jul 24, 2026
Reference implementation of goharbor/community#292 on harbor-next:
replace mailing-list-based security reporting with GitHub private 
vulnerability reporting (PVR) and repository security advisories,
so upstream goharbor/harbor can adopt a proven, tested setup.

Related: goharbor/community#292, goharbor/harbor#23559

---------

Signed-off-by: aloui ikram <ikram@container-registry.com>
Co-authored-by: aloui ikram <ikram@container-registry.com>
- Relax the response SLA: acknowledge within 5 business days, then
  investigate and follow up, instead of promising a full investigation
  plan within 3 business days.
- Request a CVE from GitHub only where GitHub is eligible as CNA; when
  another CNA already covers the affected component, coordinate with
  that CNA instead of filing a duplicate.
- Point README.md's vulnerability reporting section at private
  vulnerability reporting instead of the security mailing list.
- List cncf-harbor-security@lists.cncf.io again under Mailing lists,
  scoped to distributors-list administration, since the Embargo Policy
  and membership sections still reference it.
- Split the reporting paragraph, state the GitHub-account requirement as
  a deliberate single-channel decision, and stop overloading
  'acknowledged' to mean both receipt and triage verdict.
- Disable blank issues so reports cannot bypass the issue chooser and
  its security contact link.
- Note that larger artifacts are shared in the temporary private fork;
  the advisory form is not documented to accept attachments.

Signed-off-by: Vadim Bauer <vb@container-registry.com>
Copilot AI review requested due to automatic review settings August 3, 2026 16:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (1)

SECURITY.md:16

  • GitHub does not grant access to private vulnerability reports based on committer or release permissions. Proposed reports are visible to repository/organization owners, security managers, and repository admins, while users with write/committer access alone cannot view them. Describing visibility in terms of the Security Team's committer permissions therefore misstates the new channel's confidentiality and access model.
The report is visible only to you and the Harbor Security Team, which is made up of Harbor maintainers who have committer and release permissions. Reports will be acknowledged within 5 business days. The Harbor Security Team will then investigate and follow up with a plan to address the issue and any potential workarounds to perform in the meantime.

Vad1mo added 2 commits August 3, 2026 20:10
Notary is no longer part of Harbor, so listing it as an example
dependency in the vulnerability-scope section is misleading. Also
normalises PGSql to PostgreSQL in the same list.

Signed-off-by: Vadim Bauer <vb@container-registry.com>
Notary is no longer part of Harbor, so advertising Docker Content Trust
signing via Notary in the feature list is misleading.

Signed-off-by: Vadim Bauer <vb@container-registry.com>
@Vad1mo
Vad1mo enabled auto-merge (squash) August 12, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note/docs Docs changes(made and needed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants