Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Vérification de configuration Capacitor

Vérifiez vos applications Capacitor et Cordova avant un build de production : server.url de live-reload oublié, débogage WebView activé, contenu mixte, navigation vers n'importe quel site, mots de passe et clés livrés dans l'application, trafic en clair et plateformes obsolètes.

$5.00

Ce que vous recevez : 1 fichier · 58.67 KB · ZIP

Voir les options d'achat

Description du produit

Un server: { url: 'http://192.168.1.68:8100' } oublié dans capacitor.config.ts fait charger à votre build destiné au store le serveur de développement d'un ordinateur portable au lieu de l'application, et webContentsDebuggingEnabled: process.env.NODE_ENV !== 'production' vaut true quand npx cap sync s'exécute sans NODE_ENV, si bien que les builds de production sont livrés avec le débogage WebView activé. Cette skill détecte ces erreurs et quinze autres erreurs de configuration Capacitor et Cordova avant la publication, et vous explique comment corriger chacune.

Votre agent lance un scanner sur capacitor.config.ts, .js et .json, les copies de capacitor.config.json que Capacitor écrit dans android/ et ios/, le config.xml de Cordova et Ionic, package.json et l'index.html de l'application. Il lit les configurations TypeScript et JavaScript comme des données et ne les exécute jamais : il suit les littéraux d'objet, les propriétés abrégées, les constantes de premier niveau et les affectations config.server = {...}, et considère les réglages placés derrière des tests sur process.env, des ternaires, if et switch comme réservés au développement, sauf les tests "pas en production", qui sont vrais pendant npx cap sync. Une configuration contenant une chaîne, un commentaire ou une accolade non fermés est signalée comme non vérifiée au lieu d'être validée. Les fichiers générés (res/xml/config.xml, platforms/, plugins/) sont ignorés, et un config.xml resté d'une migration depuis Cordova n'est vérifié que pour les secrets. 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 publication)

  • C01 : server.url pointant vers un serveur de développement (http simple, localhost, une adresse privée ou d'émulateur, un nom .local ou un port de serveur de développement) en dehors d'une condition (documentation Capacitor : non destiné à la production)
  • C02 : android.allowMixedContent: true, de sorte que des pages https peuvent charger des scripts http
  • C03 : navigation vers n'importe quel site : server.allowNavigation avec *, https://* ou un domaine de premier niveau entier (*.com), ou allow-navigation de Cordova avec *, http://*/*, https://*/*
  • C04 : débogage WebView dans les builds de production : webContentsDebuggingEnabled: true pour android ou ios, InspectableWebview true dans Cordova
  • C05 : un mot de passe, un client secret ou une clé privée écrits en clair dans la configuration de l'application (keystorePassword, keystoreAliasPassword, le clientSecret d'un plugin, un mot de passe dans la partie informations utilisateur d'une URL, préférences et variables de plugins Cordova)

REVIEW (à vérifier avant la sortie)

  • C11 : trafic en clair autorisé : server.cleartext: true, android:usesCleartextTraffic="true" ou NSAllowsArbitraryLoads écrits via config.xml
  • C12 : entrées server.allowNavigation pour des hôtes précis, ou une entrée allow-navigation de Cordova en http simple
  • C13 : access origin="*" dans Cordova (n'importe quel serveur ; sur iOS, Cordova l'écrit sous forme de NSAllowsArbitraryLoads)
  • C14 : AndroidInsecureFileModeEnabled de Cordova défini à true (l'application se charge depuis file://)
  • C15 : loggingBehavior: 'production'
  • C16 : android.useLegacyBridge: true
  • C17 : une clé d'API ou un jeton écrits en clair dans la configuration de l'application (réglages de plugins, variables et préférences de plugins Cordova) ; les formats de clés publiables ne sont pas signalés
  • C18 : Capacitor 6 ou antérieur, cordova-android inférieur à 15 sans android-targetSdkVersion 36, cordova-ios inférieur à 6, ou cordova-plugin-whitelist, sous forme de versions exactes, de plages qui s'arrêtent avant la version majeure actuelle (>=5.0.0 <8.0.0) ou d'alias npm:
  • C19 : l'index.html d'entrée de l'application n'a pas de balise meta Content-Security-Policy
  • C20 : la copie native générée de capacitor.config.json contient encore le server.url d'une exécution en live-reload
  • C21 : webContentsDebuggingEnabled, allowMixedContent ou server.url activés par un test "pas en production" (NODE_ENV !== 'production', ou !isProd), qui est vrai quand npx cap sync s'exécute sans NODE_ENV
  • C22 : server.url pointant vers un site https hébergé, de sorte que l'application encapsule un site web dont toutes les pages et tous les scripts accèdent au pont natif

Contenu inclus

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec, pour chaque règle, la raison, l'approche plus sûre et le lien vers la documentation officielle de Capacitor ou Cordova
  • Des projets d'exemple risqués et sûrs (une application Capacitor, une application Capacitor avec une copie native périmée, un wrapper de site hébergé, une application Cordova), et le rapport réel que le scanner produit sur les projets risqués

Limites

Il lit la configuration comme du texte et ne l'exécute jamais. Les valeurs issues d'appels de fonctions, d'autres modules ou de fichiers .env ne sont pas suivies, et un réglage placé derrière une condition est considéré comme réservé au développement (C21 signale la forme "pas en production") ; les secrets écrits en clair sont signalés dans toutes les branches, car ils se trouvent de toute façon dans le dépôt. C01 se déclenche aussi sur l'exemple de live-reload de la documentation Capacitor, prévu uniquement pour le développement. server.androidScheme 'http' n'est pas signalé, car les guides de migration vers Capacitor 5.0 et 6.0 le recommandent pour les applications existantes. C19 ne voit pas une politique ajoutée par un plugin du bundler au moment du build (autoCsp d'Angular est reconnu). Les versions sont lues dans package.json et config.xml, pas dans les fichiers de verrouillage. Les fichiers du projet natif (AndroidManifest.xml, Info.plist, fichiers Gradle) ne sont pas lus. NOT FLAGGED n'est pas une garantie.

Contenu de l'archive

Un fichier ZIP de 35 fichiers : SKILL.md, le scanner dans scripts/ (6 fichiers Python), references/rules.md (chaque règle avec sa raison et l'approche plus sûre) et examples/ (26 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple risqué).

Mode d'emploi : Il s'agit d'une skill pour 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-la 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 · 58.67 KB

  • capacitor-config-check-1.0.0.zipZIP · 58.67 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

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é.

Publié12 nov. 2026
Taille du fichier58.67 KB
Format du fichierZIP
Versionv1.0

Tags

capacitorcordovaionicmobilesecurityai agent skill
R
RR HH

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 - 58.67 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