Trust Assessment
apify-lead-generation received a trust score of 37/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 3 findings: 2 critical, 0 high, 0 medium, and 1 low severity. Key findings include Unsanitized user input in shell commands, Arbitrary file write via unsanitized output path, Unpinned global dependency.
The analysis covered 4 layers: manifest_analysis, llm_behavioral_safety, static_code_analysis, dependency_graph. The static_code_analysis layer scored lowest at 38/100, indicating areas for improvement.
Last analyzed on February 11, 2026 (commit 0ea3e009). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Unsanitized user input in shell commands The `SKILL.md` instructs the host LLM to construct and execute shell commands where `ACTOR_ID` and `JSON_INPUT` are directly interpolated. If these values originate from untrusted user input, a malicious actor could inject arbitrary shell commands by crafting `ACTOR_ID` or `JSON_INPUT` to include shell metacharacters (e.g., `"; rm -rf /"` or `'{"key": "value"}' ; evil_command #`). This allows for arbitrary code execution on the host system. The host LLM must sanitize or properly escape `ACTOR_ID` and `JSON_INPUT` before interpolating them into shell commands. For `ACTOR_ID`, ensure it only contains allowed characters (e.g., alphanumeric, '/', '-'). For `JSON_INPUT`, ensure it's properly quoted and escaped for the shell, or pass it via a temporary file if possible. | Unknown | SKILL.md:40 | |
| CRITICAL | Arbitrary file write via unsanitized output path The `run_actor.js` script accepts an `--output` argument which is directly used in `writeFileSync` without any path validation or sanitization. The `SKILL.md` instructs the host LLM to construct this path using a user-controlled `OUTPUT_FILE` part. A malicious user could specify an absolute path or use path traversal sequences (e.g., `../../../../etc/passwd`) to write arbitrary content to any file on the system where the agent has write permissions, leading to data corruption, privilege escalation, or denial of service. The `run_actor.js` script should validate the `--output` path to ensure it is within an allowed, restricted directory (e.g., a temporary directory or a user-specific output directory) and does not contain path traversal sequences. The host LLM should also ensure that any user-provided filename is sanitized before being passed to the script. | Unknown | reference/scripts/run_actor.js:150 | |
| LOW | Unpinned global dependency The `SKILL.md` instructs the user to install `@apify/mcpc` globally without specifying a version. This can lead to inconsistencies across different environments or introduce vulnerabilities if a future version of `mcpc` contains breaking changes or security flaws that are automatically pulled in. Specify a pinned version for global dependencies to ensure consistent and secure installations, e.g., `npm install -g @apify/mcpc@1.2.3`. | Unknown | SKILL.md:15 |
Scan History
Embed Code
[](https://skillshield.io/report/58e0684d0bf94a1d)
Powered by SkillShield