Herramientas y scripts de IA
Revisión de seguridad para Astro
Revisa un sitio Astro antes de desplegar: secretos en variables PUBLIC_, vite.define o islas de cliente, set:html con datos de la petición, CORS que refleja cualquier origen, checkOrigin desactivado, redirecciones abiertas y cookies de sesión débiles.
Qué recibes: 1 archivo · 47.04 KB · ZIP
Ver opciones de compraDescripción del producto
Una PUBLIC_STRIPE_SECRET_KEY en .env.production, o un import.meta.env.OPENAI_API_KEY pasado como prop a una isla client:load, acaba en el JavaScript y el HTML que descarga cada visitante. Un valor ?q= pasado a set:html permite que cualquiera envíe un enlace que ejecuta scripts en tu dominio. Esta skill detecta esos y los demás errores de Astro que se indican a continuación antes de que despliegues, y te explica cómo corregir cada uno.
Tu agente ejecuta un escáner sobre los archivos astro.config, las páginas y componentes .astro (frontmatter, plantilla y scripts), los endpoints, el middleware y las actions, los archivos .env y los componentes que leen variables PUBLIC_. Conoce las reglas de Astro: solo las variables PUBLIC_ y los campos de cliente de astro:env llegan al navegador, las props de client:* y los valores de define:vars se serializan en la página mientras que las props de server:defer se cifran, set:html no se escapa, Astro.params es fijo en tiempo de compilación solo en las páginas prerenderizadas, y checkOrigin está activado por defecto. Considera correctas las claves publishable, anon y las claves de mapas para navegador, los interruptores de funciones y los flags derivados de un secreto (!!key), lee los archivos .env solo en carpetas que contienen archivos de Astro, no avisa de imágenes remotas en builds estáticos y nunca compila ni ejecuta tu proyecto. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y una alternativa más segura. Los secretos nunca se muestran.
Qué comprueba
BLOCK (corrígelo antes de publicar)
- A01: una variable con nombre de secreto hecha pública: variables PUBLIC_ en archivos .env y en el código, campos de astro:env con context "client" y valores PUBLIC_ en formatos de clave conocidos
- A02: vite.define al que se le pasa todo el entorno, una variable con nombre de secreto o una clave literal
- A03: secretos del servidor (u objetos que los contienen) pasados a islas client:*, define:vars, atributos HTML o al texto de la página
- A04: set:html con datos de la query string, de formularios, de cabeceras o de rutas renderizadas bajo demanda, también a través de un renderizador de Markdown
- A05: CORS que copia el Origin de la petición en Access-Control-Allow-Origin con credenciales y sin lista de permitidos
REVIEW (revísalo antes del lanzamiento)
- A11: security.checkOrigin desactivado
- A12: security.allowedDomains que confía en cualquier host reenviado
- A13: image.remotePatterns que permiten cualquier host en un sitio renderizado bajo demanda
- A14: redirecciones a un valor ?next= o de formulario que no se comprueba antes
- A15: source maps publicados junto con el build
- A16: cookies de sesión o de token configuradas sin httpOnly y secure
- A17: secretos de astro:env marcados como públicos en el servidor o con un valor por defecto literal
- A18: CORS "*" junto con credenciales
Qué incluye
- El escáner (Python 3.9+, solo biblioteca estándar)
- Una guía de reglas con el motivo, la alternativa más segura y la fuente oficial de cada regla
- Una tienda de ejemplo arriesgada y otra segura (configuración, .env, páginas y rutas de API), y el informe real que genera el escáner sobre la arriesgada
Limitaciones
Lee cada archivo por separado y sigue los valores solo a través de asignaciones simples en el mismo archivo, por lo que no se siguen los datos que pasan por funciones auxiliares importadas o componentes padre. No conoce las cabeceras del hosting, las reglas de la CDN ni si un endpoint o una action comprueba quién es el usuario, no lee el contenido Markdown y MDX, y los componentes JSX, TSX, Vue y Svelte solo se revisan en busca de secretos PUBLIC_. NOT FLAGGED no es una garantía.
Contenido
Un archivo ZIP con 22 archivos: SKILL.md, el escáner en scripts/ (7 archivos de Python), references/rules.md (cada regla con su motivo y su alternativa más segura) y examples/ (12 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 puede ejecutar un agente de programación con IA como Claude Code, Cursor o Codex CLI. 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 instalar nada. Solo leen tus archivos: sin acceso a la red y sin enviar nada a ningún sitio.
Qué recibes
1 archivo · 47.04 KB
- astro-safety-check-1.0.0.zipZIP · 47.04 KB
Herramientas y scripts de IA
Revisión de seguridad para Astro
Revisa un sitio Astro antes de desplegar: secretos en variables PUBLIC_, vite.define o islas de cliente, set:html con datos de la petición, CORS que refleja cualquier origen, checkOrigin desactivado, redirecciones abiertas y cookies de sesión débiles.
Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.
Etiquetas
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 - 47.04 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



