T08 · Insecure Dependencies
Warning
- Location
- references/setup.md:13
- Finding
- Mutable Third-Party Container Image Is Downloaded and Executed<![CDATA[ ## Vulnerability Details **File Location**: `references/setup.md:13-20` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash docker run -it --rm \ -e ANTHROPIC_AUTH_TOKEN=your-token \ -e ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic \ -e ANTHROPIC_MODEL=glm-4.6 \ -v "$PWD/workspace:/workspace" \ psyb0t/pibox:latest ``` The same mutable image reference is used throughout `SKILL.md` and `references/setup.md`, including API, Telegram, cron, one-shot, and Docker Compose examples. ### Technical Analysis The installation instructions execute `psyb0t/pibox:latest`, a mutable image tag hosted under a third-party namespace. A mutable tag can resolve to different image content over time, meaning the effective executable payload may change after the Skill has been reviewed. The project contains no Dockerfile, immutable image digest, signature-verification procedure, checksum, or reproducible-build instructions that would allow users to verify that the downloaded image matches the version covered by this audit. The container receives sensitive and privileged resources in the documented workflows, including: - LLM provider API keys or bearer tokens. - Telegram bot credentials. - API and MCP bearer tokens. - Read and write access to a host-mounted workspace. - Network access, including host networking in some examples. - The ability to execute an autonomous coding Agent. Although no malicious implementation was found in the audited Markdown files, the unpinned dependency creates a supply-chain trust boundary outside the reviewed project. ### Attack Path 1. An attacker compromises the container registry account, image publishing pipeline, upstream source repository, or maintainer credentials. 2. The attacker publishes a modified image under `psyb0t/pibox:latest`. 3. A user follows the documented `docker run` command or executes the documented `docker pull psyb0t/pibox:latest` update command. ...[truncated 1194 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace every mutable tag with an immutable, verified image digest: ```bash docker run ... psyb0t/pibox@sha256:VERIFIED_DIGEST ``` 2. Publish the exact source revision and build configuration corresponding to the approved digest. 3. Provide container-signature verification instructions using a mechanism such as Cosign. 4. Use an automated dependency-update process that submits digest changes for security review instead of silently tracking `latest`. 5. Run the container as a non-root user and use a read-only root filesystem where compatible. 6. Mount only the minimum required workspace path and use a read-only mount for tasks that do not require modification. 7. Supply secrets through Docker secrets or another dedicated secret manager rather than ordinary command-line environment configuration where possible. 8. Apply outbound network restrictions so the container can reach only the configured model provider and other explicitly required services. ]]>
