Saltar al contenido principal

Menú de comandos

Ve a una página o busca en el catálogo

Herramientas y scripts de IA

Comprobación de configuración de Expo EAS

Revisa proyectos de Expo y EAS antes de compilar, enviar o publicar una actualización: secretos en variables EXPO_PUBLIC_, configuración de la app y eas.json, credentials.json fuera de .gitignore, compilaciones de desarrollo en perfiles de lanzamiento y actualizaciones over-the-air inseguras.

$5.00

Qué recibes: 1 archivo · 53.69 KB · ZIP

Ver opciones de compra

Descripción del producto

EXPO_PUBLIC_OPENAI_API_KEY=... pone tu clave de OpenAI en texto plano dentro de cada copia de tu app, porque Expo copia en el bundle de JavaScript cada valor EXPO_PUBLIC_ que lee tu código. Un perfil de compilación de producción con "developmentClient": true envía el cliente de desarrollo a los usuarios de la tienda, y "disableAntiBrickingMeasures": true en app.json desactiva la red de seguridad de las actualizaciones en todas las compilaciones, incluida la de producción. Esta skill detecta esos errores y otros catorce de configuración de Expo y EAS antes de publicar, y te indica cómo corregir cada uno.

Tu agente ejecuta un escáner sobre app.json, app.config.js y app.config.ts, eas.json (los comentarios y las comas finales no son problema), credentials.json, archivos .env, package.json y .gitignore, y sobre las referencias process.env.EXPO_PUBLIC_ de tu código JavaScript y TypeScript. Sabe qué partes de la configuración de la app deja Expo fuera de la configuración pública, sigue los perfiles de eas.json a través de extends, lee las reglas de .gitignore igual que git, distingue las claves de cliente publicables (claves publicables de Firebase, Supabase, Stripe y Clerk, RevenueCat, Mapbox, PostHog) de las secretas y funciona en monorepos con varias apps. Nunca ejecuta Expo, EAS CLI, la configuración de tu app ni tu código. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y un enfoque más seguro. Los secretos nunca se muestran.

Qué comprueba

BLOCK (corregir antes de publicar)

  • E01: una variable EXPO_PUBLIC_ que contiene un secreto (en archivos .env, el env de compilación de eas.json o el código): un valor con forma de clave secreta (claves secretas de Stripe, OpenAI, Anthropic, GitHub, AWS, una clave service_role de Supabase y otras), un nombre que termina en _SECRET, _SECRET_KEY, _PASSWORD, _PRIVATE_KEY, _SERVICE_ROLE_KEY o _AUTH_TOKEN, o la clave de API de un proveedor de IA, correo o SMS solo para servidor, como EXPO_PUBLIC_OPENAI_API_KEY (los nombres de claves de almacenamiento como EXPO_PUBLIC_AUTH_TOKEN_STORAGE_KEY no se señalan)
  • E02: un secreto en app.json o app.config: un valor con forma de secreto o una contraseña literal o un ajuste secreto en extra, en opciones de plugins o en hooks, una contraseña en una URL, o ...process.env expandido en la configuración
  • E03: un secreto en eas.json: una variable env de un perfil de compilación cuyo nombre termina en una expresión de secreto (o es una clave de proveedor solo para servidor) con un valor literal, un nombre de clave de API o token con un valor generado largo, o cualquier valor con forma de secreto
  • E04: credentials.json, un keystore o certificado de distribución que nombre, una clave de App Store Connect o Google Play que indique submit en eas.json, o la clave privada de firma de código de expo-updates, en el proyecto sin ninguna regla de .gitignore que lo cubra
  • E05: un perfil de compilación production, release o store (no internal) que genera una compilación de desarrollo: developmentClient true (también a través de extends), una configuración de compilación Debug de iOS o un comando Debug de Gradle
  • E06: updates.url por http simple a un host público, sin firmar, en una configuración de app que también permite http simple (usesCleartextTraffic o NSAllowsArbitraryLoads)
  • E07: disableAntiBrickingMeasures true en app.json, que se aplica a todas las compilaciones

