T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Global npm Package Installation Creates a Supply-Chain Execution Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-built for widgets, but it publishes potentially sensitive content to a persistent remote service with insufficient guardrails.
Install only if you are comfortable with widget content and form submissions going to the configured widget service and becoming durable/shareable. Do not use it for secrets, credentials, regulated personal data, or confidential business records unless access controls and retention are separately verified. Prefer pinning the CLI version, reviewing the package source, escaping all untrusted text before inserting it into HTML, and avoiding mutable third-party CDN scripts for sensitive pages.
SKILL.md:20Unpinned Global npm Package Installation Creates a Supply-Chain Execution Risk
SKILL.md:33Potentially Sensitive Widget Content Is Uploaded to an External Persistent Service Without a Mandatory Consent Gate
Subtitle
references/html_patterns.md:116Remotely Executed Chart.js Dependency Is Not Pinned to an Immutable Version or Protected by Integrity Verification
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div style="background:#1a1a1a;color:#e0e0e0;padding:20px;font-family:system-ui;min-height:100vh;">
<h1 style="color:#fff;font-size:28px;font-weight:500;margin:0 0 4px;">Title</h1>
<p style="color:#999;font-size:14px;margin:0 0 20px;">Subtitle</p>
<!-- NEXT -->
</div>
SKELETON
cat /tmp/w-{wid}.html | duoduo-widget update --wid "wid_..."
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<p style="margin:0;color:#999;font-size:14px;">Content — $100 safe, no escaping needed</p>
</div>
<!-- NEXT -->"""
html = html.replace('<!-- NEXT -->', section)
open(f, 'w').write(html)
PYEOF
cat /tmp/w-{wid}.html | duoduo-widget update --wid "wid_..."
The description emphasizes permanent browser URLs but does not prominently warn that finalized artifacts are durable and shareable, which can cause accidental publication of sensitive or regulated information. In an agent setting, this omission materially affects user consent and safe tool selection.
The trigger phrases are broad enough to match many ordinary requests, increasing the chance this skill is invoked when a plain-text response would suffice. Because the skill produces durable, browser-accessible artifacts, over-triggering expands exposure of sensitive content and increases the odds of unsafe HTML generation in contexts that did not require it.
The skill explicitly states that raw HTML is safe and needs no escaping in a system that creates permanent, shareable web pages. That guidance can lead an agent to interpolate untrusted user or data content directly into HTML or patch payloads, enabling stored XSS, UI redressing, or malicious script/event injection in artifacts opened by other users.
No suspicious patterns detected.