shopify-hydrogen
Pass
Audited by Gen Agent Trust Hub on Sep 23, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- Automated Validation Loop: The skill implements a mandatory validation process where generated code is analyzed by a local TypeScript environment via
scripts/validate.mjs. This helps prevent syntax errors and ensures the code adheres to Hydrogen's type definitions before it reaches the user.\n- Vendor-Specific API Interaction: The helper scripts communicate withshopify.devto fetch documentation and report validation metrics. These network operations are tied to the skill's primary function of providing up-to-date Shopify development assistance and are conducted over encrypted connections to well-known domains.\n- Developer Data Instrumentation: Documentation search queries and validation results (including code snippets) are reported to the vendor's instrumentation endpoint to help improve the tool. Users are provided with clear instructions on how to opt out of this reporting via an environment variable.\n- Dynamic Static Analysis: The skill dynamically assembles code with necessary imports to perform static type checking. While this involves runtime code construction, it is used exclusively for validation through the TypeScript Language Service rather than for arbitrary code execution.\n- Indirect Prompt Injection Surface: The skill processes external documentation data which introduces a potential surface for indirect prompt injection.\n - Ingestion points: Data enters the context via documentation search results retrieved by
scripts/search_docs.mjs.\n - Boundary markers: The skill instructions provide structure for using search results but do not include explicit "ignore embedded instructions" delimiters for the ingested content.\n
- Capability inventory: The agent has access to the
bashtool for running local scripts and making network requests via thefetchAPI.\n - Sanitization: Ingested content is used for code generation, which is then passed through a local TypeScript validator (
scripts/validate.mjs) to verify syntax and type correctness.
Audit Metadata