Security Audit
existential-birds/beagle:plugins/beagle-core/skills/create-pr
github.com/existential-birds/beagleTrust Assessment
existential-birds/beagle:plugins/beagle-core/skills/create-pr received a trust score of 85/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 1 finding: 0 critical, 1 high, 0 medium, and 0 low severity. Key findings include Shell Command Injection via Title and Body Arguments.
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 July 20, 2026 (commit aed6fce7). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Shell Command Injection via Title and Body Arguments The skill instructs the LLM to execute `gh pr create` by interpolating LLM-generated content (derived from untrusted commit messages, branch names, and diffs) directly into a shell command. This introduces two command injection vectors:
1. The `--title` argument is enclosed in double quotes (`"<title>"`), which allows shell command substitution (e.g., `$(cmd)` or `` `cmd` ``) if the generated title contains these characters.
2. The `--body` argument uses a heredoc construct (`$(cat <<'EOF' ... EOF)`). If the generated body contains the delimiter `EOF` on a new line followed by shell commands, the shell will terminate the heredoc early and execute the injected commands.
An attacker who can influence commit messages or repository files can exploit this to execute arbitrary shell commands on the user's machine. Avoid executing shell commands with dynamically interpolated, untrusted arguments. Instead of passing the title and body directly via shell arguments, write the PR body to a temporary file and use `gh pr create --body-file <file>`. For the title, pass it via a safe environment variable or write it to a file to prevent shell expansion. | LLM | SKILL.md:74 |
Scan History
Embed Code
[](https://skillshield.io/report/e4e1a48c7af80ce3)
Powered by SkillShield