diff --git a/pkg/providers/definitions/codeium.yaml b/pkg/providers/definitions/codeium.yaml new file mode 100644 index 0000000..a5dd8c3 --- /dev/null +++ b/pkg/providers/definitions/codeium.yaml @@ -0,0 +1,17 @@ +format_version: 1 +name: codeium +display_name: Codeium (Windsurf) +tier: 7 +last_verified: "2026-04-05" +keywords: + - "codeium" + - "windsurf" + - "CODEIUM_API_KEY" + - "WINDSURF_API_KEY" + - "codeium.com" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: [] diff --git a/pkg/providers/definitions/cursor.yaml b/pkg/providers/definitions/cursor.yaml new file mode 100644 index 0000000..beea485 --- /dev/null +++ b/pkg/providers/definitions/cursor.yaml @@ -0,0 +1,17 @@ +format_version: 1 +name: cursor +display_name: Cursor AI +tier: 7 +last_verified: "2026-04-05" +keywords: + - "cursor" + - "CURSOR_API_KEY" + - "cursor.sh" + - "cursor.com" + - "cursor-ide" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: [] diff --git a/pkg/providers/definitions/github-copilot.yaml b/pkg/providers/definitions/github-copilot.yaml new file mode 100644 index 0000000..bc46122 --- /dev/null +++ b/pkg/providers/definitions/github-copilot.yaml @@ -0,0 +1,25 @@ +format_version: 1 +name: github-copilot +display_name: GitHub Copilot +tier: 7 +last_verified: "2026-04-05" +keywords: + - "copilot" + - "github-copilot" + - "GITHUB_COPILOT_TOKEN" + - "api.githubcopilot.com" + - "copilot-internal" +patterns: + - regex: 'ghu_[A-Za-z0-9]{36}' + entropy_min: 4.0 + confidence: medium + - regex: 'gho_[A-Za-z0-9]{36}' + entropy_min: 4.0 + confidence: medium +verify: + method: GET + url: https://api.github.com/user + headers: + Authorization: "token {KEY}" + valid_status: [200] + invalid_status: [401, 403] diff --git a/pkg/providers/definitions/sourcegraph.yaml b/pkg/providers/definitions/sourcegraph.yaml new file mode 100644 index 0000000..69f4246 --- /dev/null +++ b/pkg/providers/definitions/sourcegraph.yaml @@ -0,0 +1,26 @@ +format_version: 1 +name: sourcegraph +display_name: Sourcegraph Cody +tier: 7 +last_verified: "2026-04-05" +keywords: + - "sourcegraph" + - "cody" + - "SRC_ACCESS_TOKEN" + - "SOURCEGRAPH_TOKEN" + - "sourcegraph.com" + - "sgp_" +patterns: + - regex: 'sgp_[A-Fa-f0-9]{16,}_[A-Fa-f0-9]{40}' + entropy_min: 4.0 + confidence: high + - regex: 'sgp_[A-Fa-f0-9]{40}' + entropy_min: 4.0 + confidence: medium +verify: + method: GET + url: https://sourcegraph.com/.api/graphql + headers: + Authorization: "token {KEY}" + valid_status: [200] + invalid_status: [401, 403] diff --git a/pkg/providers/definitions/tabnine.yaml b/pkg/providers/definitions/tabnine.yaml new file mode 100644 index 0000000..0f36f94 --- /dev/null +++ b/pkg/providers/definitions/tabnine.yaml @@ -0,0 +1,16 @@ +format_version: 1 +name: tabnine +display_name: Tabnine +tier: 7 +last_verified: "2026-04-05" +keywords: + - "tabnine" + - "TABNINE_API_KEY" + - "api.tabnine.com" + - "tabnine-pro" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: [] diff --git a/providers/codeium.yaml b/providers/codeium.yaml new file mode 100644 index 0000000..a5dd8c3 --- /dev/null +++ b/providers/codeium.yaml @@ -0,0 +1,17 @@ +format_version: 1 +name: codeium +display_name: Codeium (Windsurf) +tier: 7 +last_verified: "2026-04-05" +keywords: + - "codeium" + - "windsurf" + - "CODEIUM_API_KEY" + - "WINDSURF_API_KEY" + - "codeium.com" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: [] diff --git a/providers/cursor.yaml b/providers/cursor.yaml new file mode 100644 index 0000000..beea485 --- /dev/null +++ b/providers/cursor.yaml @@ -0,0 +1,17 @@ +format_version: 1 +name: cursor +display_name: Cursor AI +tier: 7 +last_verified: "2026-04-05" +keywords: + - "cursor" + - "CURSOR_API_KEY" + - "cursor.sh" + - "cursor.com" + - "cursor-ide" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: [] diff --git a/providers/github-copilot.yaml b/providers/github-copilot.yaml new file mode 100644 index 0000000..bc46122 --- /dev/null +++ b/providers/github-copilot.yaml @@ -0,0 +1,25 @@ +format_version: 1 +name: github-copilot +display_name: GitHub Copilot +tier: 7 +last_verified: "2026-04-05" +keywords: + - "copilot" + - "github-copilot" + - "GITHUB_COPILOT_TOKEN" + - "api.githubcopilot.com" + - "copilot-internal" +patterns: + - regex: 'ghu_[A-Za-z0-9]{36}' + entropy_min: 4.0 + confidence: medium + - regex: 'gho_[A-Za-z0-9]{36}' + entropy_min: 4.0 + confidence: medium +verify: + method: GET + url: https://api.github.com/user + headers: + Authorization: "token {KEY}" + valid_status: [200] + invalid_status: [401, 403] diff --git a/providers/sourcegraph.yaml b/providers/sourcegraph.yaml new file mode 100644 index 0000000..69f4246 --- /dev/null +++ b/providers/sourcegraph.yaml @@ -0,0 +1,26 @@ +format_version: 1 +name: sourcegraph +display_name: Sourcegraph Cody +tier: 7 +last_verified: "2026-04-05" +keywords: + - "sourcegraph" + - "cody" + - "SRC_ACCESS_TOKEN" + - "SOURCEGRAPH_TOKEN" + - "sourcegraph.com" + - "sgp_" +patterns: + - regex: 'sgp_[A-Fa-f0-9]{16,}_[A-Fa-f0-9]{40}' + entropy_min: 4.0 + confidence: high + - regex: 'sgp_[A-Fa-f0-9]{40}' + entropy_min: 4.0 + confidence: medium +verify: + method: GET + url: https://sourcegraph.com/.api/graphql + headers: + Authorization: "token {KEY}" + valid_status: [200] + invalid_status: [401, 403] diff --git a/providers/tabnine.yaml b/providers/tabnine.yaml new file mode 100644 index 0000000..0f36f94 --- /dev/null +++ b/providers/tabnine.yaml @@ -0,0 +1,16 @@ +format_version: 1 +name: tabnine +display_name: Tabnine +tier: 7 +last_verified: "2026-04-05" +keywords: + - "tabnine" + - "TABNINE_API_KEY" + - "api.tabnine.com" + - "tabnine-pro" +verify: + method: GET + url: "" + headers: {} + valid_status: [] + invalid_status: []