External secrets operator review
Skill Raishin/vanguard-frontier-agentic/skills/kubernetes/external-secrets-operator-review
Curated marketplace of AI skills, agents, and rules for cloud, zero-trust, and compliance-aware engineering - works with Claude Code, Codex, Cursor, Copilot, and more.
npx -y skills add Raishin/vanguard-frontier-agentic --skill external-secrets-operator-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when reviewing External Secrets Operator (ESO) configuration, including SecretStore, ClusterSecretStore, ExternalSecret, and PushSecret resources. Trigger when a user provides ESO YAML manifests, asks about secret rotation interval compliance, questions whether ClusterSecretStore scope is too broad, or wants to audit the auth method used to reach an external secret store (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, HashiCorp Vault, 1Password).
SKILL.md
3.6 KB, 590 tokens by cl100k_base, as published. Nobody here has run it
External Secrets Operator Review
Purpose
This skill reviews External Secrets Operator configuration for access scope creep, authentication anti-patterns, secret refresh interval compliance, dataFrom blast radius, template misconfiguration, and PushSecret privilege escalation. ESO is a trust bridge between your cluster and your external secret store — a misconfigured ClusterSecretStore or a broad dataFrom.find regex can expose every credential in your vault to every namespace, silently, with no audit trail.
Lean operating rules
- Treat any
ClusterSecretStorethat lacks anamespaceSelectorornamespacesrestriction as HIGH — it grants every namespace in the cluster the ability to reference external secrets through that store. - Treat
dataFrom.findwith a regex that matches more than a single defined secret path prefix (e.g.,name.regexp: .*orpath: /) as HIGH — it pulls all matching secrets from the external store into one K8s Secret, creating an enormous blast radius if the Secret is mounted or leaked. - Treat static credentials in
SecretStore.spec.provider.*.auth.secretRef(a K8s Secret holding external store credentials) as HIGH — this is a credential-to-access-credentials anti-pattern; prefer IRSA, Azure Workload Identity, GCP Workload Identity, or Vault Kubernetes auth. - Treat
refreshIntervalgreater than 24 hours on any credential that has an external rotation policy shorter than the interval as MEDIUM — the cluster will use a stale, already-rotated secret until the next sync, breaking the workload. - Treat
target.creationPolicy: Ownerwithout a documented backup or recreation procedure as MEDIUM — accidental deletion of the ExternalSecret deletes the managed K8s Secret, crashing workloads that mount it. - Treat
PushSecretresources with auth scoped to write-all on a store path as HIGH — PushSecret's write path requires elevated permissions; verify the auth scope is minimum-necessary. - Flag
target.templatemisconfigurations that could silently omit required secret keys — a partial K8s Secret causes workload startup failures or silent use of zero-value credentials. - Do not recommend disabling
refreshIntervalentirely (refreshInterval: 0) — that disables automatic rotation pickup.
References
Load these only when needed:
- Workflow and output contract — use when executing the full review or formatting the final answer.
Response minimum
Return, at minimum:
- SecretStore vs ClusterSecretStore scope assessment (namespace selector coverage)
- Authentication method findings (IRSA/workload-identity vs static credentials)
- dataFrom scope audit (find regex blast radius, extract path coverage)
- refreshInterval compliance findings
- target.creationPolicy and template correctness findings
- PushSecret privilege assessment (if present)
- Severity-labelled finding list (critical / high / medium / low)
- Safe next actions
What ships with it: 2 files
10.9 KB alongside SKILL.md
references/
- workflow-and-output.md9.6 KB
- metadata.json1.3 KB