Trust Assessment
journey received a trust score of 28/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: 1 critical, 3 high, 0 medium, and 0 low severity. Key findings include File read + network send exfiltration, Sensitive path access: AI agent config, Command Injection via unescaped user input in jq processing.
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 Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/barneyjm/journey/SKILL.md:41 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/barneyjm/journey/SKILL.md:41 | |
| HIGH | Command Injection via unescaped user input in jq processing The `scripts/journey.sh` script processes user-provided JSON (`$INPUT`) using `jq` in two instances (lines 20 and 35). The pattern `echo "$INPUT" | jq ...` is vulnerable to shell command injection. If the `$INPUT` variable, which is taken directly from the first command-line argument (`$1`), contains shell metacharacters (e.g., `' ; evil_command ; echo '`), these can break out of the `echo` command and execute arbitrary commands on the host system before the output is piped to `jq`. This allows an attacker to execute malicious code with the privileges of the script. To prevent shell expansion and command injection, use `printf %s "$INPUT" | jq ...` instead of `echo "$INPUT" | jq ...`. This ensures `$INPUT` is treated as a literal string and not interpreted by the shell before being piped to `jq`. | LLM | scripts/journey.sh:20 | |
| HIGH | Command Injection via unescaped user input in curl data payload The `scripts/journey.sh` script uses `curl -d "$INPUT"` to send user-provided JSON as the request body to an external API (line 44). The `$INPUT` variable is taken directly from the first command-line argument (`$1`) without proper sanitization or escaping. An attacker can inject shell metacharacters into `$INPUT` to break out of the double quotes and execute arbitrary commands on the host system. For example, `{"key": "value"}' --output /dev/null ; evil_command ; echo '{"key": "value"}` could execute `evil_command`. Pass the JSON data to `curl` via standard input using `--data-binary @-` or `--data @<temp_file>`. For example, `printf %s "$INPUT" | curl ... --data-binary @-`. This prevents shell expansion of `$INPUT` within the `curl` command line. | LLM | scripts/journey.sh:44 |
Scan History
Embed Code
[](https://skillshield.io/report/589b6bf9f9cc2b83)
Powered by SkillShield