Public exposure
buckets/blobs public, security groups `0.0.0.0/0` on admin ports (22, 3389, DB ports), public DB instances, LoadBalancer services with no auth.

the cloud dog. Misconfigurations in Terraform, Kubernetes, Dockerfiles and CI pipelines.
ExploitAnyone can list and download user files
FixSmallest change suggested
$ /watchdog-go-cloudA misconfiguration lens for infrastructure-as-code that stays on all session, plus an on-demand audit.
The always-on lens flags public exposure, wildcard IAM, secrets in config, privileged containers, missing encryption/logging and CI supply-chain risks as you work.
buckets/blobs public, security groups `0.0.0.0/0` on admin ports (22, 3389, DB ports), public DB instances, LoadBalancer services with no auth.
`Action: "*"` / `Resource: "*"`, `iam:PassRole` broad, assumable roles with `Principal: "*"`, long-lived access keys, cluster-admin bindings for workloads.
credentials in tfvars, manifests, Dockerfile `ENV`/`ARG`, CI env, state files committed. Never print a secret's value — not keys, tokens, passwords (even weak or default ones), or connection strings. Name the file:line and the kind of secret only, e.g. `password default (redacted)`. Writing a value and labelling it redacted is a leak.
`privileged: true`, `hostNetwork`/`hostPID`, `hostPath` mounts, running as root, no resource limits, `allowPrivilegeEscalation`, `:latest` images.
storage/DB/volumes unencrypted, TLS off, audit/flow logs disabled, no versioning on state buckets.
`pull_request_target` checking out PR code, unpinned third-party actions, `permissions: write-all`, secrets exposed to forks, `curl | sh`.
Runs these scanners when installed, then reads the code they can't understand:
Static audit of Terraform, CloudFormation, Kubernetes, Helm, Dockerfiles and CI pipelines
Also runs in these bundles.
Its test target holds an insecure Terraform + Kubernetes + Dockerfile + GitHub Actions setup (17 planted misconfigs, 3 decoys) and an answer key. First run of /watchdog-go-cloud (2026-10-27, one run per model, skill text given to a subagent):
Static review only. Never run `terraform apply`, `kubectl apply`, or any state-changing cloud call.
Root cause over symptom: follow modules, variables and defaults before calling something safe.
End each review with: what you did not check, and the top risk the user must act on.
Husky is Watchdog's cloud dog for Claude Code. It looks for Public exposure, IAM, Secrets, Workload hardening, Encryption & logging and CI/CD supply chain. Each finding comes with the exact file and line, how it could be abused, and the smallest fix.
Install Watchdog with /plugin marketplace add watchdoglab/watchdog and /plugin install watchdog@watchdog, then run /watchdog-go-cloud. Its lens also stays on while you code and flags risky lines as they're written.
When they're installed, Husky runs checkov, tfsec, kube-score, hadolint, actionlint and gitleaks, then reads the code those scanners can't understand. Anything it couldn't check is listed under Not checked in the report.
Yes. Its first rule: Static review only. Never run terraform apply, kubectl apply, or any state-changing cloud call. Secrets it finds are reported by location and type only, never printed. Watchdog is free and open source (MIT).