forked from mirrors/kingfisher
Why: Hyperscan doesn’t support lookaheads/behinds, so many “must contain X and Y” checks had to be baked into the regex (hurting readability) or were impossible. pattern_requirements applies lightweight, in-memory checks after a match is found, keeping patterns fast and clean.
20 lines
771 B
YAML
20 lines
771 B
YAML
rules:
|
|
- name: TeamCity API Token
|
|
id: kingfisher.teamcity.1
|
|
# This is a JWT-like format that always seems to have the same `{"typ": "TCV2"}` header.
|
|
# Note that the payload part does not decode as a JSON object, and hence makes this an invalid JWT.
|
|
pattern: |
|
|
(?x)
|
|
\b (
|
|
eyJ0eXAiOiAiVENWMiJ9 (?# decodes to `{"typ": "TCV2"}` )
|
|
\.
|
|
[A-Za-z0-9_-]{36}
|
|
\.
|
|
[A-Za-z0-9_-]{48}
|
|
)
|
|
pattern_requirements:
|
|
min_digits: 2
|
|
examples:
|
|
- '<add key="ClearTextPassword" value="eyJ0eXAiOiAiVENWMiJ9.RkNWLXdXS3M1RVBfencxM4A0WmJzdVlCQzFj.OGY1OWRkNGMtYTUxYS04ZDYwLWFiZGYtZWE5MWFhZWJiODhh" />'
|
|
references:
|
|
- https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html
|