T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Execution of an Unverified Out-of-Package Validator
- Content
View full analysis
/.groundcrew/groundcrew-doctor.py --evidence ` before using them in a conclusion. Output follows `references/reporting.md`: shared skeleton, SHIP/FIX/BLOCK/UNDECIDED verdict, Measured/User-provided/Estimated labels. ``` ### Technical Analysis The Skill mandates execution of `groundcrew-doctor.py`, but that program is not included in the audited project. Its path is derived by locating an unspecified “active skills root,” rather than resolving an executable from a fixed, trusted installation. No requirement is provided to validate the executable's canonical path, ownership, permissions, provenance, version, or cryptographic digest before running it. Consequently, the behavior reviewed in this package is not necessarily the behavior executed at runtime. If another party can create, replace, or influence `.groundcrew/groundcrew-doctor.py` under the selected skills root, that party can substitute arbitrary Python code. This is an insecure supply-chain boundary because the Skill places mandatory trust in an external, mutable component that cannot be inspected as part of this package. ### Attack Path 1. An attacker obtains write access to a directory that may be selected as the active skills root, or influences skills-root discovery so that an attacker-controlled directory is selected. 2. The attacker creates or replaces `.groundcrew/groundcrew-doctor.py` with a malicious Python program. 3. A user invokes the `competitor-readout` Skill. 4. Following the ...[truncated 1237 chars]- Remediation
View remediation
