Back to skill

Security audit

Vue To Umijs

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Vue-to-UmiJS migration guide with no executable payload, hidden instructions, or unrelated data access.

Install this like any migration-assistance skill: expect it to guide broad code changes in a target Vue project, and review generated migration diffs before applying them. The artifact itself does not request secrets, run scripts, or add persistence.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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 (3)

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · SKILL.md (reported line 31)May include surrounding context.

md
## API mapping (summary)

| Area                                      | Direction                                                                                              |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Page `.vue`                               | **`PageName/index.tsx` + `index.module.less`**                                                         |
| Child `.vue`                              | **`Foo.tsx` + `Foo.module.less`** (same folder, matching basename)                                     |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · SKILL.md (reported line 94)May include surrounding context.

md
## Routing and data (Umi)

| Typical Vue pattern                   | Umi + React                                                                                                     |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Fetch in `onMounted` after navigation | **`useRequest`**, **`useModel`**, or `useEffect` + project **`request`** in page/layout                         |
| `beforeEach` auth                     | **`access`**, route **`wrappers`**, or layout-level guards (see Umi docs)                                       |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · SKILL.md (reported line 114)May include surrounding context.

md
## Vue SFC styles → Umi components

| Vue                   | React (Umi)                                                                                   |
| --------------------- | --------------------------------------------------------------------------------------------- |
| Page `<style scoped>` | **`PageDir/index.tsx`** + **`index.module.less`**, `import styles from './index.module.less'` |
| Child scoped          | **`Foo.tsx`** + **`Foo.module.less`** in the same folder                                      |