docs/security/delegated-triage.md
For certain areas of Chromium, security bug triage is delegated from the core security team to other teams. This doc describes how that process works at a high level and what you (a delegated triager) are supposed to do. This doc is an abridged version of the shepherd guide, which describes the full security bug triage process, including a lot of steps and special cases you do not need to handle.
Security bug reports in Chromium need to be valid, which means they:
For every valid security bug report, our bug-response and release processes then require some metadata:
And then it needs to be assigned to engineers to be fixed, by setting:
When a new security bug report is filed in the bug tracker, the on-duty security triager is normally responsible for performing all the steps above, for every incoming security bug. For delegated triage rotations, the security triager will instead simply move matching bugs into a special component for delegated triage, at which point delegated triagers for that component (that's you!) take over.
If at any point you get stuck, confused, or this process isn't working for you, you can get in touch with the on-duty security shepherds: shepherd-1 and shepherd-2. Please do not assign bugs to these shepherds, but you can reach them over Chat.
For each security bug in the component you're triaging, do these steps:
The goal of this step is to quickly reject bugs that are probably invalid, so that the more time-consuming later steps only happen on bugs that are likely to be valid.
Quickly skim the bug, asking yourself: could this be a valid security bug?
The goal of this step is to become nearly certain that the bug is valid and fairly confident that it has security consequences.
Never run a proof-of-concept or repro steps that are not obviously safe.
If the PoC does work for you, and demonstrates a security problem, leave a comment on the bug describing what happened, what revision you tested at, what build config you used, and any other info that someone else might need to reproduce the bug later. Hooray, you have a valid security bug!
The goal of this step is to attach the metadata needed later in the bug-fixing process. By now, you are able to reproduce the bug yourself, so use either your judgment, code-reading, or your ability to reproduce the bug to:
The goal of this step is to get the bug to an engineering team that will fix it, and to ensure that security bugs are always assigned to someone so that we can stay within our SLOs.
Great work, you have triaged a security bug!