Back to skill

Security audit

comment-md

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Markdown review tool, but it opens reviewed document content in a browser page that executes mutable third-party JavaScript and can fail open on unsafe Markdown rendering.

Install only if you are comfortable opening reviewed Markdown in a local browser UI that contacts jsDelivr and executes remote JavaScript. Avoid using it for confidential or untrusted Markdown unless dependencies are bundled or integrity-pinned and the renderer fails closed when sanitization is unavailable.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T08 · Insecure Dependencies

Warning
Location
assets/viewer.html:6
Finding

Mutable Third-Party JavaScript Dependencies Are Executed Without Integrity Verification

Content
View full analysis
``` ### Technical Analysis The viewer downloads and executes JavaScript from jsDelivr whenever it is opened. The `marked` dependency has no version constraint, while DOMPurify is pinned only to major version 3. Neither script includes a Subresource Integrity hash. Consequently, the effective code executed by the Skill can change after the Skill package itself has been audited. A compromised CDN, compromised upstream package release, mutable package resolution, or malicious supply-chain update could cause attacker-controlled JavaScript to run in the viewer. The remote scripts execute in the same browser context as the application and can access: - The complete reviewed Markdown document. - The absolute local path stored in `DATA.md_file`. - Review comments entered by the user. - The local submission endpoint at `/api/finish`. - Browser-accessible network APIs that could be used to attempt data exfiltration. This behavior also creates undeclared outbound requests to a third-party service during normal operation. ### Attack Path 1. The user invokes the Skill to review a Markdown document. 2. The local server opens `assets/viewer.html` in the browser. 3. The browser requests `marked` and DOMPurify from jsDelivr. 4. An attacker compromises the CDN response, upstream package, or mutable dependency resolution. 5. The browser executes the attacker-controlled JavaScript in the review page. 6. The malicious script reads the embedded document, absolute file path, or entered comments. 7. The script can alter the review interface or submitted comment payload and can attempt to transmit accessi ...[truncated 684 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
assets/viewer.html:132
Finding

Markdown Rendering Fails Open When the Sanitizer Is Unavailable

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill instructs the agent to run a local Python server, open a browser, read a Markdown file, and write a JSON output file, but it declares no explicit tool scope or permission boundaries. Missing scope is dangerous because it obscures the skill's file, write, and local-network capabilities from reviewers and policy enforcement, increasing the chance of overbroad or unexpected execution.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document is explicitly marked with lang="zh-CN", and the interface text throughout the file is presented only in Chinese. Under the policy, forcing a specific language without user opt-in or a documented justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This markdown skill description instructs the agent to run a tool that produces a new .comments.json file adjacent to the reviewed document, which is a file-system side effect. Although the behavior is described, there is no explicit user warning or caution about this write operation or where review data will be stored.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs users to click a button labeled 完成评论 (Finish), which implies a fixed Chinese-language UI element. The file does not indicate that the interface language is optional, configurable, or justified as region-specific, so this appears to force a locale without user opt-in.

Content

No source excerpt is available for this finding.