Skip to content
Benchmarks

redact-secret · Report · Detector

GitLab runner authentication tokens

  • 43 fixtures
  • Format evidence: T2 · Tool-corroborated
  • Run 2026-10-07
  • Mode published · redact-secret 0.1.0-beta.14

Format evidence

Graduated arrival contract (registry detector since redact-secret#730). Lexical separability decided before authoring (#212): the provider-documented glrt- prefix plus either a 20-character friendly-token body (optionally after the legacy t<hex>_ partition segment) or the routable <base64url>.<2 base36>.<2 base36 length><7 base36 CRC32> grammar separates a runner authentication token from the recorded confusables (s_<12 hex> system ids, 8-character short_sha values, runner ids, masked/REDACTED values, references). Only the glrt- prefix is provider-documented; the legacy body (Devise friendly_token, 20 chars) and the routable grammar and checksum come from GitLab's own code (routable_token.rb, runner.rb) and GitLab's provider-authored secret-detection rules, so the contract is T2. The routable checksum is recomputable offline: `validate` re-checks the base36 length holder and the CRC32, and the generator computes both over synthetic bytes. Not claimed: glrtr- tokens (documented prefix for runners registered with a registration token; current shape unverified), instance-prefixed <admin-prefix>-glrt- tokens (self-managed, feature-flagged), the unversioned single-dot routable design form, and exact issuance windows. glrtr- values, GR1348941 registration tokens and other gl-stem tokens are real secrets and are never controls. Pinned peers: gitleaks gitlab-runner-authentication-token matches the 20-character body (truncating longer tokens at 25 bytes) and its routable rule requires a t<d>_ segment and a single dot, so it matches neither GitLab's versioned routable shape; trufflehog 3.97.4 has no glrt- detector.

What the run recorded, by group

Detector views overlap, so their groups are never summed across detectors. Other scanners are reference values on the same inputs, in run order.
Groups of GitLab runner authentication tokens fixtures
GroupFixturesLeaked or false alarmsNear-twinsOutcomesOther scanners, same cell
Must not flag · Tool-corroborated15False alarmsat most 20.4%0 of 15 controls flagged15 quiet · 0 flagged
  • flare-redact at most 20.4%
  • gitleaks at most 45.2%
  • trufflehog at most 29.8%
Must not flag · Project policy9False alarmsat most 29.9%0 of 9 controls flagged9 quiet · 0 flagged
  • flare-redact at most 29.9%
  • gitleaks at most 29.9%
  • trufflehog at most 29.9%
Must redact · Tool-corroborated19Secret spans left readableat most 16.8%0 of 19 spansNear-twins told apartinsufficient-coverage8 of 8 pairs19 redacted · 0 too much · 0 partly exposed · 0 missed
  • flare-redact at most 100.0%
  • gitleaks at most 37.6%
  • trufflehog at most 100.0%
43 of 43 rows
Fixtures
43
Left readable
0
Redacted too much
0
False alarms
0

Fixtures for this detector

43 fixtures. Choose "Every scanner" to see each scanner's outcome for the same rows.
Fixtures in GitLab runner authentication tokens
FixtureKind and evidenceredact-secret
gitlab-runner-authentication-token-api-headergitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-checksum-mismatch-twingitlab · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-ci-server-tokengitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-config-tomlgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-docker-registergitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-exportgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-handovergitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-helm-valuesgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-k8s-secretgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-length-holder-mismatch-twingitlab · wrong-lengthMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-prefix-letter-twingitlab · prefix-near-missMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-query-tokengitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-register-flaggitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-register-outputgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-runner-loggitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-terraform-runnergitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-token-shape-baregitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-token-shape-quotedgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-token-shape-unicode-crlfgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-twin-base-registergitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-twin-base-tomlgitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-uppercase-base36-twingitlab · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-user-runners-responsegitlab · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
gitlab-runner-authentication-token-angle-placeholder-placeholdergitlab · documentation-placeholderMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-base64-url-encoded-valuegitlab · benign-encoded-valueMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-helm-template-referencegitlab · templated-referenceMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-label-prosegitlab · benign-lookalikeMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-maskgitlab · benign-lookalikeMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-masked-placeholdergitlab · documentation-placeholderMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-migration-note-prosegitlab · prose-mentionMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-prefix-onlygitlab · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-prefix-only-near-missgitlab · format-near-missMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-redacted-placeholdergitlab · documentation-placeholderMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-referencegitlab · benign-lookalikeMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-runner-object-public-idgitlab · public-identifierMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-shell-reference-referencegitlab · templated-referenceMust not flagT3 · Project policyQuiet
gitlab-runner-authentication-token-short-bodygitlab · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-short-body-twingitlab · wrong-lengthMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-short-body-twin-wrong-lengthgitlab · wrong-lengthMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-short-sha-public-idgitlab · public-identifierMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-stem-prefix-twingitlab · prefix-near-missMust not flagT2 · Tool-corroborated · twinQuiet
gitlab-runner-authentication-token-system-id-public-idgitlab · public-identifierMust not flagT2 · Tool-corroboratedQuiet
gitlab-runner-authentication-token-underscore-delimiter-twingitlab · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet