Trust Assessment
ppt-ooxml-translator received a trust score of 79/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Unsafe deserialization / dynamic eval, Zip Slip vulnerability during PPTX unpacking.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Zip Slip vulnerability during PPTX unpacking The `unpack` function uses `zipfile.ZipFile.extractall()` without validating the filenames within the archive. A malicious `.pptx` file (which is a zip archive) could contain entries with path traversal sequences (e.g., `../../../../etc/passwd` or `../../../../tmp/malicious_script.sh`). This could lead to arbitrary file creation or overwrite outside the intended `output_root` directory, potentially enabling command injection (by writing executable files to known paths) or data exfiltration (by overwriting sensitive configuration files). Before calling `zf.extractall()`, iterate through `zf.infolist()` and for each `ZipInfo` object, check `zipinfo.filename` for path traversal sequences (e.g., `..`, absolute paths). Ensure that the resolved path for each file to be extracted remains strictly within the `output_root` directory. A safer approach is to manually extract each file after validating its path. | LLM | src/ppt_ooxml_tool/cli.py:144 | |
| MEDIUM | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | skills/jason2be/ppt-ooxml-tool/src/ppt_ooxml_tool/cli.py:477 |
Scan History
Embed Code
[](https://skillshield.io/report/5a4da7520f0e8517)
Powered by SkillShield