T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:32- Finding
Execution of Unpinned Remote Code and Unverified Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 32–36, 72–94, and 103–104
Vulnerability Type: Remote payload retrieval and insecure dependency execution
Risk Level: HighVulnerable Code
bash git clone https://github.com/PUITAR/DeepSlide.git cd DeepSlidebash docker build -t deepslide:latest -f container/dockerfile .bash cd next-ai-draw-io && npm install cd ../deepslide/frontend && npm install cd ../..bash cd deepslide/backend python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt cd ../..bash cd deepslide bash start.shTechnical Analysis
The skill clones the current state of an external GitHub repository without pinning an audited commit, tag digest, or cryptographically verified release. It subsequently builds the downloaded Dockerfile, installs npm and Python dependencies, and executes a downloaded shell script.
These operations create several mutable execution channels:
- The upstream repository can change after this skill has been reviewed.
npm installcan execute package lifecycle scripts such aspreinstall,install, andpostinstall.pip install -r requirements.txtinstalls code selected by a remotely controlled requirements file.docker buildexecutes instructions from the remotely retrieved Dockerfile and sends the build context to the Docker daemon.bash start.shdirectly executes an unaudited upstream script with the invoking user's privileges.
The project snapshot contains only
SKILL.md; the referenced repository files, manifests, lockfiles, Dockerfile, and shell scripts are not included. Their safety therefore cannot be established from the audited artifact.Attack Path
- An attacker compromises the upstream repository, a maintainer account, or a referenced package.
- The attacker modifies `start.s ...[truncated 1162 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the upstream repository to a specific, reviewed commit hash rather than cloning and executing the default branch.
- Verify release signatures, signed commits, or published checksums before executing downloaded content.
- Include and enforce dependency lockfiles. Use
npm ciwith a committed lockfile instead of unrestrictednpm install. - Pin Python dependencies to exact versions and hashes, and install them with a command such as
pip install --require-hashes -r requirements.txt. - Review npm lifecycle scripts, the Dockerfile,
start.sh, and all other executable upstream files before use. - Require explicit user confirmation immediately before executing remotely retrieved scripts or dependency installation hooks.
- Run installation and build operations in an isolated, least-privileged environment without unnecessary credentials.
- Avoid exposing sensitive environment variables to Docker builds or package installation processes.
- Document that Docker daemon access can confer extensive host privileges, and do not request or use elevated Docker access unless necessary.
