secretsv1

package
v0.0.0-...-1a28f28 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SecretType_name = map[int32]string{
		0:  "SECRET_TYPE_UNSPECIFIED",
		1:  "SECRET_TYPE_GCP_API_KEY",
		2:  "SECRET_TYPE_GCP_SERVICE_ACCOUNT_KEY",
		3:  "SECRET_TYPE_AWS_ACCESS_KEY",
		4:  "SECRET_TYPE_AWS_SECRET_KEY",
		5:  "SECRET_TYPE_AZURE_SAS_TOKEN",
		6:  "SECRET_TYPE_DIGITALOCEAN_TOKEN",
		10: "SECRET_TYPE_GITHUB_TOKEN",
		11: "SECRET_TYPE_GITHUB_FINE_GRAINED_TOKEN",
		12: "SECRET_TYPE_GITLAB_TOKEN",
		13: "SECRET_TYPE_BITBUCKET_TOKEN",
		14: "SECRET_TYPE_TERRAFORM_TOKEN",
		20: "SECRET_TYPE_SLACK_TOKEN",
		21: "SECRET_TYPE_SLACK_WEBHOOK",
		22: "SECRET_TYPE_DISCORD_TOKEN",
		23: "SECRET_TYPE_TELEGRAM_TOKEN",
		30: "SECRET_TYPE_STRIPE_KEY",
		31: "SECRET_TYPE_SENDGRID_KEY",
		32: "SECRET_TYPE_MAILGUN_KEY",
		33: "SECRET_TYPE_TWILIO_KEY",
		34: "SECRET_TYPE_HEROKU_API_KEY",
		40: "SECRET_TYPE_NPM_TOKEN",
		41: "SECRET_TYPE_PYPI_TOKEN",
		42: "SECRET_TYPE_RUBYGEMS_API_KEY",
		50: "SECRET_TYPE_OPENAI_KEY",
		51: "SECRET_TYPE_ANTHROPIC_KEY",
		60: "SECRET_TYPE_CLOUDFLARE_API_KEY",
		61: "SECRET_TYPE_DATADOG_API_KEY",
		62: "SECRET_TYPE_LINEAR_API_KEY",
		70: "SECRET_TYPE_PRIVATE_KEY",
		71: "SECRET_TYPE_JWT",
		72: "SECRET_TYPE_GENERIC_API_KEY",
		73: "SECRET_TYPE_HIGH_ENTROPY_STRING",
		74: "SECRET_TYPE_SENSITIVE_ENV_VAR",
	}
	SecretType_value = map[string]int32{
		"SECRET_TYPE_UNSPECIFIED":               0,
		"SECRET_TYPE_GCP_API_KEY":               1,
		"SECRET_TYPE_GCP_SERVICE_ACCOUNT_KEY":   2,
		"SECRET_TYPE_AWS_ACCESS_KEY":            3,
		"SECRET_TYPE_AWS_SECRET_KEY":            4,
		"SECRET_TYPE_AZURE_SAS_TOKEN":           5,
		"SECRET_TYPE_DIGITALOCEAN_TOKEN":        6,
		"SECRET_TYPE_GITHUB_TOKEN":              10,
		"SECRET_TYPE_GITHUB_FINE_GRAINED_TOKEN": 11,
		"SECRET_TYPE_GITLAB_TOKEN":              12,
		"SECRET_TYPE_BITBUCKET_TOKEN":           13,
		"SECRET_TYPE_TERRAFORM_TOKEN":           14,
		"SECRET_TYPE_SLACK_TOKEN":               20,
		"SECRET_TYPE_SLACK_WEBHOOK":             21,
		"SECRET_TYPE_DISCORD_TOKEN":             22,
		"SECRET_TYPE_TELEGRAM_TOKEN":            23,
		"SECRET_TYPE_STRIPE_KEY":                30,
		"SECRET_TYPE_SENDGRID_KEY":              31,
		"SECRET_TYPE_MAILGUN_KEY":               32,
		"SECRET_TYPE_TWILIO_KEY":                33,
		"SECRET_TYPE_HEROKU_API_KEY":            34,
		"SECRET_TYPE_NPM_TOKEN":                 40,
		"SECRET_TYPE_PYPI_TOKEN":                41,
		"SECRET_TYPE_RUBYGEMS_API_KEY":          42,
		"SECRET_TYPE_OPENAI_KEY":                50,
		"SECRET_TYPE_ANTHROPIC_KEY":             51,
		"SECRET_TYPE_CLOUDFLARE_API_KEY":        60,
		"SECRET_TYPE_DATADOG_API_KEY":           61,
		"SECRET_TYPE_LINEAR_API_KEY":            62,
		"SECRET_TYPE_PRIVATE_KEY":               70,
		"SECRET_TYPE_JWT":                       71,
		"SECRET_TYPE_GENERIC_API_KEY":           72,
		"SECRET_TYPE_HIGH_ENTROPY_STRING":       73,
		"SECRET_TYPE_SENSITIVE_ENV_VAR":         74,
	}
)

Enum value maps for SecretType.

View Source
var (
	SecretSource_name = map[int32]string{
		0: "SECRET_SOURCE_UNSPECIFIED",
		1: "SECRET_SOURCE_FILE",
		2: "SECRET_SOURCE_ENV_VAR",
		3: "SECRET_SOURCE_CONTAINER_HISTORY",
		4: "SECRET_SOURCE_CONTAINER_LABEL",
		5: "SECRET_SOURCE_CONTAINER_LAYER",
		6: "SECRET_SOURCE_GIT_COMMIT",
		7: "SECRET_SOURCE_ARCHIVE_ENTRY",
		8: "SECRET_SOURCE_BINARY_STRINGS",
	}
	SecretSource_value = map[string]int32{
		"SECRET_SOURCE_UNSPECIFIED":       0,
		"SECRET_SOURCE_FILE":              1,
		"SECRET_SOURCE_ENV_VAR":           2,
		"SECRET_SOURCE_CONTAINER_HISTORY": 3,
		"SECRET_SOURCE_CONTAINER_LABEL":   4,
		"SECRET_SOURCE_CONTAINER_LAYER":   5,
		"SECRET_SOURCE_GIT_COMMIT":        6,
		"SECRET_SOURCE_ARCHIVE_ENTRY":     7,
		"SECRET_SOURCE_BINARY_STRINGS":    8,
	}
)

Enum value maps for SecretSource.

View Source
var (
	VerificationResult_name = map[int32]string{
		0: "VERIFICATION_RESULT_UNSPECIFIED",
		1: "VERIFICATION_RESULT_VALID",
		2: "VERIFICATION_RESULT_INVALID",
		3: "VERIFICATION_RESULT_EXPIRED",
		4: "VERIFICATION_RESULT_RATE_LIMITED",
		5: "VERIFICATION_RESULT_ERROR",
		6: "VERIFICATION_RESULT_SKIPPED",
	}
	VerificationResult_value = map[string]int32{
		"VERIFICATION_RESULT_UNSPECIFIED":  0,
		"VERIFICATION_RESULT_VALID":        1,
		"VERIFICATION_RESULT_INVALID":      2,
		"VERIFICATION_RESULT_EXPIRED":      3,
		"VERIFICATION_RESULT_RATE_LIMITED": 4,
		"VERIFICATION_RESULT_ERROR":        5,
		"VERIFICATION_RESULT_SKIPPED":      6,
	}
)

Enum value maps for VerificationResult.

View Source
var (
	DetectorSource_name = map[int32]string{
		0: "DETECTOR_SOURCE_UNSPECIFIED",
		1: "DETECTOR_SOURCE_BUILTIN",
		2: "DETECTOR_SOURCE_VELES",
		3: "DETECTOR_SOURCE_PATTERN",
		4: "DETECTOR_SOURCE_PLUGIN",
		5: "DETECTOR_SOURCE_CUSTOM",
	}
	DetectorSource_value = map[string]int32{
		"DETECTOR_SOURCE_UNSPECIFIED": 0,
		"DETECTOR_SOURCE_BUILTIN":     1,
		"DETECTOR_SOURCE_VELES":       2,
		"DETECTOR_SOURCE_PATTERN":     3,
		"DETECTOR_SOURCE_PLUGIN":      4,
		"DETECTOR_SOURCE_CUSTOM":      5,
	}
)

Enum value maps for DetectorSource.

