Skip to main content

Requêtes Swift pour l’analyse CodeQL

Explorez les requêtes que CodeQL utilise pour analyser le code écrit en Swift et ce lorsque vous sélectionnez la suite de requêtes default ou security-extended.

Qui peut utiliser cette fonctionnalité ?

Code scanning est disponible pour tous les dépôts publics sur GitHub.com. Code scanning est également disponible pour des dépôts privés appartenant à des organisations qui utilisent GitHub Enterprise Cloud et ont une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

CodeQL inclut de nombreuses requêtes pour l’analyse du code Swift. Toutes les requêtes de la suite de requêtes default sont exécutées par défaut. Si vous choisissez d’utiliser la suite de requêtes security-extended, des requêtes supplémentaires sont exécutées. Pour plus d’informations, consultez « Suites de requêtes CodeQL ».

Remarques :

  • L’analyse CodeQL pour Swift est en version bêta. Pour la version bêta, l’analyse du code Swift et la documentation associée ne seront pas aussi complètes que pour les autres langages.

Requêtes intégrées pour l’analyse Swift

Ce tableau répertorie les requêtes disponibles avec la dernière version de l’action CodeQL et CodeQL CLI. Pour plus d’informations, consultez les journaux des modifications CodeQL dans le site de documentation de CodeQL.

Remarque : la correction automatique de GitHub pour code scanning est en phase bêta. Les fonctionnalités et la documentation sont sujettes à modification. Au cours de cette phase, la fonctionnalité est limitée aux alertes JavaScript, TypeScript, Python et Java identifiées par CodeQL. Si vous avez un compte d’entreprise et que vous utilisez GitHub Advanced Security, votre entreprise a accès à la version bêta.

Nom de la requêteCWE connexesPar défautÉtendu
Mauvais filtrage HTML regexp116, 020, 185, 186
Journalisation de texte en clair des informations sensibles312, 359, 532
Stockage de texte en clair des informations sensibles dans une base de données locale312
Stockage de texte en clair des informations sensibles dans un store de préférences d'application312
Transmission de texte en clair des informations sensibles319
Mot de passe constant259
Requête de base de données créée à partir de sources contrôlées par l'utilisateur089
Chiffrement à l'aide d'ECB327
Clé de chiffrement codée en dur321
Expression régulière incomplète pour les noms d'hôte020
Expression régulière inefficace1 333, 730, 400
Configuration TLS non sécurisée757
Itérations de hachage insuffisantes916
Ancre d'expression régulière manquante020
Prédicat créé à partir de sources contrôlées par l'utilisateur943
Injection d’expressions régulières730, 400
Résolution d’une entité externe XML dans les données contrôlées par l’utilisateur611, 776, 827
Vecteur d'initialisation statique pour le chiffrement329, 1 204
Conflation de longueur de chaîne135
Commande système créée à partir de sources contrôlées par l'utilisateur078, 088
Données non contrôlées utilisées dans l'expression de chemin d'accès022, 023, 036, 073, 099
Chaîne de format non contrôlée134
Extraction de WebView non sécurisée079, 095, 749
Utilisation d'un algorithme de hachage de chiffrement défectueux ou faible sur des données sensibles327, 328
Utilisation d'un algorithme de hachage de chiffrement inapproprié sur les mots de passe327, 328, 916
Utilisation de salts constants760
JavaScript Injection094, 095, 749