Outils et scripts IA
Vérification de sécurité Astro
Vérifiez un site Astro avant de déployer : secrets dans des variables PUBLIC_, vite.define ou des îlots client, set:html avec des données de requête, CORS qui renvoie n'importe quelle origine, checkOrigin désactivé, redirections ouvertes et cookies de session faibles.
Ce que vous recevez : 1 fichier · 47.04 KB · ZIP
Voir les options d'achatDescription du produit
Une PUBLIC_STRIPE_SECRET_KEY dans .env.production, ou un import.meta.env.OPENAI_API_KEY passé en prop à un îlot client:load, se retrouve dans le JavaScript et le HTML que chaque visiteur télécharge. Une valeur ?q= passée à set:html permet à n'importe qui d'envoyer un lien qui exécute des scripts sur votre domaine. Ce skill détecte ces erreurs Astro ainsi que les autres listées ci-dessous avant votre déploiement, et vous explique comment corriger chacune d'elles.
Votre agent exécute un scanner sur les fichiers astro.config, les pages et composants .astro (frontmatter, template et scripts), les endpoints, le middleware et les actions, les fichiers .env et les composants qui lisent des variables PUBLIC_. Il connaît les règles d'Astro : seules les variables PUBLIC_ et les champs client d'astro:env atteignent le navigateur, les props client:* et les valeurs define:vars sont sérialisées dans la page tandis que les props server:defer sont chiffrées, set:html n'est pas échappé, Astro.params n'est figé au moment du build que sur les pages prérendues, et checkOrigin est activé par défaut. Il considère comme acceptables les clés publishable, anon et les clés de cartes pour navigateur, les interrupteurs de fonctionnalités et les flags dérivés d'un secret (!!key), ne lit les fichiers .env que dans les dossiers contenant des fichiers Astro, n'alerte pas sur les images distantes des builds statiques, et ne compile ni n'exécute jamais votre projet. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.
Ce qui est vérifié
BLOCK (à corriger avant la mise en production)
- A01 : une variable au nom de secret rendue publique : variables PUBLIC_ dans les fichiers .env et le code, champs astro:env avec context "client" et valeurs PUBLIC_ dans des formats de clé connus
- A02 : vite.define recevant tout l'environnement, une variable au nom de secret ou une clé littérale
- A03 : des secrets serveur (ou des objets qui en contiennent) transmis à des îlots client:*, à define:vars, à des attributs HTML ou au texte de la page
- A04 : set:html avec des données de query string, de formulaire, d'en-tête ou de route rendue à la demande, y compris via un moteur de rendu Markdown
- A05 : un CORS qui copie l'Origin de la requête dans Access-Control-Allow-Origin avec credentials et sans liste d'autorisation
REVIEW (à vérifier avant la publication)
- A11 : security.checkOrigin désactivé
- A12 : security.allowedDomains qui fait confiance à n'importe quel hôte transféré
- A13 : image.remotePatterns qui autorisent n'importe quel hôte sur un site rendu à la demande
- A14 : des redirections vers une valeur ?next= ou de formulaire qui n'est pas vérifiée au préalable
- A15 : des source maps publiées avec le build
- A16 : des cookies de session ou de jeton définis sans httpOnly et secure
- A17 : des secrets astro:env marqués comme publics côté serveur, ou dotés d'une valeur par défaut littérale
- A18 : CORS "*" combiné avec credentials
Ce qui est inclus
- Le scanner (Python 3.9+, bibliothèque standard uniquement)
- Un guide des règles avec la raison, l'approche plus sûre et la source officielle de chaque règle
- Une boutique d'exemple risquée et une boutique sûre (configuration, .env, pages et routes API), ainsi que le rapport réel produit par le scanner sur la boutique risquée
Limites
Il lit chaque fichier séparément et ne suit les valeurs qu'à travers de simples affectations dans le même fichier, de sorte que les données transmises via des helpers importés ou des composants parents ne sont pas suivies. Les en-têtes de l'hébergement, les règles du CDN et le fait qu'un endpoint ou une action vérifie l'identité de l'utilisateur lui sont inconnus, le contenu Markdown et MDX n'est pas lu, et les composants JSX, TSX, Vue et Svelte ne sont vérifiés que pour les secrets PUBLIC_. NOT FLAGGED n'est pas une garantie.
Contenu
Un fichier ZIP de 22 fichiers : SKILL.md, le scanner dans scripts/ (7 fichiers Python), references/rules.md (chaque règle avec sa raison et son approche plus sûre) et examples/ (12 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple risqué).
Mode d'emploi : Il s'agit d'un skill d'agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de programmation IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou plus récent, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.
Ce que vous recevez
1 fichier · 47.04 KB
- astro-safety-check-1.0.0.zipZIP · 47.04 KB
Outils et scripts IA
Vérification de sécurité Astro
Vérifiez un site Astro avant de déployer : secrets dans des variables PUBLIC_, vite.define ou des îlots client, set:html avec des données de requête, CORS qui renvoie n'importe quelle origine, checkOrigin désactivé, redirections ouvertes et cookies de session faibles.
Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.
Tags
Questions fréquentes
Ai-je accès au produit immédiatement ?
Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.
Puis-je l'utiliser pour des projets commerciaux ?
Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.
Quelle est votre politique de remboursement ?
Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.
Quels formats et quelles tailles de fichier vais-je recevoir ?
Vous téléchargerez 1 fichier - ZIP - 47.04 KB au total.
Ai-je droit aux mises à jour gratuites ?
Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.
Prix
$5.00