View Source
var (
	ScanPhase_name = map[int32]string{
		0: "SCAN_PHASE_UNSPECIFIED",
		1: "SCAN_PHASE_INITIALIZING",
		2: "SCAN_PHASE_RESOLVING_TARGET",
		3: "SCAN_PHASE_EXTRACTING_FILES",
		4: "SCAN_PHASE_SCANNING",
		5: "SCAN_PHASE_VERIFYING",
		6: "SCAN_PHASE_EVALUATING_POLICIES",
		7: "SCAN_PHASE_COMPLETE",
		8: "SCAN_PHASE_FAILED",
	}
	ScanPhase_value = map[string]int32{
		"SCAN_PHASE_UNSPECIFIED":         0,
		"SCAN_PHASE_INITIALIZING":        1,
		"SCAN_PHASE_RESOLVING_TARGET":    2,
		"SCAN_PHASE_EXTRACTING_FILES":    3,
		"SCAN_PHASE_SCANNING":            4,
		"SCAN_PHASE_VERIFYING":           5,
		"SCAN_PHASE_EVALUATING_POLICIES": 6,
		"SCAN_PHASE_COMPLETE":            7,
		"SCAN_PHASE_FAILED":              8,
	}
)

Enum value maps for ScanPhase.

View Source
var File_deputy_secrets_v1_secrets_proto protoreflect.FileDescriptor
View Source
var File_deputy_secrets_v1_service_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ArchiveContext

type ArchiveContext struct {

	// ArchivePath is the path to the archive file.
	ArchivePath string `protobuf:"bytes,1,opt,name=archive_path,json=archivePath,proto3" json:"archive_path,omitempty"`
	// EntryPath is the path within the archive.
	EntryPath string `protobuf:"bytes,2,opt,name=entry_path,json=entryPath,proto3" json:"entry_path,omitempty"`
	// NestingDepth is how many archives deep this is (0 = top-level).
	NestingDepth int32 `protobuf:"varint,3,opt,name=nesting_depth,json=nestingDepth,proto3" json:"nesting_depth,omitempty"`
	// contains filtered or unexported fields
}

ArchiveContext provides context when a secret is found in an archive.

func (*ArchiveContext) Descriptor deprecated

func (*ArchiveContext) Descriptor() ([]byte, []int)

Deprecated: Use ArchiveContext.ProtoReflect.Descriptor instead.

func (*ArchiveContext) GetArchivePath

func (x *ArchiveContext) GetArchivePath() string

func (*ArchiveContext) GetEntryPath

func (x *ArchiveContext) GetEntryPath() string

func (*ArchiveContext) GetNestingDepth

func (x *ArchiveContext) GetNestingDepth() int32

func (*ArchiveContext) ProtoMessage

func (*ArchiveContext) ProtoMessage()

func (*ArchiveContext) ProtoReflect

func (x *ArchiveContext) ProtoReflect() protoreflect.Message

func (*ArchiveContext) Reset

func (x *ArchiveContext) Reset()

func (*ArchiveContext) String

func (x *ArchiveContext) String() string

type Baseline

type Baseline struct {

	// Version of the baseline format.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// GeneratedAt is when this baseline was created.
	GeneratedAt string `protobuf:"bytes,2,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	// Entries are the baselined findings.
	Entries []*BaselineEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"`
	// contains filtered or unexported fields
}

Baseline represents known/accepted secrets for incremental scanning.

func (*Baseline) Descriptor deprecated

func (*Baseline) Descriptor() ([]byte, []int)

Deprecated: Use Baseline.ProtoReflect.Descriptor instead.

func (*Baseline) GetEntries

func (x *Baseline) GetEntries() []*BaselineEntry

func (*Baseline) GetGeneratedAt

func (x *Baseline) GetGeneratedAt() string

func (*Baseline) GetVersion

func (x *Baseline) GetVersion() string

func (*Baseline) ProtoMessage

func (*Baseline) ProtoMessage()

func (*Baseline) ProtoReflect

func (x *Baseline) ProtoReflect() protoreflect.Message

func (*Baseline) Reset

func (x *Baseline) Reset()

func (*Baseline) String

func (x *Baseline) String() string

type BaselineEntry

type BaselineEntry struct {

	// Type of the secret.
	Type SecretType `protobuf:"varint,1,opt,name=type,proto3,enum=deputy.secrets.v1.SecretType" json:"type,omitempty"`
	// File where the secret was found.
	File string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	// Line number.
	Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
	// Hash is a content-based hash (avoids storing actual secret).
	Hash string `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"`
	// Reason for baselining (e.g., "false_positive", "test_data", "rotated").
	Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	// AddedAt is when this entry was baselined.
	AddedAt string `protobuf:"bytes,6,opt,name=added_at,json=addedAt,proto3" json:"added_at,omitempty"`
	// contains filtered or unexported fields
}

BaselineEntry represents a single baselined finding.

func (*BaselineEntry) Descriptor deprecated

func (*BaselineEntry) Descriptor() ([]byte, []int)

Deprecated: Use BaselineEntry.ProtoReflect.Descriptor instead.

func (*BaselineEntry) GetAddedAt

func (x *BaselineEntry) GetAddedAt() string

func (*BaselineEntry) GetFile

func (x *BaselineEntry) GetFile() string

func (*BaselineEntry) GetHash

func (x *BaselineEntry) GetHash() string

func (*BaselineEntry) GetLine

func (x *BaselineEntry) GetLine() int32

func (*BaselineEntry) GetReason

func (x *BaselineEntry) GetReason() string

func (*BaselineEntry) GetType

func (x *BaselineEntry) GetType() SecretType

func (*BaselineEntry) ProtoMessage

func (*BaselineEntry) ProtoMessage()

func (*BaselineEntry) ProtoReflect

func (x *BaselineEntry) ProtoReflect() protoreflect.Message

func (*BaselineEntry) Reset

func (x *BaselineEntry) Reset()

func (*BaselineEntry) String

func (x *BaselineEntry) String() string

type ContainerContext

type ContainerContext struct {

	// LayerIndex is the layer position (0 = oldest/base layer).
	LayerIndex int32 `protobuf:"varint,1,opt,name=layer_index,json=layerIndex,proto3" json:"layer_index,omitempty"`
	// LayerDigest is the layer content digest.
	LayerDigest string `protobuf:"bytes,2,opt,name=layer_digest,json=layerDigest,proto3" json:"layer_digest,omitempty"`
	// LayerCommand is the Dockerfile instruction that created this layer.
	LayerCommand string `protobuf:"bytes,3,opt,name=layer_command,json=layerCommand,proto3" json:"layer_command,omitempty"`
	// InBaseImage indicates whether this layer is from the base image (FROM).
	InBaseImage bool `protobuf:"varint,4,opt,name=in_base_image,json=inBaseImage,proto3" json:"in_base_image,omitempty"`
	// contains filtered or unexported fields
}

ContainerContext provides context when a secret is found in a container image.

func (*ContainerContext) Descriptor deprecated

func (*ContainerContext) Descriptor() ([]byte, []int)

Deprecated: Use ContainerContext.ProtoReflect.Descriptor instead.

func (*ContainerContext) GetInBaseImage

func (x *ContainerContext) GetInBaseImage() bool

func (*ContainerContext) GetLayerCommand

func (x *ContainerContext) GetLayerCommand() string

func (*ContainerContext) GetLayerDigest

func (x *ContainerContext) GetLayerDigest() string

func (*ContainerContext) GetLayerIndex

func (x *ContainerContext) GetLayerIndex() int32

func (*ContainerContext) ProtoMessage

func (*ContainerContext) ProtoMessage()

func (*ContainerContext) ProtoReflect

func (x *ContainerContext) ProtoReflect() protoreflect.Message

func (*ContainerContext) Reset

func (x *ContainerContext) Reset()

func (*ContainerContext) String

func (x *ContainerContext) String() string

type DetectorInfo