REVIEW (revisar antes del lanzamiento)

  • E11: usesCleartextTraffic true (expo-build-properties)
  • E12: NSAllowsArbitraryLoads true en ios.infoPlist (App Transport Security desactivado)
  • E13: un servidor de actualizaciones autoalojado sin updates.codeSigningCertificate
  • E14: updates.url definido pero sin runtimeVersion, por lo que expo-updates sigue desactivado
  • E15: expo-secure-store con configureAndroidBackup false mientras las copias de seguridad de Android están permitidas
  • E16: una variable EXPO_PUBLIC_ o un valor de configuración de la app con nombre de clave de API que contiene un literal generado largo que no es una clave publicable conocida
  • E17: app.config copia una variable de entorno con un secreto o una clave de API (como OPENAI_API_KEY) en extra o en opciones de plugins, donde se distribuye con la app
  • E18: disableAntiBrickingMeasures true escrito en app.config
  • E19: newArchEnabled false en Expo SDK 55 o posterior, donde el ajuste se ignora
  • E20: cualquier otro updates.url por http simple a un host no local: iOS y Android 9 y posteriores lo rechazan por defecto, así que las actualizaciones suelen fallar

Qué incluye

  • El escáner (Python 3.9+, solo biblioteca estándar)
  • Una guía de reglas con el motivo, el enfoque más seguro y un enlace a la documentación oficial de Expo o Apple para cada regla
  • Un monorepo de ejemplo arriesgado y otro seguro (tres apps), y el informe real que produce el escáner sobre el arriesgado

Límites

Lee el texto de los archivos y nunca ejecuta app.config.js ni app.config.ts, por lo que no se siguen los valores construidos por funciones o importaciones, y las variables de entorno se evalúan por su nombre, no por su valor. E04 decide a partir del texto de .gitignore, no del historial de git, así que un archivo que ya está confirmado en el repositorio no se detecta. Las variables de entorno de EAS almacenadas en los servidores de Expo no se comprueban, y los proyectos de EAS Update sin firma de código no se señalan porque Expo solo ofrece la firma de código para EAS Update en los planes de pago. Los archivos nativos de ios y android no se leen. El cliente de ejemplo oficial custom-expo-updates-server permite tráfico sin cifrar para su servidor en localhost y se señala a propósito como E11 REVIEW. NOT FLAGGED no es una garantía.

Contenido

Un archivo ZIP con 31 archivos: SKILL.md, el escáner en scripts/ (8 archivos Python), references/rules.md (cada regla con su motivo y un enfoque más seguro) y examples/ (20 archivos de ejemplo más report.md, la salida real del escáner sobre el ejemplo arriesgado).

Cómo usarlo: esta es una skill para agentes: una carpeta con un archivo SKILL.md y scripts de Python que un agente de programación con IA como Claude Code, Cursor o Codex CLI puede ejecutar. Descomprímela en la carpeta de skills de tu agente (para Claude Code: ~/.claude/skills/) y luego pide a tu agente que revise tu proyecto. Los scripts también funcionan por sí solos con Python 3.9 o posterior, sin nada que instalar. Solo leen tus archivos: sin acceso a la red, y no se envía nada a ningún sitio.

Qué recibes

1 archivo · 53.69 KB

  • expo-eas-config-check-1.0.0.zipZIP · 53.69 KB
LicenciaUso comercial permitido
Revisión del paqueteSuperada

Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.

Publicado12 nov 2026
Tamaño del archivo53.69 KB
Formato de archivoZIP
Versiónv1.0

Etiquetas

expoeasreact-nativemobilesecurityai agent skill
R
RR HH

Preguntas frecuentes

¿Tengo acceso al instante?

Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.

¿Puedo usarlo en proyectos comerciales?

Sí. Se permite el uso comercial: úsalo en tu propio negocio y en cosas que vendas. No puedes revender ni redistribuir el archivo en sí.

¿Cuál es vuestra política de reembolso?

Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.

¿Qué formatos y tamaños de archivo recibiré?

Descargarás 1 archivo - ZIP - 53.69 KB en total.

¿Recibo actualizaciones gratis?

Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.

Precio

$5.00