redact-secret · Report · Detector
openai-admin-api-key
Format evidence
- trufflehog 3.97.4
- gitleaks 8.30.1
- trufflehog issue 4698 (admin-key request)
- Reference 1
- Reference 2
- Reference 3
- Reference 4
Arrival evidence (#384, product redact-secret#863; research #777). T2: no OpenAI documentation states a length or alphabet for sk-admin- keys. Gitleaks corroborates the marker-bearing 58 + T3BlbkFJ + 58 shape with three test vectors, trufflehog 3.97.4 matches exactly that shape in its dedicated openaiadmin detector (PR #4689, which is why the generic openai detector skips sk-admin-: a move, not an exclusion; corrected by redact-secret#1013), and openai/codex fixes the prefix set and the T3BlbkFJ watermark for the OpenAI family. The product decision recorded in redact-secret#863 contracts sk-admin- under the same marker-gated 58/74-byte grammar as sk-proj- and sk-svcacct-, so the shipped detector admits 58/58 and 74/74 and no mixed width. The benchmark claim is 58/58 only (redact-secret#1013): no source anywhere shows a 74/74 admin value, so 74/74 is outside the claim and no fixture asserts it either way, while the product keeps accepting it (security-first). No source shows a 74/74 admin value: only the gitleaks union shared with sk-proj-/sk-svcacct- admits it, while trufflehog openaiadmin, nuclei-templates and poltergeist admit 58/58 only (redact-secret#1013 recommends taking 74/74 out of the positive set). A marker-less sk-admin- body (the 124-character trufflehog request) is out of contract: no source shows such a key, so it is authored as a negative twin, and the product accepts a false negative for it when bare or in unquoted env, YAML or tool-call text.
What the run recorded, by group
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Tool-corroborated | 16 | False alarmsat most 19.4%0 of 16 controls flagged | 16 quiet · 0 flagged |
| |
| Must not flag · Project policy | 8 | False alarmsat most 32.4%0 of 8 controls flagged | 8 quiet · 0 flagged |
| |
| Must redact · Tool-corroborated | 19 | Secret spans left readableat most 16.8%0 of 19 spans | Near-twins told apartinsufficient-coverage9 of 9 pairs | 19 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 43
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
openai-admin-api-key-actions-usage-exportopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-admn-prefix-twinopenai · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-compose-envopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-config-tomlopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-curl-beareropenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-dotenvopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-exportopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-first-segment-57-twinopenai · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-gitlab-ci-variablesopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-go-constopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-json-configopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-key-digest-encoded-valueopenai · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-lowercase-marker-twinopenai · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-markerless-test-name-near-missopenai · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-oncall-handoffopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-powershell-envopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-prefix-only-near-missopenai · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-python-requests-headersopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-python-sdkopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-requests-debugopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-short-second-segment-twinopenai · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-tfvars-admin-keyopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-tool-callopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-ts-clientopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-usage-cli-flagopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-usage-logopenai · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
openai-admin-api-key-actions-secret-referenceopenai · templated-reference | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-admin-keys-listing-public-idopenai · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-console-mask-placeholderopenai · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-docs-ellipsis-placeholderopenai · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-embedded-leading-twinopenai · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-env-reference-referenceopenai · templated-reference | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-inside-identifier-near-missopenai · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-key-resource-public-idopenai · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-marker-fk-twinopenai · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-marker-less-body-twinopenai · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-org-and-project-public-idopenai · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
openai-admin-api-key-permissions-paragraph-proseopenai · prose-mention | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-prefix-guidance-proseopenai · prose-mention | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-secrets-manager-arn-referenceopenai · templated-reference | Must not flagT3 · Project policy | Quiet |
openai-admin-api-key-short-first-segment-twinopenai · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-underscore-delimiter-twinopenai · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
openai-admin-api-key-your-key-here-placeholderopenai · documentation-placeholder | Must not flagT3 · Project policy | Quiet |