T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:64- Finding
Mutable Remote Installation Script Is Piped Directly into Bash
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This server-monitoring skill is mostly coherent, but it tells users to run mutable remote installers and unpinned packages that could execute changed code.
Review this carefully before installing. Prefer a pinned npm version or immutable container digest from a trusted release, avoid the curl | bash installer, and only enable webhook alerts or restart commands after checking what data is sent and limiting service-control permissions.
SKILL.md:64Mutable Remote Installation Script Is Piped Directly into Bash
SKILL.md:14Unversioned npx Command Can Retrieve and Execute a Changed Package
SKILL.md:61Unversioned Global npm Installation Exposes Users to Mutable Package Releases
SKILL.md:67Docker Execution Uses an Unpinned Mutable latest Image
The curl ... | bash pattern explicitly chains network retrieval to shell execution, which is a classic high-risk command execution primitive. This is especially dangerous in a skill file because users may copy-paste it verbatim, giving remote content direct execution on their systems without validation.
npm install -g @gruted/devops-ops-bot
# or one-liner
curl -fsSL https://raw.githubusercontent.com/gruted/devops-ops-bot/main/install.sh | bash
# or Docker
docker run --rm ghcr.io/gruted/devops-ops-bot:latest check
The skill instructs users to run npx @gruted/devops-ops-bot without pinning an exact package version. This creates a supply-chain risk because future package updates or a compromised published version could execute unintended code at runtime on the user's system.
The skill advertises automatic service restart on critical conditions without warning that this can change system state and disrupt running workloads. In a DevOps context, restart commands may affect production services, cause downtime, or mask underlying compromise or instability.
The Docker example uses ghcr.io/gruted/devops-ops-bot:latest, which is mutable and not reproducible. If the image is replaced, retagged, or the registry account is compromised, users may run unreviewed code with whatever privileges Docker has on the host.
The webhook alerting feature sends operational data to external Slack or Discord endpoints, but the documentation provides no privacy or data-transmission warning. Users may unknowingly expose hostnames, service health, timing, or environment details to third parties or misconfigured webhooks.
The one-line installer fetches a remote script and pipes it directly into bash, eliminating any opportunity for review or integrity verification. If the source repository, network path, or hosting account is compromised, arbitrary shell commands would run immediately on the user's machine.
npm install -g @gruted/devops-ops-bot
# or one-liner
curl -fsSL https://raw.githubusercontent.com/gruted/devops-ops-bot/main/install.sh | bash
# or Docker
docker run --rm ghcr.io/gruted/devops-ops-bot:latest check
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 -fsSL https://raw.githubusercontent.com/gruted/devops-ops-bot/main/install.sh | bash
docker run --rm ghcr.io/gruted/devops-ops-bot:latest check
## Links
No suspicious patterns detected.