Add support for dot (.) in variables masking

Merged Tomasz Maczukin requested to merge support-dot-in-variables-masking into master

What does this MR do?

The CI/CD Variables masking mechanism supports a limited number of characters that can be masked. One of the currently unsuported ones is the dot (.) character.

This makes it unusable for example for JWT tokens in #37469 (closed).

The current limitation is mostly required to prevent usage of characters, that can be used in shell variables expansion, which would make the final masking pattern unpredictable. With the Raw Variables feature (that is under development) the restrictions could be possibly reduced a little. However for now, we're needing them.

However, it seems that the dot (.) usage should not generate the problem and it would improve the security of JSON Web Tokens passed to the CI/CD job with the Variables.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #37469 (closed)

Edited by Tomasz Maczukin