AI Slop Code Risk Monitor

external-secrets/external-secrets

SlopCodeMonitor badge for external-secrets/external-secrets Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for external-secrets/external-secrets, a Go project with 6,931 GitHub stars. SynthScan examined 331,711 lines of code across 1538 source files, recording 294 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.1 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
6.9K
Stars
Go
Language
331.7K
Lines of Code
1.5K
Files
294
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 4.1/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 250 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

Are imports declared and package/API names verified? 31 finding(s).

Agent Over-Engineering Ratio 0.7/100 · LOW

Are wrappers, guards, and repeated structures necessary? 13 finding(s).

PR Review Velocity Impact 5.0/100 · LOW

Which changes need focused human review? 294 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 1MEDIUM 19LOW 274

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 294 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block216 hits · 216 pts
SeverityFileLineSnippetContext
LOW…xternalsecrets/v1/secretstore_onepassword_sdk_types.go41// CacheConfig configures client-side caching for read operations.COMMENT
LOW…xternalsecrets/v1/secretstore_onepassword_sdk_types.go61 // Vault defines the vault's name or uuid to access. Do NOT add op:// prefix. This will be done automatically.COMMENT
LOW…v1/secretstore_beyondtrustworkloadcredentials_types.go21)COMMENT
LOW…v1/secretstore_beyondtrustworkloadcredentials_types.go41}COMMENT
LOW…v1/secretstore_beyondtrustworkloadcredentials_types.go61COMMENT
LOW…v1/secretstore_beyondtrustworkloadcredentials_types.go81 // Example: "production/database" or "dev/api-keys"COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go21// ConjurProvider provides access to a Conjur provider.COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go41COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go61COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go121 // The conjur authn cert webservice idCOMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go141// It uses the AWS STS GetCallerIdentity endpoint to authenticate.COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go181}COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go201 // managed identities; omit for system-assigned identities.COMMENT
LOWapis/externalsecrets/v1/secretstore_conjur_types.go221 // ServiceID is the Conjur authn-gcp webservice identifier (e.g. "prod").COMMENT
LOWapis/externalsecrets/v1/secretstore_ovh_types.go21// OvhProvider holds the configuration to synchronize secrets with OVHcloud's Secret Manager.COMMENT
LOWapis/externalsecrets/v1/secretstore_kubernetes_types.go41 // configures the Kubernetes server Address.COMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go81 // SecretVersionSelectionPolicy specifies how the provider selects a secret versionCOMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go101 // +kubebuilder:validation:OptionalCOMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go121 // GCPServiceAccountEmail is the email of the Google Cloud service account to impersonateCOMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go141 Name string `json:"name"`COMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go161 // +kubebuilder:validation:MinLength:=1COMMENT
LOWapis/externalsecrets/v1/secretstore_gcpsm_types.go181 // +kubebuilder:validation:MaxLength:=253COMMENT
LOWapis/externalsecrets/v1/secretstore_crd_types.go21)COMMENT
LOWapis/externalsecrets/v1/secretstore_crd_types.go41 // +kubebuilder:validation:MinLength=1COMMENT
LOWapis/externalsecrets/v1/secretstore_crd_types.go61 // +optionalCOMMENT
LOWapis/externalsecrets/v1/secretstore_crd_types.go81//COMMENT
LOWapis/externalsecrets/v1/secretstore_crd_types.go101 // Server configures the Kubernetes API address and TLS trust, same as theCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go41 // "secret". The v2 KV secret engine version specific "/data" path suffixCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go61 // if the Server URL is using HTTPS protocol. This parameter is ignored forCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go81 // More information about eventual consistency in Vault can be found hereCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go101 CheckAndSet *VaultCheckAndSet `json:"checkAndSet,omitempty"`COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go121// Only one of `tokenSecretRef`, `appRole`, `kubernetes`, `ldap`, `userPass`, `jwt`, `cert`, `iam` or `gcp`COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go141 // Kubernetes authenticates with Vault by passing the ServiceAccountCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go161 // Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentialsCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go181 // +kubebuilder:default=approleCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go201}COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go221 // the controller will be used.COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go241COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go281}COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go301 // Deprecated: this will be removed in the future.COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go321 // Optional SecretRef that refers to a key in a Secret resource containing JWT token toCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go341 // VaultRole specifies the Vault role to use for TLS certificate authentication.COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go361 // Path where the AWS auth method is enabled in Vault, e.g: "aws"COMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go381 // +optionalCOMMENT
LOWapis/externalsecrets/v1/secretstore_vault_types.go401 SecretRef esmeta.SecretKeySelector `json:"secretRef,omitempty"`COMMENT
LOWapis/externalsecrets/v1/secretstore_doppler_types.go61// DopplerProvider configures a store to sync secrets using the Doppler provider.COMMENT
LOWapis/externalsecrets/v1/secretstore_types.go41COMMENT
LOWapis/externalsecrets/v1/secretstore_types.go181 // CRD configures this store to sync secrets from arbitrary Kubernetes resources,COMMENT
LOWapis/externalsecrets/v1/secretstore_types.go221 // Delinea DevOps Secrets VaultCOMMENT
LOWapis/externalsecrets/v1/secretstore_types.go301// CAProvider provides a custom certificate authority for accessing the provider's store.COMMENT
LOWapis/externalsecrets/v1/secretstore_types.go381 SecretStoreReadWrite SecretStoreCapabilities = "ReadWrite"COMMENT
LOWapis/externalsecrets/v1/secretstore_oracle_types.go41COMMENT
LOWapis/externalsecrets/v1/clusterexternalsecret_types.go41 // The labels to select by to find the Namespaces to create the ExternalSecrets in.COMMENT
LOWapis/externalsecrets/v1/clusterexternalsecret_types.go101 // ExternalSecretName is the name of the ExternalSecrets created by the ClusterExternalSecretCOMMENT
LOWapis/externalsecrets/v1/secretstore_aws_types.go61 AWSServiceSecretsManager AWSServiceType = "SecretsManager"COMMENT
LOWapis/externalsecrets/v1/secretstore_aws_types.go141COMMENT
LOWapis/externalsecrets/v1/secretstore_dvls_types.go21)COMMENT
LOWapis/externalsecrets/v1/secretstore_openbao_types.go41 //COMMENT
LOWapis/externalsecrets/v1/secretstore_openbao_types.go61 // Server is the connection address for the OpenBao server, e.g: `https://openbao.example.com:8200`.COMMENT
LOWapis/externalsecrets/v1/secretstore_openbao_types.go81// OpenBaoAuth is the configuration used to authenticate with an OpenBao server.COMMENT
156 more matches not shown…
Decorative Section Separators13 hits · 45 pts
SeverityFileLineSnippetContext
MEDIUMproviders/v1/crd/crd_test.go38// ── test doubles ─────────────────────────────────────────────────────────────COMMENT
MEDIUMproviders/v1/crd/crd_test.go55// ── helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMproviders/v1/crd/crd_test.go158// ── tests ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡e2e/k8s/vault-config/configure-vault.sh6# ------------------COMMENT
MEDIUM⚡e2e/k8s/vault-config/configure-vault.sh8# ------------------COMMENT
MEDIUM⚡e2e/k8s/vault-config/configure-vault.sh12# ------------------COMMENT
MEDIUM⚡e2e/k8s/vault-config/configure-vault.sh15# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh38# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh41# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh53# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh56# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh87# ------------------COMMENT
MEDIUMe2e/k8s/vault-config/configure-vault.sh90# ------------------COMMENT
Fake / Example Data30 hits · 30 pts
SeverityFileLineSnippetContext
LOWproviders/v1/beyondtrust/provider_test.go423 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go462 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go502 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go541 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go581 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go622 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go662 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go789 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go814 _, err := w.Write([]byte(`{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`))CODE
LOWproviders/v1/beyondtrust/provider_test.go914 writeBody(t, w, `{"access_token": "fake_token", "expires_in": 600, "token_type": "Bearer"}`)CODE
LOWproviders/v1/gcp/secretmanager/client_test.go511 ref := testingfake.PushSecretData{RemoteKey: "fake-key"}CODE
LOWproviders/v1/ibm/provider_test.go1408 Key: "fake-key",CODE
LOWproviders/v1/ibm/provider_test.go1427 "fake-key": []byte("ImAFakeApiKey"),CODE
LOWproviders/v1/aws/secretsmanager/secretsmanager_test.go74 fakeKey = "fake-key"CODE
LOWproviders/v1/aws/parameterstore/parameterstore_test.go290const remoteKey = "fake-key"CODE
LOWproviders/v1/aws/parameterstore/parameterstore_test.go351 assert.Equal(t, "/external-secrets/parameters/fake-key", input.ResourceId)CODE
LOWproviders/v1/aws/parameterstore/parameterstore_test.go709 assert.Equal(t, "/test/this/thing/fake-key", *input.Name)CODE
LOWproviders/v1/conjur/fake/fake.go124 "value": "Lorem ipsum dolor sit amet",CODE
LOWproviders/v1/conjur/fake/fake.go124 "value": "Lorem ipsum dolor sit amet",CODE
LOWproviders/v1/vault/client_push_test.go35 fakeKey = "fake-key"CODE
LOWproviders/v1/vault/client_push_test.go868 val = []byte(`{"fake-key":"fake-value"}`)CODE
LOWruntime/template/v2/pem_test.go415 want: []string{"example.com", "www.example.com", "192.168.1.10", "10.0.0.1", "admin@example.com", "https://example.coCODE
LOWruntime/esutils/utils_test.go1467 if claims["name"] != "John Doe" {CODE
LOWruntime/esutils/utils_test.go1468 t.Errorf("Expected name claim to be 'John Doe', got %v", claims["name"])CODE
LOWdocs/snippets/generator-fake.yaml4 name: fake-keyCODE
LOWdocs/snippets/generator-fake-example.yaml14 name: "fake-key"CODE
LOWdocs/snippets/generator-sshkey.yaml7 comment: "user@example.com"CODE
LOWgenerators/v1/cloudsmith/cloudsmith_test.go147 if claims["name"] != "John Doe" {CODE
LOWgenerators/v1/cloudsmith/cloudsmith_test.go148 t.Errorf("Expected name claim to be 'John Doe', got %v", claims["name"])CODE
LOWe2e/framework/addon/infisical.go51 infisicalAdminEmail = "admin@example.com"CODE
Structural Annotation Overuse17 hits · 26 pts
SeverityFileLineSnippetContext
LOWdocs/snippets/cluster-external-secret-fanout.yaml2# Step 1: A single ExternalSecret pulls from the upstream provider.COMMENT
LOWdocs/snippets/cluster-external-secret-fanout.yaml19# Step 2: ClusterSecretStore reads the source Secret via the Kubernetes provider.COMMENT
LOWdocs/snippets/cluster-external-secret-fanout.yaml39# Step 3: ClusterExternalSecret fans the Secret out to matching namespaces.COMMENT
LOWdocs/provider/conjur.md36#### Step 1: Define an external secret storeCOMMENT
LOWdocs/provider/conjur.md45#### Step 2: Create Kubernetes secrets for Secrets Manager credentialsCOMMENT
LOWdocs/provider/conjur.md66#### Step 3: Create the external secrets storeCOMMENT
LOWdocs/provider/conjur.md89#### Step 1: Define an external secret storeCOMMENT
LOWdocs/provider/conjur.md123#### Step 2: Create the external secrets storeCOMMENT
LOWdocs/provider/conjur.md142#### Step 1: Define an external secret storeCOMMENT
LOWdocs/provider/conjur.md156#### Step 2: Create Kubernetes secrets for the client certificate and keyCOMMENT
LOWdocs/provider/conjur.md172#### Step 3: Create the external secrets storeCOMMENT
LOWdocs/provider/conjur.md210#### Step 1: Define an external secret storeCOMMENT
LOWdocs/provider/conjur.md216#### Step 2: Create the external secrets storeCOMMENT
LOWdocs/provider/conjur.md233#### Step 1: Define an external secret store (ambient IMDS)COMMENT
LOWdocs/provider/conjur.md245#### Step 2: Create the external secrets storeCOMMENT
LOWdocs/provider/conjur.md267#### Step 1: Define an external secret store (ambient GCP Metadata Service)COMMENT
LOWdocs/provider/conjur.md279#### Step 2: Create the external secrets storeCOMMENT
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMterraform/aws/infrastructure/modules/cluster/irsa.tf20# Create the IAM policy document for SSM Parameter Store accessCOMMENT
MEDIUMterraform/aws/infrastructure/modules/cluster/irsa.tf38# Create the IAM policy document for ACM accessCOMMENT
MEDIUMhack/api-docs/add_eso_version.sh41# Create the new line to insertCOMMENT
MEDIUMhack/api-docs/add_eso_version.sh44# Create a temporary fileCOMMENT
Redundant / Tautological Comments4 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡hack/api-docs/add_eso_version.sh6# Set ROOT to the repository root (two levels up from this script)COMMENT
LOW⚡hack/api-docs/add_eso_version.sh9# Check if all required arguments are providedCOMMENT
LOW⚡hack/api-docs/add_eso_version.sh16# Assign parameters to variablesCOMMENT
LOW⚡hack/api-docs/add_eso_version.sh25# Check if the file existsCOMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/provider/infisical.md497 fingerprint: <your-api-key-fingerprint>CODE
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocs/snippets/cluster-external-secret-fanout.yaml2# Step 1: A single ExternalSecret pulls from the upstream provider.COMMENT
LOWdocs/snippets/cluster-external-secret-fanout.yaml19# Step 2: ClusterSecretStore reads the source Secret via the Kubernetes provider.COMMENT
LOWdocs/snippets/cluster-external-secret-fanout.yaml39# Step 3: ClusterExternalSecret fans the Secret out to matching namespaces.COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMterraform/gcp/infrastructure/main.tf23 # e2e test runner which orchestrates the testsCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMproviders/v1/yandex/common/sdk.go65 // and will pass the endpoint to net.Dial as-is, which would utilize happy-eyeballsCOMMENT
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWhack/modfiles.sh13# Usage:COMMENT
LOWhack/generate-provenance.sh11# Usage:COMMENT
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOW.github/workflows/pull-request-label.yml24 # If extended, don't forget to also include it in the verification step verify-labels.COMMENT
LOW.github/workflows/pull-request-label.yml24 # If extended, don't forget to also include it in the verification step verify-labels.COMMENT