franchise-site-parity

Fail

Audited by Gen Agent Trust Hub on Sep 4, 2026

Risk Level: HIGHCREDENTIALS_UNSAFEREMOTE_CODE_EXECUTIONCOMMAND_EXECUTIONPRIVILEGE_ESCALATIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [CREDENTIALS_UNSAFE]: The skill instructions and helper scripts in scripts/lib.sh reference accessing a .env file to retrieve sensitive credentials including SSHPASS, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, and MYSQL_ROOT_PASSWORD.
  • [COMMAND_EXECUTION]: The skill utilizes sshpass and ssh within its core access patterns to execute shell commands and Docker operations on remote partner servers (e.g., sshpass -e ssh -o StrictHostKeyChecking=no ... $GH "docker exec -i $DB ...").
  • [REMOTE_CODE_EXECUTION]: The skill performs remote code execution by generating PHP scripts locally (e.g., scripts/gen_create_categories.py generates create_categories.php) and then piping them into the PHP interpreter on a remote container via SSH (ssh $HOST 'docker exec -i $WEB php' < create_categories.php). Additionally, reindex_flush in scripts/lib.sh executes arbitrary PHP code blocks remotely using php -r.
  • [PRIVILEGE_ESCALATION]: The skill defaults to connecting to remote servers as the root user (GH="root@<partner-ip>"), which grants maximum permissions on the target infrastructure for all automated tasks.
  • [DYNAMIC_EXECUTION]: The skill dynamically generates executable scripts at runtime based on database exports. Specifically, scripts/gen_create_categories.py assembles a PHP script containing category data and logic that is subsequently executed on the partner web server.
  • [INDIRECT_PROMPT_INJECTION]: The skill exhibits an attack surface for indirect prompt injection by ingesting data from external sources (Singapore local backup database and public HTML pages) and using that data to generate SQL queries and PHP code executed on production partner sites.
  • Ingestion points: Data is read from the courses_backupDB via sgq and from rendered public pages via curl.
  • Boundary markers: No explicit boundary markers or instructions to ignore embedded commands within the ingested data are defined.
  • Capability inventory: The skill has extensive capabilities including remote SQL execution (gsql), remote PHP execution (reindex_flush), and file uploads to R2 storage (r2).
  • Sanitization: Python scripts use a basic esc lambda for SQL string escaping, but no validation is performed on the content of the data being mirrored.
Recommendations
  • AI detected serious security threats
Audit Metadata
Risk Level
HIGH
Analyzed
Sep 4, 2026, 07:30 AM
Security Audit — agent-trust-hub — franchise-site-parity