T08 · Insecure Dependencies
- Location
SKILL.md:161- Finding
Unpinned Remote Dependencies Without Subresource Integrity
- Content
View full analysis
``` ### Technical Analysis The mandatory prototype template loads Tailwind CSS as executable JavaScript from the mutable `https://cdn.tailwindcss.com` endpoint. It also loads Font Awesome from a third-party CDN. Neither resource is protected with a Subresource Integrity hash, and the Tailwind URL does not identify an immutable dependency version. Consequently, the content executed by generated prototypes may change after the Skill has been reviewed. If the CDN, its publishing account, DNS resolution, or the delivery chain is compromised, an attacker could cause arbitrary JavaScript to execute when a user opens a generated prototype. The external image usage documented elsewhere in the Skill is expected presentation behavior and was not identified as a vulnerability. The security concern here is specifically the unverified remote dependency, especially the executable Tailwind script. ### Attack Path 1. A user invokes the Skill and confirms prototype generation. 2. The Agent creates an HTML prototype using the mandatory template from `SKILL.md`. 3. The generated prototype is opened locally or deployed to a web origin. 4. The browser requests the Tailwind script from the external CDN. 5. An attacker who has compromised the CDN, upstream publishing process, or relevant delivery infrastructure serves modified JavaScript. 6. The attacker-controlled script executes in the prototype's browser context. 7. The script may inspect or modify the DOM, capture information entered into the prototype, access origin-readable browser storage, and issue requests with ...[truncated 822 chars]- Remediation
View remediation
