Assess special character & length limitations in masked variables
Problem to solve
In gitlab-foss#13784 (closed), Gitlab delivered the capability to mask secret variables out from the logs to ensure secret AUTH data is not leaked to users and secrets/tokens are kept secret. aka "Masked Variables" feature.
Since then, there have been a few (1 or 2?) iterations of missed requirements in terms of the limitations of the features for both "disallowed characters" and "anti-length restrictions".
Let's assess the remaining limitations.
Developer & DevOps
The latest round here identifies:
>8-charlimitation is strange
As there have been further limitations identified, the purpose of this ticket is to re-assess these limitations, remove them if possible, and document those that cannot be fixed (and why).
Permissions and Security
Obviously some characters MAY be dangerous to mask if they are special in the shell or in the backend code. Care must be taken to ensure masking is always safe, and no unsupported input chars can crash or corrupt.
What does success look like, and how can we measure that?
At the end of this, the goal is two-fold:
- Relax the "character limitation" as much as possible (anything that isn't technically restricted)
- Remove the "min-length of 8 chars" (there may be cases where even a single character is "secret" and masking is desired)