T08 · Insecure Dependencies
- Location
assets/themes/am_template.scss:5- Finding
Unpinned Third-Party CSS and Font Resources Loaded During Rendering
- Content
View full analysis
Vulnerability Details
File Location:
assets/themes/am_template.scss, lines 5–6
Vulnerability Type: Insecure third-party dependencies
Risk Level: MediumVulnerable Code
scss @import 'https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css'; @import url(https://fonts.bunny.net/css?family=charm:700);The affected base theme is transitively loaded by the course theme:
scss /* assets/themes/am_blue_course.scss, line 3 */ @import 'am_template';Technical Analysis
The required
am_blue_coursetheme importsam_template.scss, which retrieves CSS and font resources from BootCDN and Bunny Fonts when the rendering environment permits remote resource loading.Although the Font Awesome URL names version
6.4.0, neither remote import is locally vendored or protected by an integrity check. The effective content therefore remains controlled by external infrastructure after the Skill package has been reviewed. A compromised CDN, DNS route, upstream asset, or remote account could return altered CSS or references to additional remote resources.The requests also expose network metadata—such as the renderer's IP address, request timing, and HTTP headers—to third parties. Rendering is consequently not fully offline, deterministic, or reproducible.
This is a supply-chain exposure rather than evidence that the current remote resources are malicious.
Attack Path
- A user invokes the Skill to create a Marp presentation using the required
am_blue_coursetheme. assets/themes/am_blue_course.scss:3imports the localam_templatetheme.- The renderer processes the remote imports at
assets/themes/am_template.scss:5–6. - The rendering environment connects to BootCDN and Bunny Fonts.
- If either delivery path is compromised, an attacker can return modified CSS or references to attacker-controlled resources.
- The renderer processes that attacker-controlled content within the capabilities and security boundari ...[truncated 771 chars]
- A user invokes the Skill to create a Marp presentation using the required
- Remediation
View remediation
Remediation Suggestions
- Download and audit the required Font Awesome stylesheet, font files, and Charm font assets.
- Store those resources inside the project and reference them using local, project-relative paths.
- Pin vendored resources to reviewed versions and record checksums in the release process.
- Remove all runtime
http://andhttps://imports from the SCSS themes. - Configure the Marp renderer or surrounding sandbox to deny outbound network access during compilation and rendering.
- If remote resources are operationally unavoidable, restrict outbound access to an explicit allowlist, use immutable versioned resources, and verify downloaded artifacts before use. Because SCSS
@importdoes not provide Subresource Integrity enforcement, local vendoring is preferred. - Add an automated repository check that rejects remote CSS imports and remote font or image references in active themes.
