T08 · Insecure Dependencies
- Location
scripts/docker-compose.yml:4- Finding
Mutable Third-Party Container Executes with Access to the Bearer Token and Workspace
- Content
View full analysis
Vulnerability Details
File Location:
scripts/docker-compose.yml:4-17
Vulnerability Type: Unpinned third-party container with sensitive credentials and workspace access
Risk Level: HighVulnerable Code
yaml gomboc-mcp: image: gombocai/mcp:latest container_name: gomboc-mcp-server ports: - "3100:3100" environment: - GOMBOC_PAT=${GOMBOC_PAT} - MCP_PORT=3100 - LOG_LEVEL=info volumes: - ./:/workspace:ro healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3100/health"] interval: 10s timeout: 5s retries: 3 start_period: 20s restart: unless-stoppedTechnical Analysis
The recommended deployment executes
gombocai/mcp:latest, a mutable container image whose contents may change after the Skill has been reviewed. No immutable image digest, source revision, signature-verification policy, or reproducible build information is provided.The container receives the complete
GOMBOC_PATbearer token, outbound network access, and read access to the mounted workspace. It also publishes a host port and is configured to restart automatically. The read-only mount prevents direct workspace modification through that mount, but it does not prevent source-code collection or credential exfiltration.This design creates a supply-chain trust boundary in which any future image replacement or registry compromise can alter the effective executable payload without changing the audited Skill package.
Attack Path
- An attacker compromises the image publisher, container registry, or credentials used to publish
gombocai/mcp. - The attacker replaces the image associated with the mutable
latesttag. - A user follows the documented command and starts or pulls the Compose service.
- Docker executes the replaced image and injects
GOMBOC_PAT. - The malicious image reads files under
/workspace, accesses the bearer token, an ...[truncated 629 chars]
- An attacker compromises the image publisher, container registry, or credentials used to publish
- Remediation
View remediation
Remediation Suggestions
- Pin the image to an immutable SHA-256 digest, for example
gombocai/mcp@sha256:.... - Publish the container source, build manifest, and reproducible build procedure.
- Require container-image signature and provenance verification before execution.
- Use a short-lived token restricted to the minimum required API operations and repository scope.
- Do not inject the PAT into the container unless the selected operation requires it.
- Add
read_only: true, drop all Linux capabilities, enableno-new-privileges, and run as a dedicated non-root user. - Restrict outbound network access to the explicitly required API endpoint.
- Remove
restart: unless-stoppedfrom the default development configuration. - Bind the service only to loopback and document how users can stop and remove it.
- Pin the image to an immutable SHA-256 digest, for example
