Trust Assessment
imap-email received a trust score of 72/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 4 findings: 0 critical, 1 high, 2 medium, and 1 low severity. Key findings include Unpinned npm dependency version, Node lockfile missing, Shell Command Injection via Here-Document in setup.sh.
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 12, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Shell Command Injection via Here-Document in setup.sh The `setup.sh` script takes user input for IMAP credentials (email, port, password) and writes them into a `.env` file using a `cat > .env << EOF` here-document. If a malicious user provides input for `EMAIL` or `PORT` that contains a newline followed by the `EOF` delimiter and then arbitrary shell commands, those commands could be executed by the shell after the `.env` file is created. This allows for arbitrary command execution on the host system. Sanitize user input to prevent newlines and the `EOF` string, or use a safer method for writing to the `.env` file. For shell scripts, consider using `printf %q` to properly quote and escape variables before writing them, or use a programmatic approach (e.g., a Node.js script) that handles escaping securely. | LLM | setup.sh:27 | |
| MEDIUM | Unpinned npm dependency version Dependency 'imap-simple' is not pinned to an exact version ('^5.1.0'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/mvarrieur/imap-email/package.json | |
| MEDIUM | Unpinned dependencies in package.json The `package.json` file uses caret (`^`) ranges for its dependencies (`imap-simple`, `mailparser`, `dotenv`). This allows `npm install` to automatically update to new minor or patch versions. While `package-lock.json` pins exact versions, it can be ignored or become outdated. A compromise in a future minor/patch release of a dependency could introduce malicious code without explicit review, posing a supply chain risk. Pin dependencies to exact versions (e.g., `"imap-simple": "5.1.0"`) to ensure deterministic builds and prevent automatic updates to potentially compromised future versions. Regularly audit and update dependencies manually. | LLM | package.json:9 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/mvarrieur/imap-email/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/169d865e2e36ae35)
Powered by SkillShield