T08 · Insecure Dependencies
- Location
references/react-setup.md:147- Finding
Third-Party Browser Scripts Are Loaded Without Immutable Versioning or Integrity Verification
- Content
View full analysis
``` `references/animated-video.md:40`: ```markdown The `animations.jsx` starter handles 90% of cases. Reach for Popmotion (`https://unpkg.com/popmotion@11.0.5/dist/popmotion.min.js`) only when you need: ``` `references/prototypes.md:94`: ```markdown - **Popmotion** (`https://unpkg.com/popmotion@11.0.5/dist/popmotion.min.js`) is a fallback when you need spring physics or complex tweens. ``` ### Technical Analysis The Skill recommends loading executable JavaScript directly from third-party CDNs. The Popmotion URL is pinned to a specific version, but no Subresource Integrity value is supplied. The Lucide URL uses the mutable `@latest` alias, and the Tailwind CDN URL is neither version-pinned nor protected with Subresource Integrity. When these recommendations are used in generated HTML, the browser executes the CDN response in the security context of the resulting page. A compromised CDN, compromised upstream package, mutable release tag, or unauthorized modification of the hosted asset could therefore change the code that is executed after the Skill package has already been reviewed. This also conflicts with the safer practice documented earlier in `references/react-setup.md`, where React, ReactDOM, and Babel are pinned and supplied with integrity hashes. ### Attack Path 1. A user asks the Agent to create a prototype or animated design. 2. The Agent follows the affected reference documentation and includes one of the recommended CDN script URLs in the ge ...[truncated 1362 chars]- Remediation
View remediation
