T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:19
- Finding
- Unverified Remote Python Payload Retrieved from a Mutable Branch<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:19` - `INSTALLATION.md:13` - `INSTALLATION.md:16` - `INSTALLATION.md:215` - `README.md:28` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code `SKILL.md:19`: ```bash wget https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py ``` `INSTALLATION.md:13`: ```bash wget https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py ``` `INSTALLATION.md:16`: ```bash curl -O https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py ``` `INSTALLATION.md:215`: ```bash curl -O https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py ``` `README.md:28`: ```bash wget https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py ``` The installation guide also presents mutable repository installation methods: ```bash git clone https://github.com/cerbug45/ai-agent-tools.git pip install git+https://github.com/cerbug45/ai-agent-tools.git ``` ### Technical Analysis The documented commands retrieve executable Python source from the mutable `main` branch of a personal GitHub repository. They do not pin an immutable commit, verify a cryptographic checksum, validate a signature, or use signed release provenance. The downloaded module is subsequently imported by user applications or executed using: ```bash python ai_agent_tools.py ``` Consequently, the payload that executes can differ from the locally audited `ai_agent_tools.py`. Although downloading software is a legitimate installation activity, retrieving mutable and unverified executable content is not necessary for the declared utility-library functionality and violates supply-chain integrity principles. The locally reviewed implementation does not contain malicious networking, persistence, subprocess execution, credential access, or obfuscation. However, those findings do not establis ...[truncated 1502 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove direct download instructions that reference a mutable branch. 2. Prefer the audited `ai_agent_tools.py` already distributed with the Skill package. 3. Publish immutable, versioned releases through a trusted package registry. 4. If GitHub downloads remain necessary, pin them to a reviewed full commit hash rather than `main`, for example: ```bash curl -fLO https://raw.githubusercontent.com/cerbug45/ai-agent-tools/FULL_COMMIT_HASH/ai_agent_tools.py ``` 5. Publish a SHA-256 checksum through an authenticated release channel and require verification before import or execution: ```bash echo "EXPECTED_SHA256 ai_agent_tools.py" | sha256sum --check - ``` 6. Use signed release tags, package signatures, and verifiable build provenance. 7. Configure automated dependency and release-integrity monitoring. 8. Instruct users to inspect and verify downloaded source before executing it. 9. Avoid executing downloaded code with elevated privileges. ]]>
