shadcn
Pass
Audited by Gen Agent Trust Hub on Oct 16, 2026
Risk Level: SAFEDYNAMIC_CONTEXT_INJECTIONINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [DYNAMIC_CONTEXT_INJECTION]: The skill uses the exclamation-backtick syntax in SKILL.md to execute 'npx shadcn@latest info --json'. This allows the agent to automatically gather essential project configuration (e.g., Tailwind version, path aliases, framework) upon loading. This is a legitimate and standard use of project-specific discovery.
- [INDIRECT_PROMPT_INJECTION]: The skill is designed to process external inputs, such as design specifications from DESIGN.md files and component source code from registries. This presents a potential surface for indirect prompt injection. The skill mitigates this by instructing the agent to carefully review all newly added files and strictly requiring user approval before any destructive actions like overwriting existing components.
- Ingestion points: External registry documentation URLs (fetched via npx shadcn docs), registry item source code (via npx shadcn view), and DESIGN.md files (SKILL.md, design-system.md).
- Boundary markers: The skill instructs the agent to 'read the added files and verify they are correct' and 'never use --overwrite without the user's explicit approval'.
- Capability inventory: Shell command execution (npx shadcn), file writing (npx shadcn add), and directory listing (SKILL.md, design-system.md).
- Sanitization: None specified for input data, relying on LLM guardrails and user review.
- [COMMAND_EXECUTION]: The skill invokes the shadcn CLI through package runners like npx, pnpm dlx, and bunx. These commands are explicitly defined and restricted in the skill metadata. They are fundamental to the tool's purpose of managing UI components and do not perform unauthorized system modifications.
- [DYNAMIC_EXECUTION]: A React component example in the chat documentation includes a script that uses dangerouslySetInnerHTML to manage scrolling. This is a common pattern in chat applications and does not involve executing untrusted strings. The skill also includes a coverage script (showcase-coverage.mjs) for design system auditing, which performs standard file system read operations.
- [EXTERNAL_DOWNLOADS]: The documentation mentions the ability to add components from GitHub repositories and external JSON URLs (e.g., npoint.io). While this involves fetching external code, it is a documented feature of the shadcn ecosystem. The skill emphasizes the use of --dry-run and --view flags to audit this code before installation.
Audit Metadata