← ClaudeAtlas

vue-nuxt-securitylisted

Security audit specific to Vue.js and Nuxt applications including v-html XSS, template injection, useFetch/$fetch SSR patterns, Nuxt server routes (server/api), runtime config vs public runtime config, useState SSR leakage, Pinia/Vuex store exposure, and Vue 2 vs 3 differences. Use this skill whenever the user mentions Vue, Vue 3, Vue 2, Nuxt, Nuxt 3, Nuxt 2, v-html, useFetch, useState, Pinia, Vuex, defineNuxtConfig, server/api routes, useRuntimeConfig, or asks "audit my Vue app", "Nuxt security", "v-html safe". Trigger when the codebase contains `vue` in package.json, `.vue` files, `nuxt.config.ts`, or `defineNuxtConfig`.
hlsitechio/claude-skills-security · ★ 1 · Web & Frontend · score 65
Install: claude install-skill hlsitechio/claude-skills-security
# Vue / Nuxt Security Audit Audit Vue.js (2 and 3) and Nuxt (2 and 3) applications for framework-specific vulnerabilities. ## When this skill applies - Reviewing Vue components for XSS sinks - Auditing Nuxt server routes and `useFetch` / `$fetch` patterns - Reviewing runtime config (public vs private) for env leakage - Checking SSR state hydration for data exposure - Auditing Pinia / Vuex store exposure Use other skills for: Vite build (`vite-security`), backend services (`nodejs-express-security` etc.), auth providers, generic patterns (`saas-security-pack/saas-code-security-review`). ## Workflow Follow `../_shared/audit-workflow.md`. ### Phase 1: Stack detection ```bash grep -E '"(vue|nuxt|@nuxt/.*|pinia|vuex)":' package.json find . -name 'nuxt.config.*' -not -path '*/node_modules/*' find . -name '*.vue' -not -path '*/node_modules/*' | head ``` Confirm: Vue 2 vs 3, Nuxt 2 vs 3, Vite vs Webpack (Nuxt 3 = Vite default; Nuxt 2 = Webpack). ### Phase 2: Inventory ```bash # XSS sinks in templates grep -rn 'v-html\|innerHTML' src/ pages/ components/ layouts/ 2>/dev/null # Nuxt 3 server routes find server/api server/routes -type f 2>/dev/null # Runtime config grep -nE 'runtimeConfig|publicRuntimeConfig|privateRuntimeConfig' nuxt.config.* 2>/dev/null # Fetch patterns grep -rn 'useFetch\|\$fetch\|useAsyncData' src/ pages/ components/ 2>/dev/null | head -30 # Stores grep -rn 'defineStore\|createStore' src/ stores/ 2>/dev/null | head ``` ### Phase 3: Detection — the che