Back to skill

Security audit

preview-scorecard

Security checks for vulnerabilities and agentic risk

Overview

This skill openly creates a temporary RooQuiz scorecard preview by sending the scorecard JSON to RooQuiz, with no hidden code, credential use, or persistence found.

Install only if you are comfortable sending the scorecard's form content to RooQuiz's preview service. Avoid putting secrets, regulated data, proprietary questionnaires, or sensitive personal details into preview forms unless that sharing is intended; use a self-hosted endpoint if privacy requirements demand it.

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
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
"indexDisplayMode": "number",    // question numbering: none (default) | number | uppercase | roman
  "fields": [ /* questions — see "Question types" and "Scoring" */ ],
  "report": { /* results page — see "Report configuration" */ },
  "rules": []                      // conditional-display rules (scorecard-only feature); usually []
}
```
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

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
97% confidence
Finding
The skill instructs the agent to POST arbitrary scorecard JSON to an external public service, which constitutes deliberate outbound data transmission to a third party. If a user includes sensitive personal, health, business, or proprietary content in the questionnaire, that content will be sent off-platform without authentication or built-in data minimization controls, creating privacy and data-handling risk.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The top-level JSON example sets `"language": "en_US"` while noting that the platform default is `zh_CN`, and the guidance does not tell the agent to preserve or ask for the user's language preference. This can cause the skill to generate forms in English by default even when the user has not opted into that locale.

Natural-Language Policy Violations

Low
Confidence
74% confidence
Finding
The documentation directs the agent to choose a random theme when the user has no preference and maps themes to topical or stylistic contexts, including culturally specific choices like `halloween` and `valentine`. While not a direct language lock, it encourages culturally loaded presentation decisions without explicit user opt-in.

Static analysis

No suspicious patterns detected.