Skip to content

TIGER-382: CI guard — forbid a plaintext literal through Tiger_Secret::resolve() - #362

Merged
WebTigers merged 1 commit into
mainfrom
chore/tiger-382-secret-plaintext-lint
Oct 24, 2026
Merged

WebTigers merged 1 commit into
mainfrom
chore/tiger-382-secret-plaintext-lint

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

Tiger_Secret::resolve() returns an unrecognized value unchanged as plaintext (the adoption-friendly passthrough). This token-based PHPUnit guard makes the convention airtight.

Rule: a string-literal argument to Tiger_Secret::resolve() must be a recognized scheme ref (ssm:/env:/file:/enc:/…), never a bare plaintext secret. A variable or concatenation (the runtime-config path, e.g. the node's resolve($base . 'ses_key_id')) is not flagged.

  • Comments/docblocks stripped (token-based), so a mention in a comment never trips it.
  • Scans library/, core/, modules/ — never tests/ (which exercises the passthrough).
  • Mutation-tested: catches a plaintext literal; passes a scheme ref, a variable, a concatenation, and a comment.
  • 2 tests / 10 assertions green; rides the existing unit job, no workflow change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ

…::resolve()

Tiger_Secret::resolve() returns an unrecognized value unchanged as plaintext (the
adoption-friendly passthrough). This token-based unit guard makes the convention
airtight: a STRING-LITERAL argument to resolve() must be a recognized scheme ref
(ssm:/env:/file:/enc:/...), never a bare plaintext secret. Variables and
concatenations (the runtime-config path) are not flagged. Scans library/core/modules
(never tests/, which exercises the passthrough). Mutation-tested: the detector must
catch a plaintext literal and pass a scheme ref, a variable, a concatenation and a
comment. Rides the existing unit PHPUnit job; no workflow change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ
@WebTigers
WebTigers merged commit 62e522c into main Oct 24, 2026
14 checks passed
@WebTigers
WebTigers deleted the chore/tiger-382-secret-plaintext-lint branch October 24, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant