Back to skill

Security audit

preview-quiz

Security checks for vulnerabilities and agentic risk

Overview

This skill transparently creates a temporary RooQuiz preview link by sending the quiz JSON to RooQuiz, with no evidence of hidden behavior or persistence.

Install only if you are comfortable sending quiz text, answer keys, result copy, CTA URLs, and any included lead-capture fields to RooQuiz to create a temporary public preview link. Do not include private, regulated, proprietary, or personal data unless that sharing is intended.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

External Transmission

Medium
Category
Data Exfiltration
Content
For example, with `curl` (write the JSON to a file first, or inline it with `--data`):

```bash
curl -sS -X POST https://preview.rooquiz.com/api/preview-forms \
  -H 'Content-Type: application/json' \
  --data-binary @/tmp/preview-form.json
```
Confidence
92% confidence
Finding
The skill instructs the agent to transmit arbitrary quiz JSON to an external third-party service over the network, which can include user-provided content and potentially sensitive information if the quiz contains personal data or lead-capture fields. Because the endpoint is public, unauthenticated, and intended for immediate sharing, users may be encouraged to send data off-platform without clear consent, data classification, or minimization controls.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The markdown states `language` defaults to `zh_CN`, which can cause the skill to generate quizzes in a specific locale unless the user or agent overrides it. The file lists supported languages later, but it does not instruct the agent to ask for or confirm the user's preferred language before using the default.

Static analysis

No suspicious patterns detected.