web-artifacts-builder

Fail

Audited by Gen Agent Trust Hub on Sep 26, 2026

Risk Level: HIGHCOMMAND_EXECUTIONPRIVILEGE_ESCALATIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The scripts/init-artifact.sh script is vulnerable to command injection through the user-provided project name argument. The variable $PROJECT_NAME (derived directly from $1) is interpolated into shell commands and sed operations without any validation or sanitization.
  • Evidence: pnpm create vite "$PROJECT_NAME" --template react-ts and $SED_INPLACE 's/<title>.*<\/title>/<title>'"$PROJECT_NAME"'<\/title>/' index.html.
  • An attacker could provide a project name containing shell metacharacters (e.g., ;, &, |) or sed delimiters to execute arbitrary commands or manipulate files on the host system.
  • [PRIVILEGE_ESCALATION]: The initialization script attempts to perform high-privilege system modifications by installing software globally.
  • Evidence: scripts/init-artifact.sh executes npm install -g pnpm. Global package installations typically require administrative privileges and can modify the environment for all users on the host system, which is an unsafe practice for agent skills.
  • [EXTERNAL_DOWNLOADS]: The skill facilitates the download and installation of a massive number of external Node.js dependencies during initialization and bundling.
  • Evidence: scripts/init-artifact.sh installs over 50 packages including vite, tailwindcss, and numerous @radix-ui components. scripts/bundle-artifact.sh installs parcel and html-inline at runtime.
  • While targeting public registries, the size of this dependency tree significantly increases the risk of supply chain attacks.
  • [INDIRECT_PROMPT_INJECTION]: The skill ingests untrusted user input that is propagated into critical execution contexts without sanitization.
  • Ingestion points: The first argument ($1) to scripts/init-artifact.sh (project name).
  • Boundary markers: None; the input is used directly in shell commands and configuration file generation.
  • Capability inventory: The skill has the capability to execute shell commands, write to the file system, and access the network through package managers.
  • Sanitization: No escaping, validation, or filtering is performed on the user-provided project name before its use.
  • [DYNAMIC_EXECUTION]: The scripts/init-artifact.sh script executes arbitrary JavaScript code at runtime to modify configuration files.
  • Evidence: The script uses node -e "..." multiple times to dynamically parse and overwrite tsconfig.json and tsconfig.app.json. While used here for configuration, this pattern allows for the execution of logic outside the static content of the shell script.
Recommendations
  • AI detected serious security threats
Audit Metadata
Risk Level
HIGH
Analyzed
Sep 26, 2026, 11:45 AM