Repository navigation
Added
leak rotate azure-devops-patrotates an Azure DevOps personal access token in the order that avoids downtime.checklists your active tokens; with--authorization-id, it shows the leaked one. It points at the audit events that show whether Azure DevOps has already revoked it.replacecreates a new token with the same scope, for one organisation only, and pipes it straight into your secret store. If the store refuses it, the new token is revoked again.- Once the new token is deployed,
revokeremoves the leaked one. - It signs in as the user from
az login, and the token travels in a header on stdin, never in a command line. Theleak plancatalog points Azure DevOps token findings at the recipe.
Fixed
Found by a second independent review, of the code added in 3.6 and 3.7:
leak responddid not rebuild the incident report when an earlier step ran again. For example, after scanning a clone of a repository that was already gone, the report still said there were no secrets. A step now also reruns when a step whose results it uses has run again: a new scan means a new plan and report, a new hunt a new report.leak respondstopped with a usage error, and no record, when the hunt could not start. It now reads the hunt's folder from the hunt's own output, and a hunt that cannot start is recorded as failed.leak respond --statuswrote to the incident's state file. It now changes nothing. Settings are recorded only when they change.leak respondwith an unusable folder name as the incident ID created the folder before refusing it, which blocked the retry. The ID is now checked first.- For a repository that is already deleted,
leak huntreported its fork list as "not checked", so the hunt, and the incident, could never be complete. That check is covered by the same-name forks search, and is now reported as "covered below". install.shinstalled the version folder as readable by its owner only, so on a shared prefix (sudo ... --prefix /usr/local) nobody else could runleak. It is now readable by everyone.
Found by an accessibility audit (axe-core, WCAG 2.1 AA) of every page of the site and every generated report:
- Code blocks and tables that scroll sideways could not be reached with the keyboard on first load, because the check ran before the web fonts had loaded. It now runs again once they have.
- The how-to box of the incident report and the rotation plan was outside every landmark, so screen reader users moving by landmark missed it. It is now a labelled aside.