slidev-components
Warn
Audited by Gen Agent Trust Hub on Sep 15, 2026
Risk Level: MEDIUMDYNAMIC_EXECUTIONREMOTE_CODE_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTION
Full Analysis
- [DYNAMIC_EXECUTION]: The
CodeDemo.vuecomponent example useseval(props.code)to execute JavaScript code passed via a component prop. This allows for dynamic code execution at runtime, which is a high-risk pattern if the source of thecodeprop is untrusted or maliciously crafted slide content. - [REMOTE_CODE_EXECUTION]: The inclusion of
eval()in a component that accepts external props creates a potential Remote Code Execution (RCE) vector. If an attacker can control the input to theCodeDemocomponent (e.g., through a shared presentation or external data source), they can execute arbitrary commands in the context of the Slidev application. - [EXTERNAL_DOWNLOADS]: The skill includes examples that fetch data and scripts from external domains, such as the
TweetandYoutubecomponents. It also references theqrcodeNode.js package in theQRCode.vueexample. While these are common presentation features, they represent connections to external third-party infrastructure. - [INDIRECT_PROMPT_INJECTION]: The skill defines a surface for indirect prompt injection by creating components that ingest and process external parameters (
codeinCodeDemo,urlinQRCode,idinYoutube) without explicit sanitization or boundary markers to prevent the execution of embedded instructions. - Ingestion points:
CodeDemo.vue(code prop),QRCode.vue(url prop),Youtube(id prop). - Boundary markers: Absent; the components process props directly without "ignore instructions" delimiters.
- Capability inventory: The skill includes
eval()execution capabilities in theCodeDemoexample and network-fetching capabilities via external media components. - Sanitization: No input validation or sanitization is present in the provided component examples.
Audit Metadata