T08 · Insecure Dependencies
- Location
SKILL.md:66- Finding
Unpinned Remote JavaScript Dependencies Without Integrity Verification
- Content
View full analysis
``` ### Technical Analysis The skill directs generated presentations to load executable JavaScript from a third-party CDN at viewing time. The dependency uses the mutable major-version selector `@5` rather than an exact audited release. It also lacks Subresource Integrity (`integrity`) and `crossorigin` attributes. Consequently, the JavaScript that eventually executes is not fully represented by the reviewed skill. Its contents can change after deck generation due to a new package release or compromise of the package publisher, package distribution infrastructure, or CDN. The implementation also conflicts with the stated requirement that generated files be self-contained. This is classified as `T08: Insecure Dependencies` because the exposure arises from relying on mutable, externally hosted third-party components without integrity controls. ### Attack Path 1. An attacker compromises the reveal.js publishing account, package distribution path, or CDN delivery infrastructure. 2. The attacker causes a malicious release or modified response to be served through the referenced `@5` URLs. 3. A user opens a slide deck generated according to the skill template while connected to the network. 4. The browser retrieves the modified JavaScript from jsDelivr. 5. The malicious JavaScript executes in the presentation's browser context. 6. The payload can read or modify deck content, manipulate navigation, issue network requests, or perform other actions available to JavaScript in that context. ### Impact Assessment Successful exploitation provides script execution in the browser context of the generated pre ...[truncated 541 chars]- Remediation
View remediation
