Outils et scripts IA
Vérification de sécurité pour SvelteKit
Vérifiez vos applications SvelteKit 2 et 3 avant le déploiement : secrets dans des variables PUBLIC_ ou renvoyés par load, vérifications CSRF désactivées, CORS qui fait confiance à n'importe quelle origine, XSS via {@html}, redirections ouvertes, cookies de session faibles et CSP avec scripts inline.
Ce que vous recevez : 1 fichier · 52.3 KB · ZIP
Voir les options d'achatDescription du produit
Une fonction load qui renvoie { stripeKey: STRIPE_SECRET_KEY } envoie votre clé secrète Stripe à chaque visiteur dans les données de la page, et csrf: { checkOrigin: false } permet à n'importe quel site web de soumettre vos formulaires avec les cookies de vos utilisateurs. Cette skill détecte ces erreurs et neuf autres erreurs SvelteKit avant le déploiement, et vous indique comment corriger chacune.
Votre agent lance un scanner sur svelte.config.js, vite.config, les composants .svelte, les fichiers +page, +layout et +server, les hooks, les fonctions distantes, src/env.ts et les fichiers .env. Il connaît SvelteKit 2 et 3 : il lit la version de @sveltejs/kit dans package.json, sait que redirect() dans SvelteKit 3 refuse les URL externes sauf si vous les autorisez, que cookies.set() crée par défaut des cookies httpOnly et secure, quels modules sont réservés au serveur, et que SvelteKit cesse d'ajouter ses nonces CSP lorsque 'unsafe-inline' figure dans script-src. Il suit les données d'URL, de formulaire et de load à travers les variables, $derived et les blocs {#each}, ignore les commentaires et considère DOMPurify.sanitize() et les appels similaires comme un nettoyage. Il ne compile ni n'exécute jamais l'application. 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 ligne)
- K01 : variables aux noms de secret rendues publiques (secret, password, private key, service role, URL de base de données, URL de webhook de chat, jetons d'IA et GitHub) : noms PUBLIC_ dans les fichiers .env et les imports d'env publics, noms VITE_ dans import.meta.env, et public: true dans src/env.ts
- K02 : csrf.checkOrigin: false ou '*' dans csrf.trustedOrigins, écrit directement ou dans un tableau constant
- K03 : CORS qui copie l'Origin de la requête dans Access-Control-Allow-Origin avec Allow-Credentials: true
- K04 : secrets envoyés au navigateur : valeurs d'env privées renvoyées par des fonctions load serveur, des actions de formulaire ou des fonctions distantes (directement ou dans un objet local), clés secrètes écrites dans des fichiers .svelte, des load universels ou des modules src/lib hors des dossiers serveur, et process.env copié dans le bundle via define de vite. Les clés navigateur comme les clés publishable, anon, search-only et PostHog ne sont pas signalées
- K05 : {@html} avec une valeur provenant de l'URL (paramètres de recherche, hash, paramètres de route), y compris lorsqu'elle est définie dans $effect ou onMount ; les valeurs seulement comparées à l'URL ou recherchées à partir d'elle ne comptent pas
REVIEW (à vérifier avant la publication)
- K11 : {@html} avec des données de load, des résultats de formulaire ou des props de composant sans sanitizer
- K12 : redirections ouvertes vers des valeurs de la query string ou de formulaires via redirect(), un en-tête Location ou window.location, sans vérification de même origine (un simple test startsWith('/') ne suffit pas)
- K13 : cookies de session ou d'authentification avec httpOnly ou secure désactivé, sameSite none, définis par serialize() ou stringifySetCookie() du paquet cookie sans httpOnly, par un en-tête Set-Cookie brut ou par document.cookie
- K14 : 'unsafe-inline' ou 'unsafe-eval' dans script-src de la CSP (les politiques report-only et 'unsafe-inline' à côté de 'strict-dynamic' ne sont pas signalés)
- K15 : le hook serveur handleError, ou un gestionnaire qu'il enveloppe, qui renvoie des messages d'erreur ou des traces de pile
- K16 : Access-Control-Allow-Origin: * avec Allow-Credentials: true
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 le lien vers la documentation officielle pour chaque règle
- Un projet SvelteKit d'exemple risqué et un sûr, ainsi que le vrai rapport produit par le scanner sur le projet risqué
Limites
Il lit chaque fichier isolément : une valeur transmise par une fonction d'un autre fichier, un secret importé d'un module partagé ou un sanitizer appliqué dans un autre composant ne sont pas suivis. Un kit.env.publicPrefix personnalisé n'est pas lu (PUBLIC_ est supposé), et l'autorisation dans les fonctions load et les actions, la validation des entrées des fonctions distantes et les en-têtes de sécurité définis par un proxy ou l'hébergeur ne sont pas vérifiés. Sans package.json mentionnant @sveltejs/kit, les redirections sont évaluées selon les règles de SvelteKit 2. NOT FLAGGED n'est pas une garantie.
Contenu
Un fichier ZIP de 28 fichiers : SKILL.md, le scanner dans scripts/ (5 fichiers Python), references/rules.md (chaque règle avec sa raison et une approche plus sûre) et examples/ (20 fichiers d'exemple plus report.md, la vraie sortie du scanner sur l'exemple risqué).
Utilisation : il s'agit d'une 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 lisent uniquement vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.
Ce que vous recevez
1 fichier · 52.3 KB
- sveltekit-safety-check-1.0.0.zipZIP · 52.3 KB
Outils et scripts IA
Vérification de sécurité pour SvelteKit
Vérifiez vos applications SvelteKit 2 et 3 avant le déploiement : secrets dans des variables PUBLIC_ ou renvoyés par load, vérifications CSRF désactivées, CORS qui fait confiance à n'importe quelle origine, XSS via {@html}, redirections ouvertes, cookies de session faibles et CSP avec scripts inline.
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 - 52.3 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



