AddressSanitizer: catch memory errors in C, C++ and Rust
Compiler et exécuter du code sous AddressSanitizer pour détecter débordements de tampon, use-after-free et fuites pendant le fuzzing et les tests
- Quoi
- Compiler et exécuter du code sous AddressSanitizer pour détecter débordements de tampon, use-after-free et fuites pendant le fuzzing et les tests
- Coût
- Gratuit
- Prérequis
- un projet C/C++ ou Rust avec clang ou gcc ; pour le fuzzing, l'un de libFuzzer, AFL++, cargo-fuzz ou honggfuzz
- Installation
- Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.
Sélectionné par Skill Harbor — un skill du testing-handbook de Trail of Bits sur AddressSanitizer (ASan) : comment instrumenter les builds avec `-fsanitize=address`, les `ASAN_OPTIONS` clés (verbeux, abort-on-error, détection de fuites), lire les rapports de crash et les stack traces, l'usage de LeakSanitizer, et les arbitrages de surcoût et de plateformes (ralentissement 2–4x, support complet sous Linux, limité sous macOS, expérimental sous Windows). Couvre le câblage spécifique à libFuzzer, AFL++, cargo-fuzz et honggfuzz (y compris l'exigence de ~20 To de mémoire virtuelle et pourquoi désactiver les limites mémoire des fuzzers), le dépannage (« ASan runtime not initialized », faux positifs, falaises de performance), et les anti-patterns qui comptent — notamment ne jamais exécuter de binaires instrumentés ASan en production. Bémols honnêtes : conseil orienté cibles de fuzzing — à sauter pour les langages purement sûrs sans FFI ; licence CC-BY-SA-4.0 (le share-alike s'applique à la réutilisation du contenu). Skill Harbor ne vérifie jamais le code, examinez-le vous-même avant usage. Découvert via skills.sh.
Version :
Installation
Prérequis : un projet C/C++ ou Rust avec clang ou gcc ; pour le fuzzing, l'un de libFuzzer, AFL++, cargo-fuzz ou honggfuzz Installe-moi « AddressSanitizer : détecter les erreurs mémoire en C, C++ et Rust ». Issu du testing-handbook de Trail of Bits : comment compiler et exécuter du code sous AddressSanitizer — builds -fsanitize=address, ASAN_OPTIONS, lecture des rapports de crash, LeakSanitizer, câblage des fuzzers (libFuzzer, AFL++, cargo-fuzz, honggfuzz), dépannage et anti-patterns — licence CC-BY-SA-4.0. Dépôt : https://github.com/trailofbits/skills/blob/main/plugins/testing-handbook-skills/skills/address-sanitizer/SKILL.md 1. Récupère le fichier SKILL.md (et les fichiers d'aide éventuels) depuis le chemin du dépôt dans un dossier temporaire et résume en une ou deux phrases ce qu'il fait. 2. Vérification de sécurité : examine le SKILL.md et les scripts pour tout contenu suspect (appels réseau inattendus, commandes shell, collecte d'identifiants). Ce dépôt ne devrait contenir aucun secret en dur, les identifiants uniquement via le coffre sécurisé, les hôtes autorisés déclarés dans le SKILL.md. Vérifie que c'est bien le cas ici ; STOP sur tout signal d'alerte et dis-le-moi. 3. Installe-le comme skill : copie le SKILL.md et ses fichiers d'aide dans le répertoire des skills de l'agent, dans un dossier nommé « address-sanitizer ». 4. Vérifie sans appels réseau : frontmatter valide, fichiers en place. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même (p. ex. recompiler ma cible de fuzzing avec -fsanitize=address -g et désactiver les limites mémoire du fuzzer). GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne jamais l'exiger sauf s'il figure dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête-toi et demande-moi.
Questions
Comment installer une création ?
Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.
Où va mon argent ?
Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.
Que signifie le ✓ à côté du nom d’un créateur ?
Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.