Trust Assessment
zotero-skill received a trust score of 34/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 5 findings: 0 critical, 4 high, 1 medium, and 0 low severity. Key findings include Unsafe deserialization / dynamic eval, Dangerous call: __import__(), Unpinned Python dependency.
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 Findings5
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Unsafe deserialization / dynamic eval Python builtins/import manipulation 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/rmanluo/zotero-skill/scripts/cli.py:68 | |
| HIGH | Unsafe deserialization / dynamic eval Python builtins/import manipulation 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/rmanluo/zotero-skill/scripts/cli.py:70 | |
| HIGH | Dangerous call: __import__() Call to '__import__()' detected in function '<module>'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/rmanluo/zotero-skill/scripts/cli.py:68 | |
| HIGH | Dangerous call: __import__() Call to '__import__()' detected in function '<module>'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/rmanluo/zotero-skill/scripts/cli.py:70 | |
| MEDIUM | Unpinned Python dependency The `scripts/install.sh` installs the `pyzotero` package without specifying a version. This can lead to non-reproducible builds and introduces a supply chain risk, as future versions of the package might contain breaking changes or security vulnerabilities that are automatically pulled into the environment. Pin the version of `pyzotero` in the `REQUIREMENTS` array, e.g., `REQUIREMENTS=(pyzotero==X.Y.Z)`. Alternatively, use a `requirements.txt` file with pinned versions. | LLM | scripts/install.sh:39 |
Scan History
Embed Code
[](https://skillshield.io/report/245f2cd4415758ed)
Powered by SkillShield