From 49640c533894229a9cf2d2b14e27ddd344f8bd71 Mon Sep 17 00:00:00 2001 From: Mick Grove Date: Wed, 27 Aug 2025 11:25:39 -0700 Subject: [PATCH] added rules for cerbras, friendli, fireworks.ai --- CHANGELOG.md | 2 +- data/rules/cerebras.yml | 36 ++++++++++++++++++++++++++++++++++++ data/rules/fireworksai.yml | 35 +++++++++++++++++++++++++++++++++++ data/rules/friendli.yml | 35 +++++++++++++++++++++++++++++++++++ data/rules/nvidia.yml | 0 5 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 data/rules/cerebras.yml create mode 100644 data/rules/fireworksai.yml create mode 100644 data/rules/friendli.yml create mode 100644 data/rules/nvidia.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ffb1e7..308ed0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. ## [1.46.0] - Improved rules: AWS, pem -- Added rule for Ollama, Weights and Biases +- Added rule for Ollama, Weights and Biases, Cerebras, Friendli, Fireworks.ai - Added a new precommit subcommand that installs a git pre-commit hook, prompting or accepting --global/--repo flags to control scope and configuring the hook to run kingfisher --quiet --only-valid --no-update-check ## [1.45.0] diff --git a/data/rules/cerebras.yml b/data/rules/cerebras.yml new file mode 100644 index 0000000..bb5ad17 --- /dev/null +++ b/data/rules/cerebras.yml @@ -0,0 +1,36 @@ +rules: + - name: Cerebras AI API Key + id: kingfisher.cerebras.1 + pattern: | + (?xi) + \b + ( + csk-[a-z0-9]{48} + ) + \b + confidence: medium + min_entropy: 3.0 + validation: + type: Http + content: + request: + method: GET + url: "https://api.cerebras.ai/v1/models" + headers: + Authorization: "Bearer {{TOKEN}}" + response_matcher: + - report_response: true + - type: StatusMatch + status: [200] + - type: WordMatch + words: + - '"object"' + - '"data"' + match_all_words: true + references: + - https://docs.cerebras.net/ + examples: + - "csk-6nptf4w5cx36fw58t3hkx48jvm52wm693pex5tjm29kn55yt" + - "csk-e2knhj8h3h4erp6crfx6rh52tvecj4xnwmtjf3mtrvtt54et" + - "csk-rhw8npjrp6kpv9phm55n5nv5rkkm4492jepx3yh65dc9cwe9" + - "csk-w6p3nxk3`c5249mrpmv642fffert28rwdkepffrpn8rtfr9h" diff --git a/data/rules/fireworksai.yml b/data/rules/fireworksai.yml new file mode 100644 index 0000000..9ca431f --- /dev/null +++ b/data/rules/fireworksai.yml @@ -0,0 +1,35 @@ +rules: + - name: Fireworks.ai API Key + id: kingfisher.fireworks.1 + pattern: | + (?xi) + \b + ( + fw_[A-Z0-9]{24} + ) + \b + confidence: medium + min_entropy: 3.5 + validation: + type: Http + content: + request: + method: GET + url: "https://api.fireworks.ai/inference/v1/models" + headers: + Authorization: "Bearer {{TOKEN}}" + response_matcher: + - report_response: true + - type: StatusMatch + status: [200] + - type: WordMatch + words: + - '"owned_by"' + - '"data"' + match_all_words: true + references: + - https://readme.fireworks.ai/reference/getting-started-with-the-api + examples: + - "fw_3ZL5ji26Tp7baYrW5S2pA5xi" + - "fw_3ZaW5fSpx5GTnHpRGb8CPu2V" + - "fw_3ZSU8ymvmZ38YPv8uwbZHAyW" diff --git a/data/rules/friendli.yml b/data/rules/friendli.yml new file mode 100644 index 0000000..ec5f3ec --- /dev/null +++ b/data/rules/friendli.yml @@ -0,0 +1,35 @@ +rules: + - name: Friendli.ai API Key + id: kingfisher.friendli.1 + pattern: | + (?xi) + \b + ( + flp_[A-Z0-9]{46} + ) + \b + confidence: medium + min_entropy: 3.0 + validation: + type: Http + content: + request: + method: GET + url: "https://api.friendli.ai/dedicated/beta/endpoint" + headers: + Authorization: "Bearer {{ TOKEN }}" + Content-Type: "application/json" + response_matcher: + - report_response: true + - type: StatusMatch + status: [200] + - type: WordMatch + words: + - '"data"' + - '"status"' + references: + - https://docs.friendli.ai/reference/authentication + examples: + - "flp_eb8CAc1OHdVISFraFZXFYQeH1CYtqM2VdYFvV1duniWw32" + - "flp_fYvncz2Ahh4YEfSKbNoT09DWlwPq5I7svZG2l1bdbpOg1c" + - "flp_kGcjWhZQ4zYQnY7b3O6nukAhflKZJeS7pNDhs79IRrfodc" diff --git a/data/rules/nvidia.yml b/data/rules/nvidia.yml new file mode 100644 index 0000000..e69de29