T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:27- Finding
Mutable Remote Installation Script Is Piped Directly into a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a documented accountability CLI guide, but it encourages storing embarrassing secrets and automatically sending them to contacts with insufficient safety controls.
Review carefully before installing. Prefer the Homebrew or Go path over the shell-script installer, avoid entering real tokens or sensitive secrets directly in command lines, and do not use secrets you would not be comfortable disclosing. Prefer non-sensitive punishment messages or local notifications unless the CLI provides explicit recipient confirmation, secure secret entry, deletion controls, and clear storage protections.
SKILL.md:27Mutable Remote Installation Script Is Piped Directly into a Shell
SKILL.md:62Authentication Token Is Supplied Through a Command-Line Argument
SKILL.md:79Embarrassing Personal Secrets Are Passed as Plaintext Command-Line Arguments
Piping curl output directly into sh removes the opportunity for inspection and executes untrusted remote content immediately. This is a well-known dangerous pattern that can lead to arbitrary code execution if the remote content, transport, hosting account, or dependency chain is compromised.
curl -sSL https://raw.githubusercontent.com/neilsanghrajka/nudge/main/scripts/install.sh | sh
The onboarding flow encourages collection of '3-5 embarrassing secrets' and discusses revealing them to contacts, but does not warn users about the sensitivity of that data, retention risks, downstream disclosure, or the consequences of sending it to third parties. In this context, omission of a warning materially increases the risk of privacy harm, coercion, blackmail-like dynamics, and accidental exposure of extremely sensitive information.
The overall onboarding script builds rapport ('I'm your accountability coach'), gathers sensitive material, links it to named contacts and messaging channels, and frames automatic disclosure as punishment. This combination increases danger beyond ordinary privacy issues because it operationalizes coercion and automated release of sensitive information to third parties, which can cause severe reputational, social, and psychological harm.
The skill explicitly instructs the agent to solicit embarrassing secrets and store them for later punitive disclosure. That creates a direct pipeline for collecting sensitive personal information under trust and then weaponizing it, which is inherently dangerous and can facilitate extortionary or abusive outcomes even if framed as motivation.
The skill metadata says to trigger whenever the user wants to create a task, add a secret, check status, configure punishment, run any nudge command, or when setup is needed. That broad routing can cause the agent to invoke this skill in many contexts, including ones involving sensitive data collection and coercive workflows, increasing the chance users are steered into unsafe behaviors without clear consent boundaries.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
nudge task add --desc "Finish the PR review" --duration 30 --why "Team is blocked" --secret-id s-1
nudge task add --desc "Ship feature" --duration 60 --punishment post_to_beeper_whatsapp --targets "!roomid:..."
The CLI reference explicitly documents a workflow where a failed task can send a stored secret to external targets, but it does not clearly warn users about the privacy and irreversibility implications of disclosing sensitive personal information. In this skill context, that omission is more dangerous because the documentation directly encourages onboarding and operational use of punishment actions, increasing the chance users configure and trigger real secret exfiltration without informed consent.
The setup example shows a live token being passed directly on the command line without warning that CLI arguments may be exposed through shell history, process listings, logs, or screenshots. In a setup/onboarding skill, this is especially risky because users often copy-paste examples verbatim, potentially leaking credentials for messaging integrations used by the punishment action.
The skill recommends installing via a remote shell script fetched from the internet at runtime. Even over HTTPS, this pattern exposes users to supply-chain compromise, repository/account takeover, or silent script changes, and the risk is amplified because users are told to execute it directly without inspection.
curl -sSL https://raw.githubusercontent.com/neilsanghrajka/nudge/main/scripts/install.sh | sh