type DetectorInfo struct {

	// ID is a unique identifier for this detector.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name is a human-readable name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Description explains what the detector finds.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Types are the secret types this detector can find.
	Types []SecretType `protobuf:"varint,4,rep,packed,name=types,proto3,enum=deputy.secrets.v1.SecretType" json:"types,omitempty"`
	// Source indicates the detector's origin.
	Source DetectorSource `protobuf:"varint,5,opt,name=source,proto3,enum=deputy.secrets.v1.DetectorSource" json:"source,omitempty"`
	// Version of the detector (for plugins).
	Version string `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"`
	// Enabled indicates if this detector is active.
	Enabled bool `protobuf:"varint,7,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// contains filtered or unexported fields
}

DetectorInfo describes a secret detector.

func (*DetectorInfo) Descriptor deprecated

func (*DetectorInfo) Descriptor() ([]byte, []int)

Deprecated: Use DetectorInfo.ProtoReflect.Descriptor instead.

func (*DetectorInfo) GetDescription

func (x *DetectorInfo) GetDescription() string

func (*DetectorInfo) GetEnabled

func (x *DetectorInfo) GetEnabled() bool

func (*DetectorInfo) GetId

func (x *DetectorInfo) GetId() string

func (*DetectorInfo) GetName

func (x *DetectorInfo) GetName() string

func (*DetectorInfo) GetSource

func (x *DetectorInfo) GetSource() DetectorSource

func (*DetectorInfo) GetTypes

func (x *DetectorInfo) GetTypes() []SecretType

func (*DetectorInfo) GetVersion

func (x *DetectorInfo) GetVersion() string

func (*DetectorInfo) ProtoMessage

func (*DetectorInfo) ProtoMessage()

func (*DetectorInfo) ProtoReflect

func (x *DetectorInfo) ProtoReflect() protoreflect.Message

func (*DetectorInfo) Reset

func (x *DetectorInfo) Reset()

func (*DetectorInfo) String

func (x *DetectorInfo) String() string

type DetectorSource

type DetectorSource int32

DetectorSource indicates where a detector comes from.

const (
	DetectorSource_DETECTOR_SOURCE_UNSPECIFIED DetectorSource = 0
	DetectorSource_DETECTOR_SOURCE_BUILTIN     DetectorSource = 1 // Built into Deputy
	DetectorSource_DETECTOR_SOURCE_VELES       DetectorSource = 2 // From OSV-SCALIBR Veles
	DetectorSource_DETECTOR_SOURCE_PATTERN     DetectorSource = 3 // Regex-based pattern
	DetectorSource_DETECTOR_SOURCE_PLUGIN      DetectorSource = 4 // External plugin
	DetectorSource_DETECTOR_SOURCE_CUSTOM      DetectorSource = 5 // User-defined pattern
)

func (DetectorSource) Descriptor

func (DetectorSource) Enum

func (x DetectorSource) Enum() *DetectorSource

func (DetectorSource) EnumDescriptor deprecated

func (DetectorSource) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectorSource.Descriptor instead.

func (DetectorSource) Number

func (DetectorSource) String

func (x DetectorSource) String() string

func (DetectorSource) Type

type Finding

type Finding struct {

	// Type identifies what kind of secret was found.
	Type SecretType `protobuf:"varint,1,opt,name=type,proto3,enum=deputy.secrets.v1.SecretType" json:"type,omitempty"`
	// Description provides human-readable context.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Location describes where the secret was found.
	Location *Location `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
	// Redacted is a safe representation for display (e.g., "[REDACTED:github_token:ghp_...]").
	Redacted string `protobuf:"bytes,4,opt,name=redacted,proto3" json:"redacted,omitempty"`
	// Confidence indicates detection certainty (0.0-1.0).
	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
	// Verification status if the secret was validated.
	Verification *VerificationStatus `protobuf:"bytes,6,opt,name=verification,proto3" json:"verification,omitempty"`
	// Metadata contains additional context specific to the secret type or source.
	Metadata map[string]string `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

Finding represents a detected secret.

func (*Finding) Descriptor deprecated

func (*Finding) Descriptor() ([]byte, []int)

Deprecated: Use Finding.ProtoReflect.Descriptor instead.

func (*Finding) GetConfidence

func (x *Finding) GetConfidence() float32

func (*Finding) GetDescription

func (x *Finding) GetDescription() string

func (*Finding) GetLocation

func (x *Finding) GetLocation() *Location

func (*Finding) GetMetadata

func (x *Finding) GetMetadata() map[string]string

func (*Finding) GetRedacted

func (x *Finding) GetRedacted() string

func (*Finding) GetType

func (x *Finding) GetType() SecretType

func (*Finding) GetVerification

func (x *Finding) GetVerification() *VerificationStatus

func (*Finding) ProtoMessage

func (*Finding) ProtoMessage()

func (*Finding) ProtoReflect

func (x *Finding) ProtoReflect() protoreflect.Message

func (*Finding) Reset

func (x *Finding) Reset()

func (*Finding) String

func (x *Finding) String() string

type GitContext

type GitContext struct {

	// CommitHash where the secret was introduced.
	CommitHash string `protobuf:"bytes,1,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
	// Author of the commit.
	Author string `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"`
	// AuthorEmail of the commit author.
	AuthorEmail string `protobuf:"bytes,3,opt,name=author_email,json=authorEmail,proto3" json:"author_email,omitempty"`
	// CommitDate when the secret was introduced.
	CommitDate string `protobuf:"bytes,4,opt,name=commit_date,json=commitDate,proto3" json:"commit_date,omitempty"`
	// CommitMessage summary.
	CommitMessage string `protobuf:"bytes,5,opt,name=commit_message,json=commitMessage,proto3" json:"commit_message,omitempty"`
	// RemovedIn is the commit where the secret was removed (empty if still present).
	RemovedIn string `protobuf:"bytes,6,opt,name=removed_in,json=removedIn,proto3" json:"removed_in,omitempty"`
	// StillPresent indicates if the secret exists in HEAD.
	StillPresent bool `protobuf:"varint,7,opt,name=still_present,json=stillPresent,proto3" json:"still_present,omitempty"`
	// contains filtered or unexported fields
}

GitContext provides context when a secret is found in git history.

func (*GitContext) Descriptor deprecated

func (*GitContext) Descriptor() ([]byte, []int)

Deprecated: Use GitContext.ProtoReflect.Descriptor instead.

func (*GitContext) GetAuthor

func (x *GitContext) GetAuthor() string

func (*GitContext) GetAuthorEmail

func (x *GitContext) GetAuthorEmail() string

func (*GitContext) GetCommitDate

func (x *GitContext) GetCommitDate() string

func (*GitContext) GetCommitHash

func (x *GitContext) GetCommitHash() string

func (*GitContext) GetCommitMessage

func (x *GitContext) GetCommitMessage() string

func (*GitContext) GetRemovedIn

func (x *GitContext) GetRemovedIn() string

func (*GitContext) GetStillPresent

func (x *GitContext) GetStillPresent() bool

func (*GitContext) ProtoMessage

func (*GitContext) ProtoMessage()

func (*GitContext) ProtoReflect

func (x *GitContext) ProtoReflect() protoreflect.Message

func (*GitContext) Reset

func (x *GitContext) Reset()

func (*GitContext) String

func (x *GitContext) String() string

type ListDetectorsRequest

type ListDetectorsRequest struct {

	// IncludeDisabled includes detectors that are currently disabled.
	IncludeDisabled bool `protobuf:"varint,1,opt,name=include_disabled,json=includeDisabled,proto3" json:"include_disabled,omitempty"`
	// Sources filters to specific detector sources.
	// Maximum 10 sources to prevent abuse.
	Sources []DetectorSource `protobuf:"varint,2,rep,packed,name=sources,proto3,enum=deputy.secrets.v1.DetectorSource" json:"sources,omitempty"`
	// contains filtered or unexported fields
}

ListDetectorsRequest asks for available detectors.

func (*ListDetectorsRequest) Descriptor deprecated

