Documentation
¶
Overview ¶
Package verifier provides the secret verification infrastructure. Verifiers check whether detected secrets are active or inactive by making controlled, read-only API calls to the relevant services.
Index ¶
Constants ¶
const DefaultConcurrency = 4
DefaultConcurrency is the default number of concurrent verification workers.
const DefaultRateLimit = 10.0
DefaultRateLimit is the default maximum verification requests per second.
const DefaultTimeout = 10 * time.Second
DefaultTimeout is the default per-request verification timeout.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
// Enabled controls whether verification is performed at all.
Enabled bool
// Timeout is the maximum duration for a single verification request.
Timeout time.Duration
// Concurrency is the number of concurrent verification workers.
Concurrency int
// RateLimit is the maximum verification requests per second.
//
// The rate applies both as a per-detector budget (each distinct detector ID
// gets its own limiter of this rate) and as a global ceiling shared across
// all providers, so one high-volume detector type cannot starve the
// verification of unrelated findings in the same run.
RateLimit float64
}
Config holds the verification engine configuration.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a Config with sensible default values.
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine orchestrates concurrent secret verification with rate limiting. It maps findings to the appropriate verifier by detector ID and applies per-request timeouts and global rate limiting.
func NewEngine ¶
NewEngine creates a verification engine from the given config and verifier list. If cfg.Enabled is false, the engine will pass through findings unmodified.
func (*Engine) VerifyAll ¶
VerifyAll verifies all findings concurrently and returns updated findings. Findings without a matching verifier are returned with StatusUnverified. If the engine is disabled, all findings are returned as-is.
Concurrency safety: each worker writes to a distinct index in the results slice. In Go, distinct-index writes to a pre-allocated slice are safe without additional synchronization because they target non-overlapping memory locations.
type Verifier ¶
type Verifier interface {
// Type returns the detector ID this verifier handles.
// It must match the corresponding Detector.ID() value.
Type() string
// Verify checks if the detected secret is valid/active.
// It may make network calls, so the context must be respected for cancellation.
Verify(ctx context.Context, raw detector.RawFinding) finding.VerificationResult
}
Verifier validates whether a detected secret is active or inactive. Each implementation targets a specific detector type (e.g., AWS, GitHub). Implementations MUST NOT log or persist the raw secret content.
func Get ¶
Get returns the verifier registered for the given detector ID.
It is the public single-lookup counterpart to All (which the engine uses to snapshot every verifier). Get is retained for callers that need to resolve a single verifier by detector ID directly against the global registry (for example an ad-hoc single-secret verification path) without constructing an Engine.
type VerifyPair ¶
type VerifyPair struct {
Finding finding.Finding
Raw detector.RawFinding
}
VerifyPair associates a Finding with its corresponding RawFinding so the verification engine can pass raw secret data to verifiers while returning enriched Finding objects.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package airtable provides a verifier for Airtable personal access tokens.
|
Package airtable provides a verifier for Airtable personal access tokens. |
|
Package anthropic provides a verifier for Anthropic API keys.
|
Package anthropic provides a verifier for Anthropic API keys. |
|
Package auth0 provides a verifier for Auth0 Management API tokens.
|
Package auth0 provides a verifier for Auth0 Management API tokens. |
|
Package aws provides a verifier for AWS Access Key credentials.
|
Package aws provides a verifier for AWS Access Key credentials. |
|
Package azure provides verifiers for Azure secrets.
|
Package azure provides verifiers for Azure secrets. |
|
Package bitbucket provides a verifier for Bitbucket app passwords.
|
Package bitbucket provides a verifier for Bitbucket app passwords. |
|
Package circleci provides a verifier for CircleCI API tokens.
|
Package circleci provides a verifier for CircleCI API tokens. |
|
Package cloudflare provides a verifier for Cloudflare API tokens.
|
Package cloudflare provides a verifier for Cloudflare API tokens. |
|
Package coinbase provides a verifier for legacy Coinbase API keys.
|
Package coinbase provides a verifier for legacy Coinbase API keys. |
|
Package databricks provides a verifier for Databricks personal access tokens.
|
Package databricks provides a verifier for Databricks personal access tokens. |
|
Package datadog provides a verifier for Datadog API keys.
|
Package datadog provides a verifier for Datadog API keys. |
|
Package deepseek provides a verifier for DeepSeek API keys.
|
Package deepseek provides a verifier for DeepSeek API keys. |
|
Package digitalocean provides a verifier for DigitalOcean personal access tokens.
|
Package digitalocean provides a verifier for DigitalOcean personal access tokens. |
|
Package discord provides a verifier for Discord Bot tokens.
|
Package discord provides a verifier for Discord Bot tokens. |
|
Package dockerhub provides a verifier for Docker Hub Personal Access Tokens.
|
Package dockerhub provides a verifier for Docker Hub Personal Access Tokens. |
|
Package doppler provides a verifier for Doppler tokens.
|
Package doppler provides a verifier for Doppler tokens. |
|
Package figma provides a verifier for Figma personal access tokens.
|
Package figma provides a verifier for Figma personal access tokens. |
|
Package gcp provides a verifier for GCP service account keys.
|
Package gcp provides a verifier for GCP service account keys. |
|
Package github also provides a verifier for GitHub OAuth tokens.
|
Package github also provides a verifier for GitHub OAuth tokens. |
|
Package gitlab provides a verifier for GitLab personal access tokens.
|
Package gitlab provides a verifier for GitLab personal access tokens. |
|
Package grafana provides a verifier for Grafana API keys.
|
Package grafana provides a verifier for Grafana API keys. |
|
Package heroku provides a verifier for Heroku API keys.
|
Package heroku provides a verifier for Heroku API keys. |
|
Package huggingface provides a verifier for HuggingFace tokens.
|
Package huggingface provides a verifier for HuggingFace tokens. |
|
Package infura provides a verifier for Infura API keys.
|
Package infura provides a verifier for Infura API keys. |
|
internal
|
|
|
httpx
Package httpx provides a shared, security-hardened HTTP client and helpers for use by secret verifiers.
|
Package httpx provides a shared, security-hardened HTTP client and helpers for use by secret verifiers. |
|
vtest
Package vtest provides reusable, table-driven test helpers shared by the secret verifier packages.
|
Package vtest provides reusable, table-driven test helpers shared by the secret verifier packages. |
|
Package launchdarkly provides a verifier for LaunchDarkly SDK keys.
|
Package launchdarkly provides a verifier for LaunchDarkly SDK keys. |
|
Package linear provides a verifier for Linear API keys.
|
Package linear provides a verifier for Linear API keys. |
|
Package mailgun provides a verifier for Mailgun API keys.
|
Package mailgun provides a verifier for Mailgun API keys. |
|
Package newrelic provides a verifier for New Relic API keys.
|
Package newrelic provides a verifier for New Relic API keys. |
|
Package notion provides a verifier for Notion integration tokens.
|
Package notion provides a verifier for Notion integration tokens. |
|
Package npm provides a verifier for npm authentication tokens.
|
Package npm provides a verifier for npm authentication tokens. |
|
Package okta provides a verifier for Okta API tokens.
|
Package okta provides a verifier for Okta API tokens. |
|
Package openai provides a verifier for OpenAI API keys.
|
Package openai provides a verifier for OpenAI API keys. |
|
Package pagerduty provides a verifier for PagerDuty API keys.
|
Package pagerduty provides a verifier for PagerDuty API keys. |
|
Package postmark provides a verifier for Postmark Server Tokens.
|
Package postmark provides a verifier for Postmark Server Tokens. |
|
Package pypi provides a verifier for PyPI API tokens.
|
Package pypi provides a verifier for PyPI API tokens. |
|
Package rabbitmq provides a verifier for RabbitMQ connection strings.
|
Package rabbitmq provides a verifier for RabbitMQ connection strings. |
|
Package rubygems provides a verifier for RubyGems API keys.
|
Package rubygems provides a verifier for RubyGems API keys. |
|
Package sendgrid provides a verifier for SendGrid API keys.
|
Package sendgrid provides a verifier for SendGrid API keys. |
|
Package sentry provides a verifier for Sentry authentication tokens.
|
Package sentry provides a verifier for Sentry authentication tokens. |
|
Package shopify provides a verifier for Shopify access tokens.
|
Package shopify provides a verifier for Shopify access tokens. |
|
Package slack provides a verifier for Slack Bot/User tokens.
|
Package slack provides a verifier for Slack Bot/User tokens. |
|
Package snowflake provides a verifier for Snowflake credentials.
|
Package snowflake provides a verifier for Snowflake credentials. |
|
Package snyk provides a verifier for Snyk API keys.
|
Package snyk provides a verifier for Snyk API keys. |
|
Package sonarcloud provides a verifier for SonarCloud tokens.
|
Package sonarcloud provides a verifier for SonarCloud tokens. |
|
Package stripe provides verifiers for Stripe API keys (live and test).
|
Package stripe provides verifiers for Stripe API keys (live and test). |
|
Package supabase provides a verifier for Supabase service keys.
|
Package supabase provides a verifier for Supabase service keys. |
|
Package teams provides a verifier for Microsoft Teams webhook URLs.
|
Package teams provides a verifier for Microsoft Teams webhook URLs. |
|
Package telegram provides a verifier for Telegram Bot tokens.
|
Package telegram provides a verifier for Telegram Bot tokens. |
|
Package terraform provides a verifier for Terraform Cloud API tokens.
|
Package terraform provides a verifier for Terraform Cloud API tokens. |
|
Package twilio provides a verifier for Twilio API keys.
|
Package twilio provides a verifier for Twilio API keys. |
|
Package vercel provides a verifier for Vercel authentication tokens.
|
Package vercel provides a verifier for Vercel authentication tokens. |