canai-mcp
Pass
Audited by Gen Agent Trust Hub on Oct 12, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The skill provides shell command recipes for local execution, using
curlandnode -eto upload binary files to the WordPress site. These commands are intended to handle media assets that cannot be easily transmitted via the MCP protocol.\n- [EXTERNAL_DOWNLOADS]: The skill usesnpxto run external packages like@automattic/mcp-wordpress-remoteandtailwindcssfrom well-known sources. It also includes a tool,wpcanai-sideload-url, which enables the agent to download assets from remote URLs provided by the user and import them into the site's media library.\n- [DYNAMIC_EXECUTION]: Local automation for media uploads is provided as a dynamically executed Node.js script. This script reads from the local file system and performs network requests to the user's configured WordPress endpoint.\n- [INDIRECT_PROMPT_INJECTION]: The skill ingests data from external URLs during sideloading and reads site content through tools likewpcanai-read-meta. This ingestion creates an attack surface for indirect prompt injection where malicious instructions embedded in remote files or existing site metadata could influence the agent.\n - Ingestion points: Remote asset URLs (via
wpcanai-sideload-url), WordPress site content (viawpcanai-read-meta,wpcanai-list-pages, etc.).\n - Boundary markers: The skill uses Twig comments
{# Type / Label #}for structural navigation but does not employ specific security delimiters to isolate untrusted content from the system prompt.\n - Capability inventory: Subprocess execution (
npx,curl,node), file system access (node -eusingfs.readFileSync), and network operations (fetch,curl, MCP site writes).\n - Sanitization: Content is passed through standard WordPress filters (like
wp_kses_post) and Twig syntax parsing guards, which provide some protection but do not fully address adversarial prompt injection.
Audit Metadata