T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:9
- Finding
- Unpinned Third-Party Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:9-18`, with matching installation guidance at `SKILL.md:62-69` and `scripts/evoagentx_cli.py:42-50` **Vulnerability Type**: Unpinned package installation and supply-chain exposure **Risk Level**: Medium ### Vulnerable Code ```yaml "install": [ { "id": "pip", "kind": "pip", "package": "evoagentx", "bins": ["python3"], "label": "Install EvoAgentX framework", }, ], ``` The same unpinned installation is presented to users: ```bash pip install evoagentx ``` ### Technical Analysis The skill installs `evoagentx` without constraining its version or validating package integrity. Consequently, the code installed by this skill is not fixed to the version that existed when the skill was audited. The resolved package and its transitive dependencies may change between installations. Python packages can run code during installation, import, and normal execution. If the upstream project, its package-publishing account, or one of its dependencies is compromised, a later package release could execute attacker-controlled code under the account performing the installation. No lockfile, package hash, reviewed version, or isolated installation environment is specified. The repository does not itself retrieve and execute a remote script, but it delegates executable behavior to a mutable package source through `pip`. ### Attack Path 1. An attacker compromises the upstream package, its publishing credentials, or a transitive dependency. 2. The attacker publishes a malicious release that still satisfies the unconstrained package name `evoagentx`. 3. A user installs the skill or follows its documented `pip install evoagentx` command. 4. `pip` resolves the attacker-controlled release because no reviewed version or hash is required. 5. Malicious code runs during installation, import, or subsequent EvoAgentX use with the privileges of the installing user. ### Impact Assessment Successful explo ...[truncated 533 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `evoagentx` to a specific reviewed version rather than installing the latest available release. 2. Maintain a lockfile containing exact versions for all transitive dependencies. 3. Require cryptographic package hashes, such as through `pip install --require-hashes -r requirements.txt`. 4. Verify that the package is obtained from the intended package index and document the trusted publisher and source repository. 5. Install the dependency in a dedicated virtual environment with minimum filesystem and credential access. 6. Add dependency vulnerability and provenance checks to the release process. 7. Review and deliberately update the pinned version rather than accepting automatic package changes. ]]>
