diff --git a/crates/kingfisher-rules/data/rules/testkube.yml b/crates/kingfisher-rules/data/rules/testkube.yml new file mode 100644 index 0000000..a401bbb --- /dev/null +++ b/crates/kingfisher-rules/data/rules/testkube.yml @@ -0,0 +1,71 @@ +rules: + - name: Testkube API Key + id: kingfisher.testkube.1 + pattern: | + (?xi) + \b + ( + tkcapi_[a-z0-9]{30,64} + ) + \b + pattern_requirements: + min_digits: 2 + min_entropy: 3.5 + confidence: medium + examples: + - "TK_ACCESS_TOKEN=tkcapi_yj871onwc7zk7ov14yl1iukkpu37dx" + - "testkubeToken: tkcapi_ic1hq66xskn42i1cy168oj43rixud1" + references: + - https://docs.testkube.io/articles/api-token-management + - https://docs.testkube.io/openapi/overview + depends_on_rule: + - rule_id: kingfisher.testkube.2 + variable: ORGID + - rule_id: kingfisher.testkube.3 + variable: ENVID + validation: + type: Http + content: + request: + method: GET + url: https://api.testkube.io/organizations/{{ ORGID }}/environments/{{ ENVID }} + headers: + Authorization: "Bearer {{ TOKEN }}" + response_matcher: + - report_response: true + - type: StatusMatch + status: [200] + + - name: Testkube Organization ID + id: kingfisher.testkube.2 + pattern: | + (?xi) + \b + ( + tkcorg_[a-z0-9]{16,32} + ) + \b + min_entropy: 3.0 + confidence: medium + visible: false + examples: + - TK_ORG_ID=tkcorg_sski0qzef7c9brh3 + references: + - https://docs.testkube.io/openapi/overview + + - name: Testkube Environment ID + id: kingfisher.testkube.3 + pattern: | + (?xi) + \b + ( + tkcenv_[a-z0-9]{16,32} + ) + \b + min_entropy: 3.0 + confidence: medium + visible: false + examples: + - TK_ENV_ID=tkcenv_nwjpsfue4f2zjtia + references: + - https://docs.testkube.io/openapi/overview