func (*ListDetectorsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListDetectorsRequest.ProtoReflect.Descriptor instead.

func (*ListDetectorsRequest) GetIncludeDisabled

func (x *ListDetectorsRequest) GetIncludeDisabled() bool

func (*ListDetectorsRequest) GetSources

func (x *ListDetectorsRequest) GetSources() []DetectorSource

func (*ListDetectorsRequest) ProtoMessage

func (*ListDetectorsRequest) ProtoMessage()

func (*ListDetectorsRequest) ProtoReflect

func (x *ListDetectorsRequest) ProtoReflect() protoreflect.Message

func (*ListDetectorsRequest) Reset

func (x *ListDetectorsRequest) Reset()

func (*ListDetectorsRequest) String

func (x *ListDetectorsRequest) String() string

type ListDetectorsResponse

type ListDetectorsResponse struct {

	// Detectors are all matching detectors.
	Detectors []*DetectorInfo `protobuf:"bytes,1,rep,name=detectors,proto3" json:"detectors,omitempty"`
	// contains filtered or unexported fields
}

ListDetectorsResponse contains available detectors.

func (*ListDetectorsResponse) Descriptor deprecated

func (*ListDetectorsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListDetectorsResponse.ProtoReflect.Descriptor instead.

func (*ListDetectorsResponse) GetDetectors

func (x *ListDetectorsResponse) GetDetectors() []*DetectorInfo

func (*ListDetectorsResponse) ProtoMessage

func (*ListDetectorsResponse) ProtoMessage()

func (*ListDetectorsResponse) ProtoReflect

func (x *ListDetectorsResponse) ProtoReflect() protoreflect.Message

func (*ListDetectorsResponse) Reset

func (x *ListDetectorsResponse) Reset()

func (*ListDetectorsResponse) String

func (x *ListDetectorsResponse) String() string

type Location

type Location struct {

	// File is the source file path (relative to scan root).
	File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	// Line number (1-indexed, 0 if unknown).
	Line int32 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	// Column where the secret starts (1-indexed, 0 if unknown).
	Column int32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
	// Source indicates where the secret was found (file, env_var, history, layer, etc.).
	Source SecretSource `protobuf:"varint,4,opt,name=source,proto3,enum=deputy.secrets.v1.SecretSource" json:"source,omitempty"`
	// ContainerContext is populated when scanning container images.
	ContainerContext *ContainerContext `protobuf:"bytes,5,opt,name=container_context,json=containerContext,proto3" json:"container_context,omitempty"`
	// GitContext is populated when scanning git history.
	GitContext *GitContext `protobuf:"bytes,6,opt,name=git_context,json=gitContext,proto3" json:"git_context,omitempty"`
	// ArchiveContext is populated when scanning archives.
	ArchiveContext *ArchiveContext `protobuf:"bytes,7,opt,name=archive_context,json=archiveContext,proto3" json:"archive_context,omitempty"`
	// contains filtered or unexported fields
}

Location describes where a secret was found.

func (*Location) Descriptor deprecated

func (*Location) Descriptor() ([]byte, []int)

Deprecated: Use Location.ProtoReflect.Descriptor instead.

func (*Location) GetArchiveContext

func (x *Location) GetArchiveContext() *ArchiveContext

func (*Location) GetColumn

func (x *Location) GetColumn() int32

func (*Location) GetContainerContext

func (x *Location) GetContainerContext() *ContainerContext

func (*Location) GetFile

func (x *Location) GetFile() string

func (*Location) GetGitContext

func (x *Location) GetGitContext() *GitContext

func (*Location) GetLine

func (x *Location) GetLine() int32

func (*Location) GetSource

func (x *Location) GetSource() SecretSource

func (*Location) ProtoMessage

func (*Location) ProtoMessage()

func (*Location) ProtoReflect

func (x *Location) ProtoReflect() protoreflect.Message

func (*Location) Reset

func (x *Location) Reset()

func (*Location) String

func (x *Location) String() string

type RegisterDetectorRequest

type RegisterDetectorRequest struct {

	// Detector describes the detector to register.
	// Required field.
	Detector *DetectorInfo `protobuf:"bytes,1,opt,name=detector,proto3" json:"detector,omitempty"`
	// Pattern is the regex pattern for detection (required for pattern-based detectors).
	// Maximum 4096 characters to prevent ReDoS via complex patterns.
	Pattern string `protobuf:"bytes,2,opt,name=pattern,proto3" json:"pattern,omitempty"`
	// PluginPath is the path to the plugin binary (required for plugin-based detectors).
	// Maximum 1024 characters.
	PluginPath string `protobuf:"bytes,3,opt,name=plugin_path,json=pluginPath,proto3" json:"plugin_path,omitempty"`
	// contains filtered or unexported fields
}

RegisterDetectorRequest registers a custom detector.

func (*RegisterDetectorRequest) Descriptor deprecated

func (*RegisterDetectorRequest) Descriptor() ([]byte, []int)

Deprecated: Use RegisterDetectorRequest.ProtoReflect.Descriptor instead.

func (*RegisterDetectorRequest) GetDetector

func (x *RegisterDetectorRequest) GetDetector() *DetectorInfo

func (*RegisterDetectorRequest) GetPattern

func (x *RegisterDetectorRequest) GetPattern() string

func (*RegisterDetectorRequest) GetPluginPath

func (x *RegisterDetectorRequest) GetPluginPath() string

func (*RegisterDetectorRequest) ProtoMessage

func (*RegisterDetectorRequest) ProtoMessage()

func (*RegisterDetectorRequest) ProtoReflect

func (x *RegisterDetectorRequest) ProtoReflect() protoreflect.Message

func (*RegisterDetectorRequest) Reset

func (x *RegisterDetectorRequest) Reset()

func (*RegisterDetectorRequest) String

func (x *RegisterDetectorRequest) String() string

type RegisterDetectorResponse

type RegisterDetectorResponse struct {

	// Detector is the registered detector with assigned ID.
	Detector *DetectorInfo `protobuf:"bytes,1,opt,name=detector,proto3" json:"detector,omitempty"`
	// contains filtered or unexported fields
}

RegisterDetectorResponse confirms detector registration.

func (*RegisterDetectorResponse) Descriptor deprecated

func (*RegisterDetectorResponse) Descriptor() ([]byte, []int)

Deprecated: Use RegisterDetectorResponse.ProtoReflect.Descriptor instead.

func (*RegisterDetectorResponse) GetDetector

func (x *RegisterDetectorResponse) GetDetector() *DetectorInfo

func (*RegisterDetectorResponse) ProtoMessage

func (*RegisterDetectorResponse) ProtoMessage()

func (*RegisterDetectorResponse) ProtoReflect

func (x *RegisterDetectorResponse) ProtoReflect() protoreflect.Message

func (*RegisterDetectorResponse) Reset

func (x *RegisterDetectorResponse) Reset()

func (*RegisterDetectorResponse) String

func (x *RegisterDetectorResponse) String() string

type ScanDiffRequest

type ScanDiffRequest struct {

	// Target is the git repository to scan.
	// Maximum length prevents denial-of-service via excessively long strings.
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// BaseRef is the base reference for comparison (branch, tag, commit).
	// Required field.
	BaseRef string `protobuf:"bytes,2,opt,name=base_ref,json=baseRef,proto3" json:"base_ref,omitempty"`
	// TargetRef is the target reference for comparison.
	// Required field.
	TargetRef string `protobuf:"bytes,3,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"`
	// Options configure scan behavior.
	Options *ScanOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

ScanDiffRequest configures diff-based scanning.

func (*ScanDiffRequest) Descriptor deprecated

func (*ScanDiffRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScanDiffRequest.ProtoReflect.Descriptor instead.

func (*ScanDiffRequest) GetBaseRef

func (x *ScanDiffRequest) GetBaseRef() string

func (*ScanDiffRequest) GetOptions

func (x *ScanDiffRequest) GetOptions() *ScanOptions

func (*ScanDiffRequest) GetTarget

func (x *ScanDiffRequest) GetTarget() string

func (*ScanDiffRequest) GetTargetRef

func (x *ScanDiffRequest) GetTargetRef() string

func (*ScanDiffRequest) ProtoMessage

func (*ScanDiffRequest) ProtoMessage()

func (*ScanDiffRequest) ProtoReflect

func (x *ScanDiffRequest) ProtoReflect() protoreflect.Message

func (*ScanDiffRequest) Reset

func (x *ScanDiffRequest) Reset()

func (*ScanDiffRequest) String

func (x *ScanDiffRequest) String() string

type ScanDiffResponse

type ScanDiffResponse struct {

	// Target describes what was scanned.
	Target *v1.Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// GeneratedAt is when this report was generated.
	GeneratedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	// BaseRef is the base reference that was compared.
	BaseRef string `protobuf:"bytes,3,opt,name=base_ref,json=baseRef,proto3" json:"base_ref,omitempty"`
	// TargetRef is the target reference that was compared.
	TargetRef string `protobuf:"bytes,4,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"`
	// AddedFindings are secrets introduced in target_ref.
	AddedFindings []*Finding `protobuf:"bytes,5,rep,name=added_findings,json=addedFindings,proto3" json:"added_findings,omitempty"`
	// RemovedFindings are secrets present in base_ref but not target_ref.
	RemovedFindings []*Finding `protobuf:"bytes,6,rep,name=removed_findings,json=removedFindings,proto3" json:"removed_findings,omitempty"`
	// Stats summarizes the scan results.
	Stats *Stats `protobuf:"bytes,7,opt,name=stats,proto3" json:"stats,omitempty"`
	// PolicyActions lists policy evaluation outcomes.
	PolicyActions []*v11.Action `protobuf:"bytes,8,rep,name=policy_actions,json=policyActions,proto3" json:"policy_actions,omitempty"`
	// Warnings contains non-fatal issues encountered during scanning.
	Warnings []string `protobuf:"bytes,9,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// contains filtered or unexported fields
}

ScanDiffResponse contains diff-based scan results.

func (*ScanDiffResponse) Descriptor deprecated

func (*ScanDiffResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScanDiffResponse.ProtoReflect.Descriptor instead.

func (*ScanDiffResponse) GetAddedFindings

func (x *ScanDiffResponse) GetAddedFindings() []*Finding

func (*ScanDiffResponse) GetBaseRef

func (x *ScanDiffResponse) GetBaseRef() string

func (*ScanDiffResponse) GetGeneratedAt

func (x *ScanDiffResponse) GetGeneratedAt() *timestamppb.Timestamp

func (*ScanDiffResponse) GetPolicyActions

func (x *ScanDiffResponse) GetPolicyActions() []*v11.Action

func (*ScanDiffResponse) GetRemovedFindings

func (x *ScanDiffResponse) GetRemovedFindings() []*Finding

func (*ScanDiffResponse) GetStats

func (x *ScanDiffResponse) GetStats() *Stats

func (*ScanDiffResponse) GetTarget

func (x *ScanDiffResponse) GetTarget() *v1.Target

func (*ScanDiffResponse) GetTargetRef

func (x *ScanDiffResponse) GetTargetRef() string

func (*ScanDiffResponse) GetWarnings

func (x *ScanDiffResponse) GetWarnings() []string

func (*ScanDiffResponse) ProtoMessage

func (*ScanDiffResponse) ProtoMessage()

func (*ScanDiffResponse) ProtoReflect

func (x *ScanDiffResponse) ProtoReflect() protoreflect.Message

func (*ScanDiffResponse) Reset

func (x *ScanDiffResponse) Reset()

func (*ScanDiffResponse) String

func (x *ScanDiffResponse) String() string

type ScanHistoryRequest

type ScanHistoryRequest struct {

	// Target is the git repository to scan.
	// Maximum length prevents denial-of-service via excessively long strings.
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Options configure scan behavior.
	Options *ScanOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	// MaxCommits limits the number of commits to scan (0 = unlimited).
	// Maximum 100000 to prevent excessive scanning.
	MaxCommits int32 `protobuf:"varint,3,opt,name=max_commits,json=maxCommits,proto3" json:"max_commits,omitempty"`
	// Since is the start date for history scanning (RFC 3339 format).
	Since string `protobuf:"bytes,4,opt,name=since,proto3" json:"since,omitempty"`
	// Until is the end date for history scanning (RFC 3339 format).
	Until string `protobuf:"bytes,5,opt,name=until,proto3" json:"until,omitempty"`
	// Branch limits scanning to a specific branch.
	Branch string `protobuf:"bytes,6,opt,name=branch,proto3" json:"branch,omitempty"`
	// IncludeRemoved includes secrets that have been removed from HEAD.
	IncludeRemoved bool `protobuf:"varint,7,opt,name=include_removed,json=includeRemoved,proto3" json:"include_removed,omitempty"`
	// contains filtered or unexported fields
}

ScanHistoryRequest configures git history scanning.

func (*ScanHistoryRequest) Descriptor deprecated

func (*ScanHistoryRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScanHistoryRequest.ProtoReflect.Descriptor instead.

func (*ScanHistoryRequest) GetBranch

func (x *ScanHistoryRequest) GetBranch() string

func (*ScanHistoryRequest) GetIncludeRemoved

func (x *ScanHistoryRequest) GetIncludeRemoved() bool

func (*ScanHistoryRequest) GetMaxCommits

func (x *ScanHistoryRequest) GetMaxCommits() int32

func (*ScanHistoryRequest) GetOptions

func (x *ScanHistoryRequest) GetOptions() *ScanOptions

func (*ScanHistoryRequest) GetSince

func (x *ScanHistoryRequest) GetSince() string

func (*ScanHistoryRequest) GetTarget

func (x *ScanHistoryRequest) GetTarget() string

func (*ScanHistoryRequest) GetUntil

func (x *ScanHistoryRequest) GetUntil() string

func (*ScanHistoryRequest) ProtoMessage

func (*ScanHistoryRequest) ProtoMessage()

func (*ScanHistoryRequest) ProtoReflect

func (x *ScanHistoryRequest) ProtoReflect() protoreflect.Message

func (*ScanHistoryRequest) Reset

func (x *ScanHistoryRequest) Reset()

func (*ScanHistoryRequest) String

func (x *ScanHistoryRequest) String() string

type ScanHistoryResponse

type ScanHistoryResponse struct {

	// Target describes what was scanned.
	Target *v1.Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// GeneratedAt is when this report was generated.
	GeneratedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	// Findings are all detected secrets with git context.
	Findings []*Finding `protobuf:"bytes,3,rep,name=findings,proto3" json:"findings,omitempty"`
	// CommitsScanned is the number of commits analyzed.
	CommitsScanned int32 `protobuf:"varint,4,opt,name=commits_scanned,json=commitsScanned,proto3" json:"commits_scanned,omitempty"`
	// Stats summarizes the scan results.
	Stats *Stats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"`
	// PolicyActions lists policy evaluation outcomes.
	PolicyActions []*v11.Action `protobuf:"bytes,6,rep,name=policy_actions,json=policyActions,proto3" json:"policy_actions,omitempty"`
	// Warnings contains non-fatal issues encountered during scanning.
	Warnings []string `protobuf:"bytes,7,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// contains filtered or unexported fields
}

ScanHistoryResponse contains git history scan results.

func (*ScanHistoryResponse) Descriptor deprecated

func (*ScanHistoryResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScanHistoryResponse.ProtoReflect.Descriptor instead.

func (*ScanHistoryResponse) GetCommitsScanned

func (x *ScanHistoryResponse) GetCommitsScanned() int32

func (*ScanHistoryResponse) GetFindings

func (x *ScanHistoryResponse) GetFindings() []*Finding

func (*ScanHistoryResponse) GetGeneratedAt

func (x *ScanHistoryResponse) GetGeneratedAt() *timestamppb.Timestamp

func (*ScanHistoryResponse) GetPolicyActions

func (x *ScanHistoryResponse) GetPolicyActions() []*v11.Action

func (*ScanHistoryResponse) GetStats

func (x *ScanHistoryResponse) GetStats() *Stats

func (*ScanHistoryResponse) GetTarget

func (x *ScanHistoryResponse) GetTarget() *v1.Target

func (*ScanHistoryResponse) GetWarnings

func (x *ScanHistoryResponse) GetWarnings() []string

func (*ScanHistoryResponse) ProtoMessage

func (*ScanHistoryResponse) ProtoMessage()

func (*ScanHistoryResponse) ProtoReflect

func (x *ScanHistoryResponse) ProtoReflect() protoreflect.Message

func (*ScanHistoryResponse) Reset

func (x *ScanHistoryResponse) Reset()

func (*ScanHistoryResponse) String

func (x *ScanHistoryResponse) String() string

type ScanOptions

type ScanOptions struct {

	// DetectorIds filters to specific detectors. Empty means all enabled detectors.
	// Maximum 100 detectors to prevent abuse.
	DetectorIds []string `protobuf:"bytes,1,rep,name=detector_ids,json=detectorIds,proto3" json:"detector_ids,omitempty"`
	// SecretTypes filters to specific secret types. Empty means all types.
	// Maximum 100 types to prevent abuse.
	SecretTypes []SecretType `` /* 136-byte string literal not displayed */
	// MinConfidence filters findings below this threshold (0.0-1.0).
	MinConfidence float32 `protobuf:"fixed32,3,opt,name=min_confidence,json=minConfidence,proto3" json:"min_confidence,omitempty"`
	// Verify enables automatic verification of detected secrets.
	Verify bool `protobuf:"varint,4,opt,name=verify,proto3" json:"verify,omitempty"`
	// IncludePatterns are glob patterns for files to include.
	// Maximum 100 patterns to prevent abuse.
	IncludePatterns []string `protobuf:"bytes,5,rep,name=include_patterns,json=includePatterns,proto3" json:"include_patterns,omitempty"`
	// ExcludePatterns are glob patterns for files to exclude.
	// Defaults include: node_modules, .git, vendor, __pycache__, etc.
	// Maximum 100 patterns to prevent abuse.
	ExcludePatterns []string `protobuf:"bytes,6,rep,name=exclude_patterns,json=excludePatterns,proto3" json:"exclude_patterns,omitempty"`
	// EntropyDetection enables high-entropy string detection.
	// Disabled by default to reduce false positives.
	EntropyDetection bool `protobuf:"varint,7,opt,name=entropy_detection,json=entropyDetection,proto3" json:"entropy_detection,omitempty"`
	// EntropyThreshold is the minimum Shannon entropy to flag (0.0-8.0).
	// Only used when entropy_detection is enabled. Default is 4.5.
	EntropyThreshold float32 `protobuf:"fixed32,8,opt,name=entropy_threshold,json=entropyThreshold,proto3" json:"entropy_threshold,omitempty"`
	// Deep enables deep scanning (container layer extraction, binary strings).
	Deep bool `protobuf:"varint,9,opt,name=deep,proto3" json:"deep,omitempty"`
	// BaselinePath is the path to a baseline file for filtering known secrets.
	// Maximum length prevents abuse.
	BaselinePath string `protobuf:"bytes,10,opt,name=baseline_path,json=baselinePath,proto3" json:"baseline_path,omitempty"`
	// PolicyPaths are paths to policy files to evaluate.
	// Maximum 20 policy paths to prevent abuse.
	PolicyPaths []string `protobuf:"bytes,11,rep,name=policy_paths,json=policyPaths,proto3" json:"policy_paths,omitempty"`
	// Platform specifies the target platform for container images (e.g., "linux/amd64").
	Platform string `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform,omitempty"`
	// TargetHint provides disambiguation when the target string is ambiguous.
	TargetHint *TargetHint `protobuf:"bytes,13,opt,name=target_hint,json=targetHint,proto3" json:"target_hint,omitempty"`
	// contains filtered or unexported fields
}

ScanOptions configures secret scan behavior.

func (*ScanOptions) Descriptor deprecated

func (*ScanOptions) Descriptor() ([]byte, []int)

Deprecated: Use ScanOptions.ProtoReflect.Descriptor instead.

func (*ScanOptions) GetBaselinePath

func (x *ScanOptions) GetBaselinePath() string

func (*ScanOptions) GetDeep

func (x *ScanOptions) GetDeep() bool

func (*ScanOptions) GetDetectorIds

func (x *ScanOptions) GetDetectorIds() []string

func (*ScanOptions) GetEntropyDetection

func (x *ScanOptions) GetEntropyDetection() bool

func (*ScanOptions) GetEntropyThreshold

func (x *ScanOptions) GetEntropyThreshold() float32

func (*ScanOptions) GetExcludePatterns

func (x *ScanOptions) GetExcludePatterns() []string

func (*ScanOptions) GetIncludePatterns

func (x *ScanOptions) GetIncludePatterns() []string

func (*ScanOptions) GetMinConfidence

func (x *ScanOptions) GetMinConfidence() float32

func (*ScanOptions) GetPlatform

func (x *ScanOptions) GetPlatform() string

func (*ScanOptions) GetPolicyPaths

func (x *ScanOptions) GetPolicyPaths() []string

func (*ScanOptions) GetSecretTypes

func (x *ScanOptions) GetSecretTypes() []SecretType

func (*ScanOptions) GetTargetHint

func (x *ScanOptions) GetTargetHint() *TargetHint

func (*ScanOptions) GetVerify

func (x *ScanOptions) GetVerify() bool

func (*ScanOptions) ProtoMessage

func (*ScanOptions) ProtoMessage()

func (*ScanOptions) ProtoReflect

func (x *ScanOptions) ProtoReflect() protoreflect.Message

func (*ScanOptions) Reset

func (x *ScanOptions) Reset()

func (*ScanOptions) String

func (x *ScanOptions) String() string

type ScanPhase

type ScanPhase int32

ScanPhase indicates the current phase of a secret scan operation.

const (
	ScanPhase_SCAN_PHASE_UNSPECIFIED         ScanPhase = 0
	ScanPhase_SCAN_PHASE_INITIALIZING        ScanPhase = 1
	ScanPhase_SCAN_PHASE_RESOLVING_TARGET    ScanPhase = 2
	ScanPhase_SCAN_PHASE_EXTRACTING_FILES    ScanPhase = 3
	ScanPhase_SCAN_PHASE_SCANNING            ScanPhase = 4
	ScanPhase_SCAN_PHASE_VERIFYING           ScanPhase = 5
	ScanPhase_SCAN_PHASE_EVALUATING_POLICIES ScanPhase = 6
	ScanPhase_SCAN_PHASE_COMPLETE            ScanPhase = 7
	ScanPhase_SCAN_PHASE_FAILED              ScanPhase = 8
)

func (ScanPhase) Descriptor

func (ScanPhase) Descriptor() protoreflect.EnumDescriptor

func (ScanPhase) Enum

func (x ScanPhase) Enum() *ScanPhase

func (ScanPhase) EnumDescriptor deprecated

func (ScanPhase) EnumDescriptor() ([]byte, []int)

Deprecated: Use ScanPhase.Descriptor instead.

func (ScanPhase) Number

func (x ScanPhase) Number() protoreflect.EnumNumber

func (ScanPhase) String

func (x ScanPhase) String() string

func (ScanPhase) Type

type ScanProgress

type ScanProgress struct {

	// Phase indicates the current scan phase.
	Phase ScanPhase `protobuf:"varint,1,opt,name=phase,proto3,enum=deputy.secrets.v1.ScanPhase" json:"phase,omitempty"`
	// Message provides human-readable progress information.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// Progress is the completion percentage (0-100) for the current phase.
	Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"`
	// FilesScanned is the running count of scanned files.
	FilesScanned int32 `protobuf:"varint,4,opt,name=files_scanned,json=filesScanned,proto3" json:"files_scanned,omitempty"`
	// SecretsFound is the running count of discovered secrets.
	SecretsFound int32 `protobuf:"varint,5,opt,name=secrets_found,json=secretsFound,proto3" json:"secrets_found,omitempty"`
	// CurrentFile is the file currently being scanned.
	CurrentFile string `protobuf:"bytes,6,opt,name=current_file,json=currentFile,proto3" json:"current_file,omitempty"`
	// Result is populated only in the final message when phase is SCAN_PHASE_COMPLETE.
	Result *ScanResponse `protobuf:"bytes,10,opt,name=result,proto3" json:"result,omitempty"`
	// Error is populated if the scan failed.
	Error string `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ScanProgress provides streaming updates during a secret scan.

func (*ScanProgress) Descriptor deprecated

func (*ScanProgress) Descriptor() ([]byte, []int)

Deprecated: Use ScanProgress.ProtoReflect.Descriptor instead.

func (*ScanProgress) GetCurrentFile

func (x *ScanProgress) GetCurrentFile() string

func (*ScanProgress) GetError

func (x *ScanProgress) GetError() string

func (*ScanProgress) GetFilesScanned

func (x *ScanProgress) GetFilesScanned() int32

func (*ScanProgress) GetMessage

func (x *ScanProgress) GetMessage() string

func (*ScanProgress) GetPhase

func (x *ScanProgress) GetPhase() ScanPhase

func (*ScanProgress) GetProgress

func (x *ScanProgress) GetProgress() int32

func (*ScanProgress) GetResult

func (x *ScanProgress) GetResult() *ScanResponse

func (*ScanProgress) GetSecretsFound

func (x *ScanProgress) GetSecretsFound() int32

func (*ScanProgress) ProtoMessage

func (*ScanProgress) ProtoMessage()

func (*ScanProgress) ProtoReflect

func (x *ScanProgress) ProtoReflect() protoreflect.Message

func (*ScanProgress) Reset

func (x *ScanProgress) Reset()

func (*ScanProgress) String

func (x *ScanProgress) String() string

type ScanRequest

type ScanRequest struct {

	// Target is the scan target (path, URL, image reference, archive, etc.).
	// When empty, defaults to current working directory.
	// Maximum length prevents denial-of-service via excessively long strings.
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Options configure scan behavior.
	Options *ScanOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

ScanRequest specifies what to scan and how.

func (*ScanRequest) Descriptor deprecated

func (*ScanRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScanRequest.ProtoReflect.Descriptor instead.

func (*ScanRequest) GetOptions

func (x *ScanRequest) GetOptions() *ScanOptions

func (*ScanRequest) GetTarget

func (x *ScanRequest) GetTarget() string

func (*ScanRequest) ProtoMessage

func (*ScanRequest) ProtoMessage()

func (*ScanRequest) ProtoReflect

func (x *ScanRequest) ProtoReflect() protoreflect.Message

func (*ScanRequest) Reset

func (x *ScanRequest) Reset()

func (*ScanRequest) String

func (x *ScanRequest) String() string

type ScanResponse

type ScanResponse struct {

	// Target describes what was scanned.
	Target *v1.Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// GeneratedAt is when this report was generated.
	GeneratedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	// Findings are all detected secrets.
	Findings []*Finding `protobuf:"bytes,3,rep,name=findings,proto3" json:"findings,omitempty"`
	// Stats summarizes the scan results.
	Stats *Stats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`
	// PolicyActions lists policy evaluation outcomes.
	PolicyActions []*v11.Action `protobuf:"bytes,5,rep,name=policy_actions,json=policyActions,proto3" json:"policy_actions,omitempty"`
	// Warnings contains non-fatal issues encountered during scanning.
	Warnings []string `protobuf:"bytes,6,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// contains filtered or unexported fields
}

ScanResponse contains the complete secret scan results.

func (*ScanResponse) Descriptor deprecated

func (*ScanResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScanResponse.ProtoReflect.Descriptor instead.

func (*ScanResponse) GetFindings

func (x *ScanResponse) GetFindings() []*Finding

func (*ScanResponse) GetGeneratedAt

func (x *ScanResponse) GetGeneratedAt() *timestamppb.Timestamp

func (*ScanResponse) GetPolicyActions

func (x *ScanResponse) GetPolicyActions() []*v11.Action

func (*ScanResponse) GetStats

func (x *ScanResponse) GetStats() *Stats

func (*ScanResponse) GetTarget

func (x *ScanResponse) GetTarget() *v1.Target

func (*ScanResponse) GetWarnings

func (x *ScanResponse) GetWarnings() []string

func (*ScanResponse) ProtoMessage

func (*ScanResponse) ProtoMessage()

func (*ScanResponse) ProtoReflect

func (x *ScanResponse) ProtoReflect() protoreflect.Message

func (*ScanResponse) Reset

func (x *ScanResponse) Reset()

func (*ScanResponse) String

func (x *ScanResponse) String() string

type SecretSource

type SecretSource int32

SecretSource indicates the origin type of the secret.

const (
	SecretSource_SECRET_SOURCE_UNSPECIFIED       SecretSource = 0
	SecretSource_SECRET_SOURCE_FILE              SecretSource = 1
	SecretSource_SECRET_SOURCE_ENV_VAR           SecretSource = 2
	SecretSource_SECRET_SOURCE_CONTAINER_HISTORY SecretSource = 3
	SecretSource_SECRET_SOURCE_CONTAINER_LABEL   SecretSource = 4
	SecretSource_SECRET_SOURCE_CONTAINER_LAYER   SecretSource = 5
	SecretSource_SECRET_SOURCE_GIT_COMMIT        SecretSource = 6
	SecretSource_SECRET_SOURCE_ARCHIVE_ENTRY     SecretSource = 7
	SecretSource_SECRET_SOURCE_BINARY_STRINGS    SecretSource = 8
)

func (SecretSource) Descriptor

func (SecretSource) Enum

func (x SecretSource) Enum() *SecretSource

func (SecretSource) EnumDescriptor deprecated

func (SecretSource) EnumDescriptor() ([]byte, []int)

Deprecated: Use SecretSource.Descriptor instead.

func (SecretSource) Number

func (SecretSource) String

func (x SecretSource) String() string

func (SecretSource) Type

type SecretType

type SecretType int32

SecretType identifies the kind of secret detected.

const (
	SecretType_SECRET_TYPE_UNSPECIFIED SecretType = 0
	// Cloud provider credentials
	SecretType_SECRET_TYPE_GCP_API_KEY             SecretType = 1
	SecretType_SECRET_TYPE_GCP_SERVICE_ACCOUNT_KEY SecretType = 2
	SecretType_SECRET_TYPE_AWS_ACCESS_KEY          SecretType = 3
	SecretType_SECRET_TYPE_AWS_SECRET_KEY          SecretType = 4
	SecretType_SECRET_TYPE_AZURE_SAS_TOKEN         SecretType = 5
	SecretType_SECRET_TYPE_DIGITALOCEAN_TOKEN      SecretType = 6
	// Version control & CI/CD
	SecretType_SECRET_TYPE_GITHUB_TOKEN              SecretType = 10
	SecretType_SECRET_TYPE_GITHUB_FINE_GRAINED_TOKEN SecretType = 11
	SecretType_SECRET_TYPE_GITLAB_TOKEN              SecretType = 12
	SecretType_SECRET_TYPE_BITBUCKET_TOKEN           SecretType = 13
	SecretType_SECRET_TYPE_TERRAFORM_TOKEN           SecretType = 14
	// Communication platforms
	SecretType_SECRET_TYPE_SLACK_TOKEN    SecretType = 20
	SecretType_SECRET_TYPE_SLACK_WEBHOOK  SecretType = 21
	SecretType_SECRET_TYPE_DISCORD_TOKEN  SecretType = 22
	SecretType_SECRET_TYPE_TELEGRAM_TOKEN SecretType = 23
	// Payment & services
	SecretType_SECRET_TYPE_STRIPE_KEY     SecretType = 30
	SecretType_SECRET_TYPE_SENDGRID_KEY   SecretType = 31
	SecretType_SECRET_TYPE_MAILGUN_KEY    SecretType = 32
	SecretType_SECRET_TYPE_TWILIO_KEY     SecretType = 33
	SecretType_SECRET_TYPE_HEROKU_API_KEY SecretType = 34
	// Package registries
	SecretType_SECRET_TYPE_NPM_TOKEN        SecretType = 40
	SecretType_SECRET_TYPE_PYPI_TOKEN       SecretType = 41
	SecretType_SECRET_TYPE_RUBYGEMS_API_KEY SecretType = 42
	// AI/ML platforms
	SecretType_SECRET_TYPE_OPENAI_KEY    SecretType = 50
	SecretType_SECRET_TYPE_ANTHROPIC_KEY SecretType = 51
	// Infrastructure
	SecretType_SECRET_TYPE_CLOUDFLARE_API_KEY SecretType = 60
	SecretType_SECRET_TYPE_DATADOG_API_KEY    SecretType = 61
	SecretType_SECRET_TYPE_LINEAR_API_KEY     SecretType = 62
	// Generic/cryptographic
	SecretType_SECRET_TYPE_PRIVATE_KEY         SecretType = 70
	SecretType_SECRET_TYPE_JWT                 SecretType = 71
	SecretType_SECRET_TYPE_GENERIC_API_KEY     SecretType = 72
	SecretType_SECRET_TYPE_HIGH_ENTROPY_STRING SecretType = 73
	SecretType_SECRET_TYPE_SENSITIVE_ENV_VAR   SecretType = 74
)

func (SecretType) Descriptor

func (SecretType) Descriptor() protoreflect.EnumDescriptor

func (SecretType) Enum

func (x SecretType) Enum() *SecretType

func (SecretType) EnumDescriptor deprecated

func (SecretType) EnumDescriptor() ([]byte, []int)

Deprecated: Use SecretType.Descriptor instead.

func (SecretType) Number

func (x SecretType) Number() protoreflect.EnumNumber

func (SecretType) String

func (x SecretType) String() string

func (SecretType) Type

type Stats

type Stats struct {

	// Total secrets found.
	Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	// CountByType breaks down findings by secret type.
	CountByType map[string]int32 `` /* 171-byte string literal not displayed */
	// HighConfidenceCount is findings with confidence >= 0.9.
	HighConfidenceCount int32 `protobuf:"varint,3,opt,name=high_confidence_count,json=highConfidenceCount,proto3" json:"high_confidence_count,omitempty"`
	// VerifiedCount is findings that were verified as valid/active.
	VerifiedCount int32 `protobuf:"varint,4,opt,name=verified_count,json=verifiedCount,proto3" json:"verified_count,omitempty"`
	// FilesScanned is the number of files analyzed.
	FilesScanned int32 `protobuf:"varint,5,opt,name=files_scanned,json=filesScanned,proto3" json:"files_scanned,omitempty"`
	// SkippedFiles is files that were skipped (binary, too large, etc.).
	SkippedFiles int32 `protobuf:"varint,6,opt,name=skipped_files,json=skippedFiles,proto3" json:"skipped_files,omitempty"`
	// contains filtered or unexported fields
}

Stats summarizes secret scan findings.

func (*Stats) Descriptor deprecated

func (*Stats) Descriptor() ([]byte, []int)

Deprecated: Use Stats.ProtoReflect.Descriptor instead.

func (*Stats) GetCountByType

func (x *Stats) GetCountByType() map[string]int32

func (*Stats) GetFilesScanned

func (x *Stats) GetFilesScanned() int32

func (*Stats) GetHighConfidenceCount

func (x *Stats) GetHighConfidenceCount() int32

func (*Stats) GetSkippedFiles

func (x *Stats) GetSkippedFiles() int32

func (*Stats) GetTotal

func (x *Stats) GetTotal() int32

func (*Stats) GetVerifiedCount

func (x *Stats) GetVerifiedCount() int32

func (*Stats) ProtoMessage

func (*Stats) ProtoMessage()

func (*Stats) ProtoReflect

func (x *Stats) ProtoReflect() protoreflect.Message

func (*Stats) Reset

func (x *Stats) Reset()

func (*Stats) String

func (x *Stats) String() string

type StreamScanRequest

type StreamScanRequest struct {

	// Target is the scan target.
	// Maximum length prevents denial-of-service via excessively long strings.
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Options configure scan behavior.
	Options *ScanOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

StreamScanRequest specifies what to scan with streaming progress.

func (*StreamScanRequest) Descriptor deprecated

func (*StreamScanRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamScanRequest.ProtoReflect.Descriptor instead.

func (*StreamScanRequest) GetOptions

func (x *StreamScanRequest) GetOptions() *ScanOptions

func (*StreamScanRequest) GetTarget

func (x *StreamScanRequest) GetTarget() string

func (*StreamScanRequest) ProtoMessage

func (*StreamScanRequest) ProtoMessage()

func (*StreamScanRequest) ProtoReflect

func (x *StreamScanRequest) ProtoReflect() protoreflect.Message

func (*StreamScanRequest) Reset

func (x *StreamScanRequest) Reset()

func (*StreamScanRequest) String

func (x *StreamScanRequest) String() string

type TargetHint

type TargetHint struct {

	// Kind explicitly specifies the target type.
	Kind v1.TargetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=deputy.target.v1.TargetKind" json:"kind,omitempty"`
	// ImageTransport specifies how to fetch container images.
	// Values: "remote" (default), "daemon", "tarball", "oci-archive", "oci-layout".
	ImageTransport string `protobuf:"bytes,2,opt,name=image_transport,json=imageTransport,proto3" json:"image_transport,omitempty"`
	// contains filtered or unexported fields
}

TargetHint disambiguates the target type when auto-detection is insufficient.

func (*TargetHint) Descriptor deprecated

func (*TargetHint) Descriptor() ([]byte, []int)

Deprecated: Use TargetHint.ProtoReflect.Descriptor instead.

func (*TargetHint) GetImageTransport

func (x *TargetHint) GetImageTransport() string

func (*TargetHint) GetKind

func (x *TargetHint) GetKind() v1.TargetKind

func (*TargetHint) ProtoMessage

func (*TargetHint) ProtoMessage()

func (*TargetHint) ProtoReflect

func (x *TargetHint) ProtoReflect() protoreflect.Message

func (*TargetHint) Reset

func (x *TargetHint) Reset()

func (*TargetHint) String

func (x *TargetHint) String() string

type VerificationResult

type VerificationResult int32

VerificationResult indicates the outcome of secret verification.

const (
	VerificationResult_VERIFICATION_RESULT_UNSPECIFIED  VerificationResult = 0
	VerificationResult_VERIFICATION_RESULT_VALID        VerificationResult = 1 // Secret is active/working
	VerificationResult_VERIFICATION_RESULT_INVALID      VerificationResult = 2 // Secret is invalid/revoked
	VerificationResult_VERIFICATION_RESULT_EXPIRED      VerificationResult = 3 // Secret has expired
	VerificationResult_VERIFICATION_RESULT_RATE_LIMITED VerificationResult = 4 // Verification blocked by rate limiting
	VerificationResult_VERIFICATION_RESULT_ERROR        VerificationResult = 5 // Verification failed with error
	VerificationResult_VERIFICATION_RESULT_SKIPPED      VerificationResult = 6 // Verification not attempted
)

func (VerificationResult) Descriptor

func (VerificationResult) Enum

func (VerificationResult) EnumDescriptor deprecated

func (VerificationResult) EnumDescriptor() ([]byte, []int)

Deprecated: Use VerificationResult.Descriptor instead.

func (VerificationResult) Number

func (VerificationResult) String

func (x VerificationResult) String() string

func (VerificationResult) Type

type VerificationStatus

type VerificationStatus struct {

	// Status indicates the verification result.
	Status VerificationResult `protobuf:"varint,1,opt,name=status,proto3,enum=deputy.secrets.v1.VerificationResult" json:"status,omitempty"`
	// Message provides additional context.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// Identity is extracted from the verified token (e.g., username, service account).
	Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"`
	// Scopes are permissions associated with the token (if extractable).
	Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"`
	// ExpiresAt is when the credential expires (if determinable).
	ExpiresAt string `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	// VerifiedAt is when verification was performed.
	VerifiedAt string `protobuf:"bytes,6,opt,name=verified_at,json=verifiedAt,proto3" json:"verified_at,omitempty"`
	// contains filtered or unexported fields
}

VerificationStatus describes the result of verifying a secret.

func (*VerificationStatus) Descriptor deprecated

func (*VerificationStatus) Descriptor() ([]byte, []int)

Deprecated: Use VerificationStatus.ProtoReflect.Descriptor instead.

func (*VerificationStatus) GetExpiresAt

func (x *VerificationStatus) GetExpiresAt() string

func (*VerificationStatus) GetIdentity

func (x *VerificationStatus) GetIdentity() string

func (*VerificationStatus) GetMessage

func (x *VerificationStatus) GetMessage() string

func (*VerificationStatus) GetScopes

func (x *VerificationStatus) GetScopes() []string

func (*VerificationStatus) GetStatus

func (x *VerificationStatus) GetStatus() VerificationResult

func (*VerificationStatus) GetVerifiedAt

func (x *VerificationStatus) GetVerifiedAt() string

func (*VerificationStatus) ProtoMessage

func (*VerificationStatus) ProtoMessage()

func (*VerificationStatus) ProtoReflect

func (x *VerificationStatus) ProtoReflect() protoreflect.Message

func (*VerificationStatus) Reset

func (x *VerificationStatus) Reset()

func (*VerificationStatus) String

func (x *VerificationStatus) String() string

type VerifyRequest

type VerifyRequest struct {

	// Findings to verify. These should come from a previous scan.
	// Maximum 1000 findings per request to prevent abuse.
	Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
	// RateLimit is max verification requests per second (0 = no limit).
	// Maximum 100 to prevent API abuse.
	RateLimit int32 `protobuf:"varint,2,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"`
	// Timeout is max time per verification in seconds.
	// Maximum 60 seconds per verification.
	TimeoutSeconds int32 `protobuf:"varint,3,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	// contains filtered or unexported fields
}

VerifyRequest asks to verify detected secrets.

func (*VerifyRequest) Descriptor deprecated

func (*VerifyRequest) Descriptor() ([]byte, []int)

Deprecated: Use VerifyRequest.ProtoReflect.Descriptor instead.

func (*VerifyRequest) GetFindings

func (x *VerifyRequest) GetFindings() []*Finding

func (*VerifyRequest) GetRateLimit

func (x *VerifyRequest) GetRateLimit() int32

func (*VerifyRequest) GetTimeoutSeconds

func (x *VerifyRequest) GetTimeoutSeconds() int32

func (*VerifyRequest) ProtoMessage

func (*VerifyRequest) ProtoMessage()

func (*VerifyRequest) ProtoReflect

func (x *VerifyRequest) ProtoReflect() protoreflect.Message

func (*VerifyRequest) Reset

func (x *VerifyRequest) Reset()

func (*VerifyRequest) String

func (x *VerifyRequest) String() string

type VerifyResponse

type VerifyResponse struct {

	// Results are findings with updated verification status.
	Results []*Finding `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	// VerifiedCount is how many were successfully verified.
	VerifiedCount int32 `protobuf:"varint,2,opt,name=verified_count,json=verifiedCount,proto3" json:"verified_count,omitempty"`
	// FailedCount is how many verification attempts failed.
	FailedCount int32 `protobuf:"varint,3,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"`
	// SkippedCount is how many were skipped (unsupported type, rate limited, etc.).
	SkippedCount int32 `protobuf:"varint,4,opt,name=skipped_count,json=skippedCount,proto3" json:"skipped_count,omitempty"`
	// contains filtered or unexported fields
}

VerifyResponse contains verification results.

func (*VerifyResponse) Descriptor deprecated

func (*VerifyResponse) Descriptor() ([]byte, []int)

Deprecated: Use VerifyResponse.ProtoReflect.Descriptor instead.

func (*VerifyResponse) GetFailedCount

func (x *VerifyResponse) GetFailedCount() int32

func (*VerifyResponse) GetResults

func (x *VerifyResponse) GetResults() []*Finding

func (*VerifyResponse) GetSkippedCount

func (x *VerifyResponse) GetSkippedCount() int32

func (*VerifyResponse) GetVerifiedCount

func (x *VerifyResponse) GetVerifiedCount() int32

func (*VerifyResponse) ProtoMessage

func (*VerifyResponse) ProtoMessage()

func (*VerifyResponse) ProtoReflect

func (x *VerifyResponse) ProtoReflect() protoreflect.Message

func (*VerifyResponse) Reset

func (x *VerifyResponse) Reset()

func (*VerifyResponse) String

func (x *VerifyResponse) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL