Back to skill

Security audit

genspark-ralphy-cli

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Ralphy wrapper, but it installs and runs mutable external code without integrity checks, so users should review it before installing.

Install only if you trust the ralphy-claw repository and are comfortable with it editing the selected project, running validation commands, using Genspark credits, and updating PRD state. Prefer reviewing and pinning the external checkout before running setup, and invoke it with --no-commit unless you explicitly want commits.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:15
Finding
Unpinned External Repository and Unverified Executable Create a Supply-Chain Risk## Vulnerability Details **File Location**: `README.md:15-18`; `scripts/run.sh:4-13` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium The documented installation procedure clones the current default branch of a third-party repository and immediately runs its Bun scripts without pinning a reviewed commit, validating a signature, or checking a cryptographic digest: ```sh git clone https://github.com/kimhyejoo/ralphy-claw cd ralphy-claw bun run setup bun run install-skill ``` The Skill wrapper subsequently obtains the repository path from `.repo-path` or a relative directory and delegates execution to a binary outside the audited package: ```sh if [ -f "$ralphy_skill_dir/.repo-path" ]; then IFS= read -r ralphy_repo < "$ralphy_skill_dir/.repo-path" else ralphy_repo=$(CDPATH='' cd -- "$ralphy_skill_dir/../.." && pwd) fi if [ ! -x "$ralphy_repo/bin/ralphy-claw" ]; then echo 'ralphy-claw repository unavailable. Reinstall this skill with bun run install-skill.' >&2 exit 1 fi exec "$ralphy_repo/bin/ralphy-claw" "$@" ``` ### Technical Analysis The effective implementation is not contained in the audited Skill. Instead, the setup instructions retrieve a mutable external repository and execute its package scripts. Since no commit hash, signed release, checksum, or integrity policy is specified, the downloaded code can change after this Skill has been reviewed. At runtime, `scripts/run.sh` verifies only that `bin/ralphy-claw` exists and has its executable bit set. It does not establish the executable's provenance or integrity. The executable receives all supplied command-line arguments and runs with the same operating-system privileges and environment as the invoking Agent. This creates a supply-chain trust boundary: compromise of the external repository, its maintainer account, its dependencies, the local checkout, or the configured repository path can alter the code executed by an otherwise legitimate-looking Skil ...[truncated 1727 chars]
Remediation
## Remediation Suggestions 1. Pin installation to an explicitly reviewed commit hash or immutable release tag rather than the repository's current default branch. 2. Publish signed releases and verify the signature before running any setup or installation command. 3. Publish a SHA-256 or stronger digest for the approved archive and runtime executable, and reject mismatches. 4. Vendor the reviewed executable into the Skill package where practical so the audited artifact represents the effective implementation. 5. If external installation remains necessary, verify `bin/ralphy-claw` against an allowlisted digest immediately before every execution. 6. Validate `.repo-path` by requiring an absolute canonical path under an approved installation directory; reject unexpected, missing, writable, or symlinked targets where appropriate. 7. Restrict write access to the installed repository and executable to trusted administrators or the owning user. 8. Audit and lock Bun dependencies with an immutable lockfile, integrity metadata, and automated dependency scanning. 9. Run the delegated executable with least privilege, a minimal environment, and only the filesystem and network access required for the declared task.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The README describes spawning new sessions to implement and verify tasks, which strongly implies execution of project commands and code changes, yet it does not prominently disclose that behavior or its risks. Because this skill is specifically designed to operate on a local project through an execution engine, the context makes the omission more dangerous: users may trigger command execution, validation steps, or source edits without understanding the scope of automated actions.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The README states that the tool updates PRD checkboxes automatically, which implies write access to project files, but it does not clearly warn users that invoking the skill can modify repository contents. In a development workflow, silent documentation or task-file mutation can cause unintended changes, commit contamination, or loss of trust in automated task state, especially if users expect analysis rather than file edits.

Static analysis

No suspicious patterns detected.