fs-mobile-security

Audita el código fuente de una app Expo/React Native contra el OWASP MASVS (Mobile Application Security Verification Standard), nivel L1 por defecto. Revisa storage, criptografía, autenticación, red, plataforma, calidad de código y privacidad, y reporta por control con estado, evidencia y remediación. Usar cuando el usuario pida una auditoría de seguridad, un análisis OWASP/MASVS, o revisar vulnerabilidades de una app móvil.

fernandoserra/skills4 installsMITSynced Aug 27

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: fs-mobile-security
description: Audita el código fuente de una app Expo/React Native contra el OWASP MASVS (Mobile Application Security Verification Standard), nivel L1 por defecto. Revisa storage, criptografía, autenticación, red, plataforma, calidad de código y privacidad, y reporta por control con estado, evidencia y remediación. Usar cuando el usuario pida una auditoría de seguridad, un análisis OWASP/MASVS, o revisar vulnerabilidades de una app móvil.
license: MIT
---

# fs-mobile-security

Auditoría **estática** (lectura de código, no dinámica) de una app Expo/React Native contra el [OWASP MASVS](https://mas.owasp.org/MASVS/) v2, nivel **L1 por defecto**.

## Qué NO es esta skill

No reemplaza un pentest ni herramientas de análisis dinámico (MobSF, Frida, un dispositivo rooteado real). Varios controles del MASVS —sobre todo toda la categoría **RESILIENCE**, que es L2— solo se pueden verificar corriendo la app en runtime contra ataques reales. Esta skill puede confirmar si *existe* el código/librería correspondiente, pero no si la protección funciona. Marcar esos casos como 🔍, nunca como ✅.

## Fuente de verdad de los controles

`assets/masvs-checklist.md` trae una **interpretación de trabajo** de cada control (categoría, nivel L1/L2, foco, y qué revisar en un proyecto Expo/RN) — no es una cita textual de OWASP, porque `mas.owasp.org` renderiza el texto de cada control vía JavaScript y no es extraíble con un fetch estático. Si el usuario pide el texto oficial exacto de un control, usar `WebFetch` sobre `https://mas.owasp.org/MASVS/controls/MASVS-<ID>/` en el momento — no citar el archivo local como si fuera el texto de OWASP.

## Nivel: L1 por defecto

Evaluar solo los controles marcados `L1` en `assets/masvs-checklist.md`, salvo que el usuario pida explícitamente **L2** (razonable en apps que manejan dinero, datos financieros o de salud). Si se pide L2, sumar también esos controles — la mayoría requieren evidencia más fuerte y varios (toda `RESILIENCE`) necesitan aclarar que son solo verificables parcialmente de forma estática.

## Proceso

1. **Ubicar el árbol del proyecto**: `package.json` (confirmar que es una app Expo/RN), `app.config.js`/`app.json`, `src/` o raíz del código JS/TS, `android/app/src/main/AndroidManifest.xml`, `ios/*/Info.plist`, archivos `.env*`.
2. **Recorrer `assets/masvs-checklist.md` control por control** (solo `L1` salvo pedido de L2), aplicando la guía de "qué revisar" de cada uno sobre el árbol del proyecto (grep de patrones, lectura de archivos de config, permisos declarados, dependencias).
3. **Registrar por control**:
   - Estado: ✅ cumple / ⚠️ cumple parcialmente / ❌ no cumple / 🔍 requiere test dinámico (no verificable por código) / N/A no aplica a esta app
   - Evidencia: `archivo:línea` concreto, o "no se encontró código relacionado" si aplica
   - Remediación breve si el estado es ⚠️ o ❌
4. **No aplicar fixes automáticamente** — reportar primero y esperar confirmación, salvo que el usuario ya haya pedido explícitamente que se corrija.

## Formato del reporte

Una tabla por categoría, mismo estilo que usa `fs-mobile-scaffold/assets/audit-checklist.md`:

| Control | Nivel | Estado | Evidencia | Remediación |
|---|---|---|---|---|
| MASVS-STORAGE-1 | L1 | ⚠️ | `src/context/AuthContext.js:14` — token en AsyncStorage, no en SecureStore | Migrar el token a `expo-secure-store` |

Cerrar con un resumen: cuántos controles L1 evaluados, cuántos ✅/⚠️/❌/🔍, y los 2-3 hallazgos de mayor riesgo primero.

More Security skills

azure-cost

microsoft/azure-skills

Azure cost management: query costs, forecast spending, optimize to reduce waste. WHEN: \"Azure costs\", \"Azure bill\", \"cost breakdown\", \"how much am I spending\", \"forecast spending\", \"optimize costs\", \"reduce spending\", \"orphaned resources\", \"rightsize VMs\", \"cost spike\", \"reduce storage costs\", \"AKS cost\". DO NOT USE FOR: deploying resources, provisioning, diagnostics, or security audits.

355.6k

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

318.9k

azure-messaging

microsoft/azure-skills

Troubleshoot and resolve issues with Azure Messaging SDKs for Event Hubs and Service Bus. Covers connection failures, authentication errors, message processing issues, and SDK configuration problems. WHEN: event hub SDK error, service bus SDK issue, messaging connection failure, AMQP error, event processor host issue, message lock lost, message lock expired, lock renewal, lock renewal batch, send timeout, receiver disconnected, SDK troubleshooting, azure messaging SDK, event hub consumer, service bus queue issue, topic subscription error, enable logging event hub, service bus logging, eventhub python, servicebus java, eventhub javascript, servicebus dotnet, event hub checkpoint, event hub not receiving messages, service bus dead letter, batch processing lock, session lock expired, idle timeout, connection inactive, link detach, slow reconnect, session error, duplicate events, offset reset, receive batch.

310.3k

← All Security skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY