T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:24- Finding
Mutable Remote Installer Is Executed Directly Through a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill has a coherent business purpose, but it asks for broad company-data access, insecure license handling, and installation of mutable remote executables.
Review before installing. Only use this skill if you trust the Patrick publisher and service with executive and company context. Do not paste license tokens into chat; use a local secret mechanism instead. Avoid the curl-to-bash/latest install path, require pinned signed artifacts, and approve each company data source explicitly before letting an agent read or send results.
SKILL.md:24Mutable Remote Installer Is Executed Directly Through a Shell
install.sh:39Downloaded CLI Binary Uses Fail-Open Integrity Verification
install.md:53Manual Installation Makes a Remote Binary Executable Without Enforced Verification
SKILL.md:113Skill Mandates Excessive Collection of Sensitive Organizational Data
SKILL.md:34License Secret Is Requested Through Chat and Command-Line Arguments
The stated purpose is expertise-library access, but the documented workflow also installs a remote binary, performs updates, renewals, and operational setup. This mismatch is dangerous because users or agents may trust the skill as low-risk knowledge access while it actually introduces code execution and system modification behavior.
The skill recommends piping a remotely fetched script directly into bash, which gives immediate execution control to the remote endpoint and any attacker who can compromise it or the delivery path. Although the text claims checksum verification, that assurance is itself part of the untrusted script being executed, so it does not mitigate the core risk.
Or install directly via curl:
curl -fsSL https://portal.patrickbot.io/downloads/latest/install.sh | bash
This will download patrick-cli for your platform, verify its SHA256 checksum, and place it in $PATRICK_DATA_PATH/bin/patrick-cli (default: ~/.patrick/bin/). The Dockerfile and run.sh add this to PATH automatically, so you can call patrick-cli directly.
The use of shell chaining with '| bash' is a classic command-chaining abuse pattern because it combines network retrieval and execution into a single opaque step. In this skill's context, that is especially dangerous because the skill already lacks tight tool scoping and presents itself as a knowledge-access utility, making unsafe execution more likely to be trusted.
Or install directly via curl:
curl -fsSL https://portal.patrickbot.io/downloads/latest/install.sh | bash
This will download patrick-cli for your platform, verify its SHA256 checksum, and place it in $PATRICK_DATA_PATH/bin/patrick-cli (default: ~/.patrick/bin/). The Dockerfile and run.sh add this to PATH automatically, so you can call patrick-cli directly.
The skill explicitly asks the user to paste a license token into chat, which exposes a credential to the conversational channel and any downstream logging, retention, or model-processing systems. Credential collection through chat is unsafe even if intended for convenience, because the token may be replayed or leaked.
Instructing users to paste the Patrick license directly into chat is direct secret exfiltration into an untrusted interface. Because licenses authenticate API access, disclosure can enable account misuse, unauthorized server access, or subscription abuse.
The documentation tells agents to read broad internal data sources without any privacy, authorization, or necessity guardrails. This is dangerous because it normalizes excessive data access and may cause sensitive communications, tickets, calendars, or source history to be collected and processed without proper approval.
The instruction to read all available company context and load it into working memory encourages mass aggregation of potentially sensitive internal data unrelated to a specific request. This substantially increases the risk of overcollection, unintended disclosure, cross-task leakage, and transmission of confidential information to external services.
The documented use of rm deletes a fixed file under the user's home directory and is presented as troubleshooting, not obvious malicious wiping. However, destructive shell commands in skill documentation remain risky because agents may execute them automatically or users may adapt them incorrectly, causing data loss.
Solution: Delete the corrupted file and regenerate the data:
rm ~/.patrick/data/storage_key.json
# Re-run the command that generates this data
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
curl -fL "https://portal.patrickbot.io/downloads/latest/patrick-skill.tar.gz" -o /tmp/patrick-skill.tar.gz mkdir -p ~/new_skill/patrick tar xzf /tmp/patrick-skill.tar.gz -C ~/new_skill/patrick rm /tmp/patrick-skill.tar.gz
Then install the skill in your agent:
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
echo "Error: Checksum mismatch!"
echo " Expected: $EXPECTED"
echo " Got: $ACTUAL"
rm -f "$INSTALL_DIR/patrick-cli"
rm -f "$CHECKSUMS"
exit 1
fi
The skill documents shell-based installation and command execution but does not declare any tool scope or allowed-tools boundary. That omission increases the chance an agent may execute shell commands without explicit review, especially because the skill includes installation, upgrade, renewal, and file-deletion operations.
The skill presents itself as expertise-library access, yet it also stores user outputs back to Patrick and directs recurring cron-based operations including license renewal and scheduled fetches. This broadens the behavior from retrieval into persistence and automation, increasing privacy, integrity, and operational risk beyond what the description suggests.
The skill instructs agents to gather broad company data sources such as Slack, JIRA, commits, calendars, and operational files before use, which exceeds the narrow purpose of fetching expertise templates. This creates unnecessary data exposure and greatly expands the accessible sensitive surface area without clear need, consent, or minimization.
The install instructions direct the user/agent to download a remote executable and a tarball, place them in persistent locations, and install them into the agent environment. Although checksums are mentioned for the CLI, there is no explicit warning that these actions modify the system and require trusting the remote source, and the skill package itself is extracted and installed without an equivalent integrity-verification step.
The instructions install a binary into ~/.patrick/bin and modify PATH, creating a persistent executable foothold in future sessions. Persistence is expected for software installation, but in an agent-skill setting it still expands the long-term trusted codebase and therefore carries security significance if the binary is compromised or later abused.
Pick the binary for your platform and install it:
mkdir -p ~/.patrick/bin
curl -fL "https://portal.patrickbot.io/downloads/latest/patrick-cli-linux-x86_64" -o ~/.patrick/bin/patrick-cli
chmod +x ~/.patrick/bin/patrick-cli
export PATH="$HOME/.patrick/bin:$PATH"
The instructions extract a downloaded archive into a persistent skill directory and then install/copy it into the agent's skill path, making the capability durable across future runs. In context this is expected installation behavior, but it still creates persistent trust in remotely sourced content and so is a valid security concern.
curl -fL "https://portal.patrickbot.io/downloads/latest/patrick-skill.tar.gz" -o /tmp/patrick-skill.tar.gz
mkdir -p ~/new_skill/patrick
tar xzf /tmp/patrick-skill.tar.gz -C ~/new_skill/patrick
rm /tmp/patrick-skill.tar.gz
The instructions ask for a license to be pasted directly into a command and stored, but do not clearly label the license as sensitive credential material. This increases the risk of accidental disclosure through chat logs, shell history, terminal recordings, process listings, or agent memory/tool logs.
The skill explicitly encourages the agent to ask a human for a license and then reuse it directly in a command. In an agent context, this trains credential collection behavior and can cause secrets to be exposed to the model context, logs, downstream tools, or reused outside the user's intent.
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
## What's Next
Once installed, see the full skill documentation in `~/new_skill/patrick/SKILL.md` for:
- Available commands (`list`, `fetch`, `send`, `get`, `renew`)
- How to use expertise with LLMs
- Cronjob setup for daily briefings
No suspicious patterns detected.