T09 · Insecure Skill Coding Practices
- Location
references/session-stores.md:113- Finding
Unauthenticated Redis Session Store Exposed on Host Network
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
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.
references/session-stores.md:113Unauthenticated Redis Session Store Exposed on Host Network
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
---
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>
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
---
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>
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```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 were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!-- components/AppHeader.vue -->
<script setup>
const user = useUser();
const route = useRoute();
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
});
### Calling External API with Access Token
```typescript
// server/api/external/data.get.ts
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!-- pages/org/[organization]/login.vue -->
<script setup>
const route = useRoute();
const organization = route.params.organization;
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!-- pages/dashboard.vue -->
<script setup>
definePageMeta({
middleware: ['auth']
Code or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.
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
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
const auth0Client = useAuth0(event);
const { accessToken } = await auth0Client.getAccessToken();
const response = await $fetch('https://api.example.com/data', {
headers: {
Authorization: `Bearer ${accessToken}`
}
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
const auth0Client = useAuth0(event);
const { accessToken } = await auth0Client.getAccessToken();
const response = await $fetch('https://api.example.com/data', {
headers: {
Authorization: `Bearer ${accessToken}`
}
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
const auth0Client = useAuth0(event);
const { accessToken } = await auth0Client.getAccessToken();
const response = await $fetch('https://api.example.com/data', {
headers: {
Authorization: `Bearer ${accessToken}`
}
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.
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.
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.
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.
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.
No suspicious patterns detected.