Skip to content

process: document the VMT vulnerability management process - #1291

Draft
vdemeester wants to merge 1 commit into
tektoncd:mainfrom
vdemeester:document-vmt-process
Draft

process: document the VMT vulnerability management process#1291
vdemeester wants to merge 1 commit into
tektoncd:mainfrom
vdemeester:document-vmt-process

Conversation

@vdemeester

Copy link
Copy Markdown
Member

Changes

Adds process/security-vmt.md, a team-facing document for the Tekton Vulnerability Management Team (VMT), plus a TOC entry in process/README.md.

Today there is no written VMT process anywhere. The reporter-facing policy lives in tektoncd/.github/SECURITY.md and is intentionally not duplicated here — this doc links to it and covers what happens on the team side.

Sections: scope, intake, triage (states / CVSS / SLO table), fix development (private forks, embargo), publication, weekly digest & staleness, membership (job, assignment, joining, permissions, leaving), escalation.

Why draft

This is opened as a draft to gather VMT and community feedback, not to merge as-is. Several points are proposals rather than descriptions of current practice:

  • The SLOs are proposed numbers: 14d triage, 30d Critical/High fix, 90d Medium/Low fix. Only the 3-working-day acknowledgement and the 90-day disclosure deadline come from the existing SECURITY.md.
  • Three explicit TODO blocks remain in the doc, each needing a team decision:
    • whether to offer downstream distributors advance notice, and how that list is managed
    • the on-call rotation model and cadence (the doc currently documents volunteer-based assignment as the current state, with a named rotation as the stated goal)
    • the inactivity threshold for offboarding (proposal: two consecutive quarters)

Feedback on the numbers and on the three TODOs is exactly what I'm looking for. Happy to split this up or move sections elsewhere if reviewers prefer.

/kind documentation

The reporter-facing security policy lives in tektoncd/.github, but the
team-side process the VMT actually follows is undocumented. New
contributors have no way to learn how triage, embargoed fix development,
or publication work, and there is no written expectation of what VMT
membership involves.

Add process/security-vmt.md covering scope, intake, triage states and
timelines, private fix development, publication, the weekly digest,
membership, and escalation. It links to the security policy rather than
duplicating it.

Several points are marked TODO where the team has not yet decided:
downstream pre-notification, the on-call rotation model, and the
inactivity threshold for offboarding. Triage and fix-time objectives are
proposals and need VMT agreement.
@tekton-robot tekton-robot added kind/documentation Categorizes issue or PR as related to documentation. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Aug 6, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please ask for approval from vdemeester after the PR has been reviewed.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot
tekton-robot requested review from abayer and enarha August 6, 2026 11:21
@tekton-robot tekton-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 6, 2026

@theakshaypant theakshaypant left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for adding this documentation @vdemeester!
The comments are mostly clarifications for myself rather than asking for changes in the doc.

Comment thread process/security-vmt.md
Comment thread process/security-vmt.md
Comment thread process/security-vmt.md
distributors.

> TODO: decide whether to offer downstream distributors advance notice, and if
> so, how membership of that list is granted. Raise at a community meeting.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is interesting, we cannot have just a mailing list for downstream distributors, can we? If we do, how do we ensure the people signing up are legit and not just signing up to discover these vulns.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Exactly, I am not sure yet on this, probably need to do some research on how other projects handle this.

Comment thread process/security-vmt.md

When the fix is released:

1. **Publish the GHSA** on the affected repository, with the CVSS vector,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The publish should happen only after atleast all 4 LTS versions have the fix, right?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yes. Ideally the backport PR are also in the private fork so when merging, all is merged at the same time and we can publish quickly.. Sadly, GitHub often tends to give Unicorn page when trying to do that..

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If I'm not mistaken, the private fork is only alive for a single PR.
Will try creating multiple PRs on such a private fork and report back here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@theakshaypant no no you can create as much PR as you want on the private fork created on the GHSA, they just all (the open one) get merged at the same time when you merge them.

Comment thread process/security-vmt.md
being transparent about the disagreement is better than an argument nobody can
see.

If a vulnerability is being actively exploited, skip the process. Fix it, ship

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How would one know if the vuln is being actively exploited?
Not asking to include the explanation in the doc, this is for me.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Well we don't know until we do 😹 maybe the reporter is stating it is actively used, or we have proofed / discovered it is exploited ?

Comment thread process/security-vmt.md
effectively a public exploit should be added *after* publication, or written
so that it does not read as an exploit.
- Fixes must be backported to every affected supported LTS branch. A fix that
lands only on `main` is not complete.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In the past I have seen not being able to merge the fix to main directly and requesting someone that can bypass branch protections (you :p) to merge the fix.
Is that something that should be documented to avoid confusion for new vmt members?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good point, we should probably document and we should also explore if there is a way around this somehow ?

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

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/documentation Categorizes issue or PR as related to documentation. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants