Trust Assessment
basecamp-cli received a trust score of 19/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 4 findings: 2 critical, 1 high, 1 medium, and 0 low severity. Key findings include Persistence / self-modification instructions, Unpinned npm dependency version, Unsanitized command-line argument in execSync call.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 14, 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 | |
|---|---|---|---|---|
| CRITICAL | Persistence / self-modification instructions Shell RC file modification for persistence Remove any persistence mechanisms. Skills should not modify system startup configurations, crontabs, LaunchAgents, systemd services, or shell profiles. | Manifest | skills/drkraft/basecamp-cli-mcp/src/commands/auth.ts:103 | |
| CRITICAL | Persistence / self-modification instructions Shell RC file modification for persistence Remove any persistence mechanisms. Skills should not modify system startup configurations, crontabs, LaunchAgents, systemd services, or shell profiles. | Manifest | skills/drkraft/basecamp-cli-mcp/src/lib/config.ts:175 | |
| HIGH | Unsanitized command-line argument in execSync call The `scripts/validate.ts` file uses `child_process.execSync` to execute shell commands. Command-line arguments, specifically `projectId`, are directly interpolated into the command string without proper sanitization. An attacker providing a malicious `projectId` (e.g., `123; rm -rf /`) could execute arbitrary commands on the system where this script is run. While this is a development/validation script, it is part of the skill package and represents a command injection vulnerability if executed with untrusted input. Sanitize or validate all external inputs before passing them to `execSync`. For numerical IDs, ensure they are strictly integers using `parseInt()` and then validate the result. For string inputs, use a library to escape shell metacharacters or pass them as separate arguments to the command if the underlying CLI tool supports it (e.g., `basecamp projects get --id "${projectId}"`). | LLM | scripts/validate.ts:70 | |
| MEDIUM | Unpinned npm dependency version Dependency '@modelcontextprotocol/sdk' is not pinned to an exact version ('^1.25.3'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/drkraft/basecamp-cli-mcp/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/f04b2f04752c2d28)
Powered by SkillShield