Back to skill

Security audit

Auth0 Nuxt

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Auth0/Nuxt guidance skill, but several copy-ready security examples could lead users to build weak authentication or exposed session infrastructure.

Install only if you will treat the examples as draft patterns, not production-ready security code. Harden Redis or any stateful session store, enforce authorization server-side, add safeguards before implementing impersonation, and review privacy implications for audit logs.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
references/session-stores.md:113
Finding

Unauthenticated Redis Session Store Exposed on Host Network

Content
View full analysis
Remediation
View remediation
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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (16)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
---
name: auth0-nuxt
description: Use when implementing Auth0 authentication in Nuxt 3/4 applications, configuring session management, protecting routes with middleware, or integrating API access tokens - provides setup patterns, composable usage, and security best practices for the @auth0/auth0-nuxt SDK
license: Apache-2.0
metadata:
  author: Auth0 <support@auth0.com>

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
---
name: auth0-nuxt
description: Use when implementing Auth0 authentication in Nuxt 3/4 applications, configuring session management, protecting routes with middleware, or integrating API access tokens - provides setup patterns, composable usage, and security best practices for the @auth0/auth0-nuxt SDK
license: Apache-2.0
metadata:
  author: Auth0 <support@auth0.com>

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

text

```bash
# 3. .env
NUXT_AUTH0_DOMAIN=your-tenant.auth0.com
NUXT_AUTH0_CLIENT_ID=your-client-id
NUXT_AUTH0_CLIENT_SECRET=your-client-secret

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/examples.md (reported line 10)May include surrounding context.

Navigation with Conditional Login/Logout

vue
<!-- components/AppHeader.vue -->
<script setup>
const user = useUser();
const route = useRoute();

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/examples.md (reported line 129)May include surrounding context.

});

text

### Calling External API with Access Token

```typescript
// server/api/external/data.get.ts

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/examples.md (reported line 316)May include surrounding context.

Organization Login

vue
<!-- pages/org/[organization]/login.vue -->
<script setup>
const route = useRoute();
const organization = route.params.organization;

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/route-protection.md (reported line 32)May include surrounding context.

Apply to Specific Pages

vue
<!-- pages/dashboard.vue -->
<script setup>
definePageMeta({
  middleware: ['auth']

Context Leakage

High
Category
Data Exfiltration
Confidence
85% confidence
Finding

Code or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.

Content

Scanner excerpt · references/session-stores.md (reported line 377)May include surrounding context.

md
2. **Access Control**: Restrict database access to your application only
3. **Network Security**: Use TLS for database connections
4. **Secrets Management**: Store credentials in environment variables
5. **Audit Logging**: Log session access for compliance

## Migration from Stateless to Stateful

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
const auth0Client = useAuth0(event);
  const { accessToken } = await auth0Client.getAccessToken();

  const response = await $fetch('https://api.example.com/data', {
    headers: {
      Authorization: `Bearer ${accessToken}`
    }

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/examples.md (reported line 137)May include surrounding context.

md
const auth0Client = useAuth0(event);
  const { accessToken } = await auth0Client.getAccessToken();

  const response = await $fetch('https://api.example.com/data', {
    headers: {
      Authorization: `Bearer ${accessToken}`
    }

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/examples.md (reported line 542)May include surrounding context.

md
const auth0Client = useAuth0(event);
  const { accessToken } = await auth0Client.getAccessToken();

  const response = await $fetch('https://api.example.com/data', {
    headers: {
      Authorization: `Bearer ${accessToken}`
    }

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The impersonation examples introduce a highly sensitive capability that lets an authenticated administrator act as another user, but they show only a minimal claim check and session mutation. In an Auth0/Nuxt examples file, this materially expands the attack surface and can normalize a dangerous pattern without safeguards such as strong authorization, audit trails, approval workflows, session fixation protections, CSRF defenses, and clear operator/user notification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The impersonation flow lacks any user-facing indication that an administrator is acting as another user, which can conceal privileged activity and undermine accountability. Hidden or silent impersonation increases the chance of misuse, operator error, and delayed detection of abuse.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The document correctly warns that useUser() is client-side and not suitable for security-critical authorization, yet earlier examples use it for role, permission, subscription, and email-verification gating in route middleware. Because client-side state can be manipulated and route middleware only protects navigation UX, developers may mistakenly implement authorization entirely on the client and expose privileged pages or flows unless equivalent server-side checks exist.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The test stores session data under the key 'test-id-3' but calls deleteByLogoutToken with sid 'test-session', while the documented implementations delete by sid. This mismatch can mask broken back-channel logout behavior, causing tests to pass or be written incorrectly and leading to sessions not being revoked as expected in production.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The manifest focuses on implementing Auth0 authentication in Nuxt, session management, route protection, token use, and security best practices. The audit-log example introduces request monitoring/telemetry behavior, including IP collection, which is adjacent operational logging functionality rather than core Auth0 integration guidance.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.