Directives de Sécurité du Code
Règles de sécurité complètes pour écrire du code sécurisé dans 15+ langages. Couvre le Top 10 OWASP, la sécurité de l'infrastructure et les bonnes pratiques de codage avec 28 catégories de règles.
Comment Utiliser Cette Skill
Mode proactif — Lors de l'écriture ou de la révision de code, vérifiez automatiquement les vulnérabilités pertinentes en fonction du langage et des modèles présents. Vous n'avez pas besoin d'attendre que l'utilisateur pose une question sur la sécurité.
Mode réactif — Quand l'utilisateur pose une question sur la sécurité, utilisez les catégories ci-dessous pour trouver le fichier de règles pertinent, puis lisez-le pour des exemples détaillés de code vulnérable/sécurisé.
Flux de travail
- Identifiez le langage et ce que fait le code (traite des entrées ? interroge une BD ? lit des fichiers ?)
- Vérifiez les règles pertinentes ci-dessous — concentrez-vous d'abord sur les impacts Critique et Élevé
- Lisez le fichier de règles spécifique depuis
rules/pour des exemples de code détaillés dans ce langage - Appliquez les modèles sécurisés, ou signalez les modèles vulnérables lors d'une révision
Règles de Priorité Spécifiques au Langage
Lors de l'écriture de code dans ces langages, vérifiez d'abord ces règles :
| Langage | Règles Prioritaires à Vérifier |
|---|---|
| Python | Injection SQL, injection de commandes, traversée de répertoires, injection de code, SSRF, crypto non sécurisée |
| JavaScript/TypeScript | XSS, prototype pollution, injection de code, transport non sécurisé, CSRF |
| Java | Injection SQL, XXE, désérialisation non sécurisée, crypto non sécurisée, SSRF |
| Go | Injection SQL, injection de commandes, traversée de répertoires, transport non sécurisé |
| C/C++ | Sécurité mémoire, fonctions non sûres, injection de commandes, traversée de répertoires |
| Ruby | Injection SQL, injection de commandes, injection de code, désérialisation non sécurisée |
| PHP | Injection SQL, XSS, injection de commandes, injection de code, traversée de répertoires |
| HCL/YAML | Terraform (AWS/Azure/GCP), Kubernetes, Docker, GitHub Actions |
Catégories
Impact Critique
- Injection SQL (
rules/sql-injection.md) - Utilisez des requêtes paramétrées, ne concaténez jamais l'entrée utilisateur - Injection de Commandes (
rules/command-injection.md) - Évitez les commandes shell avec entrée utilisateur, utilisez des API sûres - XSS (
rules/xss.md) - Échappez la sortie, utilisez les protections du framework - XXE (
rules/xxe.md) - Désactivez les entités externes dans les parseurs XML - Traversée de Répertoires (
rules/path-traversal.md) - Validez et nettoyez les chemins de fichiers - Désérialisation non Sécurisée (
rules/insecure-deserialization.md) - Ne désérialisez jamais de données non fiables - Injection de Code (
rules/code-injection.md) - Ne faites jamais eval() sur l'entrée utilisateur - Secrets Codés en Dur (
rules/secrets.md) - Utilisez les variables d'environnement ou les gestionnaires de secrets - Sécurité Mémoire (
rules/memory-safety.md) - Prévenez les débordements de buffer, use-after-free (C/C++)
Impact Élevé
- Crypto non Sécurisée (
rules/insecure-crypto.md) - Utilisez SHA-256+, AES-256, évitez MD5/SHA1/DES - Transport non Sécurisé (
rules/insecure-transport.md) - Utilisez HTTPS, vérifiez les certificats - SSRF (
rules/ssrf.md) - Validez les URLs, utilisez des listes blanches - Problèmes JWT (
rules/authentication-jwt.md) - Vérifiez toujours les signatures - CSRF (
rules/csrf.md) - Utilisez des tokens CSRF sur les requêtes qui modifient l'état - Prototype Pollution (
rules/prototype-pollution.md) - Validez les clés d'objet en JavaScript
Infrastructure
- Terraform AWS/Azure/GCP (
rules/terraform-aws.md,rules/terraform-azure.md,rules/terraform-gcp.md) - Chiffrement, principe du moindre privilège, pas d'accès public - Kubernetes (
rules/kubernetes.md) - Pas de conteneurs privilégiés, exécution en tant que non-root - Docker (
rules/docker.md) - N'exécutez pas en tant que root, épinglez les versions d'image - GitHub Actions (
rules/github-actions.md) - Évitez l'injection de scripts, épinglez les versions d'actions
Impact Moyen/Faible
- Regex DoS (
rules/regex-dos.md) - Évitez les rétrotraces catastrophiques - Conditions de Course (
rules/race-condition.md) - Utilisez une synchronisation appropriée - Correctness (
rules/correctness.md) - Évitez les bugs logiques courants - Bonnes Pratiques (
rules/best-practice.md) - Modèles généraux de codage sécurisé
Consultez rules/_sections.md pour l'index complet avec références CWE/OWASP.
Référence Rapide
| Vulnérabilité | Prévention Clé |
|---|---|
| Injection SQL | Requêtes paramétrées |
| XSS | Encodage de la sortie |
| Injection de Commandes | Évitez shell, utilisez des APIs |
| Traversée de Répertoires | Validez les chemins |
| SSRF | Listes blanches d'URLs |
| Secrets | Variables d'environnement |
| Crypto | SHA-256, AES-256 |