Tp2
- Category
- MCP Tool Poisoning
- Confidence
- 85% confidence
- Finding
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a coherent Markdown-to-PPTX converter with some ordinary file-writing and dependency hygiene caveats.
Before installing, expect this skill to read the Markdown file you select, create a temporary schema JSON, and write a PPTX output file. Use explicit input and output paths, avoid running it in sensitive directories if temporary files matter, and prefer a reviewed install with pinned dependencies or a lockfile for reproducibility.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
Referenced artifact was not completely inspected
node scripts/generate-pptx.cjs <schema.json路径> <输出路径>
The trigger set is broad enough to match ordinary requests about creating presentations, which can cause the skill to activate unexpectedly and gain access to local files or execute its workflow without clear user intent. In this skill, activation leads to reading user-specified files, writing temporary schema files, and invoking a local script, so overbroad routing expands the chance of unintended file operations.
The entire skill file is written as a Chinese-only prompt template, including system instructions and output requirements, with no indication that users can choose another language or that the skill is limited to a Chinese-specific context. This creates a natural-language locale policy issue because the skill appears to enforce a specific language by default rather than offering opt-in or documenting a justified regional constraint.
The skill instructs writing a temporary PresentationSchema JSON into the current working directory without an explicit user-facing warning or path-safety guidance. This can lead to unintended file creation in sensitive project directories, accidental overwrites, or leakage of document contents into repos or synced folders if the user is unaware of where artifacts are being stored.
The dependency uses a caret range instead of an exact pinned version, which allows different installs over time to resolve to different package releases. This increases supply-chain risk and makes builds less reproducible, especially for an agent skill that generates files from user content and may be run in varied environments.
"generate": "node generate-pptx.cjs"
},
"dependencies": {
"pptxgenjs": "^4.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
The react dependency is not pinned to an exact version, so future installs may pull different compatible releases than originally tested. This creates reproducibility and supply-chain integrity issues, even if it does not by itself prove a directly exploitable flaw in this file.
},
"dependencies": {
"pptxgenjs": "^4.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
"sharp": "^0.34.5"
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
The react-dom dependency is specified with a floating semver range, allowing installation drift across environments. In security terms this weakens dependency integrity guarantees and can expose consumers to newly introduced vulnerable transitive versions.
"dependencies": {
"pptxgenjs": "^4.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
"sharp": "^0.34.5"
}
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
The react-icons package is unpinned, which permits unreviewed minor and patch updates to be installed. While lower risk than direct code injection in this file, it still represents a real supply-chain exposure and hampers reproducible builds.
"pptxgenjs": "^4.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
"sharp": "^0.34.5"
}
}
The sharp dependency is not pinned to an exact version, which is more concerning because native/image-processing libraries have historically had security issues in bundled components. Since this skill converts markdown to PPTX and may process embedded images, dependency drift in sharp could materially increase exposure to parsing-related vulnerabilities.
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
"sharp": "^0.34.5"
}
}
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
The document title and descriptive text are entirely in Chinese, and the schema field comments throughout the file continue this language-specific presentation without any indication that another language is supported. Under the stated policy, forcing a specific language without user opt-in or a documented regional justification is a natural-language policy violation.
No suspicious patterns detected.