T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:100- Finding
Unverified Remote kubectl Binary Download and Execution
- Content
View full analysis
/bin/kubectl`. The cache directory is added to `PATH` for the duration of the command. - **Kubeconfig caching:** Remote kubeconfigs are hashed by URL (sha256) and stored at `/kubeconfigs/.yaml`. Use `--refresh` to bypass the cache. - **Secrets:** Downloaded kubeconfigs are written with `chmod 600`. Avoid logging the file contents. - **Cross-platform:** The wrapper auto-detects Linux/macOS and amd64/arm64 for kubectl downloads. ``` The same behavior is introduced at `SKILL.md:22-27`: ```markdown The main entry point is `scripts/k8s.sh`. It is a thin wrapper that: 1. Ensures `kubectl` is installed (downloads it via the DaoCloud mirror if missing). 2. Resolves the kubeconfig (downloads it to a cached path if a URL is given). 3. Invokes `kubectl --kubeconfig= `. ``` ### Technical Analysis The skill specification directs its wrapper to download an executable from a third-party mirror and then invoke that executable with access to Kubernetes credentials. It does not prescribe a pinned version, expected cryptographic digest, authenticated signature, or verification against an official Kubernetes release manifest. TLS protects transport only while the mirror and its certificate infrastructure remain trustworthy. It does not protect against mirror compromise, upstream replacement, administrative mistakes, or mutable content served from the download location. Because the downloaded artifact is executable code, i ...[truncated 1895 chars]- Remediation
View remediation
