Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
fil-c — Fil-C : sécurité mémoire entièrement compatible pour C et C++ | Kitploit
Outils/GitHubGitHub/pizlonator/fil-c
Outils DéfensifsAnalyse des VulnérabilitésAnalyse Dynamique de Code (DAST)
GitHubpizlonator/fil-c

fil-c

Fil-C : sécurité mémoire entièrement compatible pour C et C++

Voir le dépôtSite web
3.8k7824il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Fil-C 0.684

Fil-C est une implémentation de C et C++ à sûreté mémoire, fanatiquement compatible. De nombreux logiciels se compilent et s'exécutent avec Fil-C sans aucun changement ou avec des changements minimes. Toutes les erreurs de sûreté mémoire sont détectées sous forme de paniques Fil-C. Fil-C y parvient en combinant un ramasse-miettes concurrent et des capacités invisibles (chaque pointeur en mémoire possède une capacité correspondante, non visible depuis l'espace d'adressage C). Chaque opération C fondamentale (telle qu'observée dans le LLVM IR) est vérifiée par rapport à la capacité. Fil-C n'a pas d'instruction unsafe et ne dispose que d'une FFI limitée vers du code non sûr.

Fil-C est particulier car :

  • Fil-C atteint une sûreté complète sans aucune échappatoire. Il n'existe pas de mot-clé unsafe en Fil-C qui pourrait être utilisé pour désactiver les protections. La liaison avec du code non sûr est sévèrement restreinte.

  • L'approche basée sur les capacités de Fil-C atteint un niveau de sûreté similaire à celui des capacités matérielles comme CHERI, sauf qu'elle fonctionne sur du matériel standard (X86_64 ou ARM64).

  • Fil-C est conçu pour empêcher que les bugs de sûreté mémoire soient exploités, plutôt que de simplement les signaler suffisamment souvent pour trouver des bugs. Cela distingue Fil-C d'AddressSanitizer, HWAsan ou MTE, qui peuvent tous être contournés par des attaquants. La différence clé qui rend cela possible est que Fil-C est basé sur les capacités (ainsi chaque pointeur sait quelle plage de mémoire il peut accéder, et comment il peut y accéder) plutôt que sur les tags (où les accès par pointeur sont autorisés s'ils atteignent une mémoire valide).

Télécharger l’outil
  • Du point de vue de l'utilisateur du langage, Fil-C n'est que du C et du C++ avec les extensions GCC/clang. Il est plus probable que non que votre programme ou bibliothèque C ou C++ préféré se compile en Fil-C sans aucun changement. Le compilateur Fil-C est basé sur clang 20.1.8, il prend donc en charge C17 et C++20.

  • Licence

    Le compilateur (clang + LLVM) est couvert par LLVM-LICENSE.txt. Le runtime est couvert par PAS-LICENSE.txt (voir libpas/LICENSE.txt dans la distribution source). Dans le cas de la distribution Fil-C classique basée sur musl, la libc musl est couverte par MUSL-LICENSE.txt (voir projects/yolomusl/COPYRIGHT et projects/usermusl/COPYRIGHT dans la distribution source). Dans le cas de la distribution /opt/fil, glibc est couverte par glibc-LICENSE.txt, et tous les autres programmes inclus sont couverts par les fichiers -LICENSE.txt respectifs. Les bibliothèques C++ (libc++/libc++abi) sont couvertes par LLVM-LICENSE.txt.

    Vous pouvez récupérer les sources du compilateur, du runtime, de libc++/libc++abi, de la libc (musl et glibc) et de tous les programmes inclus depuis github. La distribution source inclut également de nombreux programmes supplémentaires qui ont été portés vers Fil-C dans les répertoires projects/ et pizlix/, et ils ont diverses licences. La distribution /opt/fil inclut des builds de divers programmes supplémentaires et leurs licences se trouvent dans additional-licenses/ dans cette distribution.

    Prérequis

    Fil-C ne fonctionne que sur Linux/X86_64 ou Linux/ARM64.

    Les versions précédentes fonctionnaient sur Darwin/ARM64 et FreeBSD, mais je me concentre désormais uniquement sur Linux car cela me permet de réaliser un travail plus fidèle d'implémentation de la libc. Rien n'empêche fondamentalement Fil-C de fonctionner sur d'autres architectures ou OS que Linux.

    Pour commencer

    Si vous avez téléchargé les binaires Fil-C, exécutez :

    root@kitploit:~
    ./setup.sh
    

    Cela a un effet différent selon la distribution binaire que vous avez choisie :

    • Dans le cas de la distribution classique basée sur musl (filc-0.684-linux-x86_64.tar.xz ou filc-0.684-linux-aarch64.tar.xz), cela configure Fil-C pour s'exécuter dans le répertoire courant.

    • Dans le cas de la distribution /opt/fil basée sur glibc (optfil-0.684-linux-x86_64.tar.xz), cela configure Fil-C dans /opt/fil.

    Si vous avez téléchargé les sources de Fil-C, exécutez :

    root@kitploit:~
    ./build_all_fast.sh
    

    Vous pourrez alors utiliser Fil-C depuis ce répertoire.

    La distribution binaire de Fil-C est fournie avec musl comme libc. L'utilisation de ./build_all_fast.sh dans la distribution source compile également Fil-C avec musl. Si vous utilisez les sources, vous pouvez aussi :

    • ./build_all_fast_glibc.sh - compile une configuration similaire mais avec glibc 2.40 comme libc.

    • ./build_all.sh - compilation complète basée sur musl (compile aussi de nombreux logiciels portés vers Fil-C).

    • ./build_all_glibc.sh - compilation complète basée sur glibc (compile encore plus de logiciels portés vers Fil-C).

    • cd pizlix && sudo ./build.sh - compile la distribution Linux Pizlix.

    • cd optfil && sudo ./build.sh - compile la distribution /opt/fil.

    Ce qui fonctionne

    De nombreux paquets logiciels fonctionnent en Fil-C sans aucun changement ou avec des changements minimes, y compris de gros comme openssl, CPython, SQLite, et bien d'autres. Fil-C est suffisamment puissant pour prendre en charge un environnement utilisateur Linux entièrement sûr en mémoire.

    Fil-C prend entièrement en charge C et C++ ainsi que presque toutes les extensions prises en charge par clang 20. Fil-C offre par exemple un excellent support des atomiques et des intrinsèques SIMD.

    Fil-C détecte tout ce qui rend la sûreté mémoire en C difficile, comme :

    • Les dépassements de bornes sur le tas ou la pile.

    • Les use-after-free (également sur le tas ou la pile).

    • La confusion de type entre pointeurs et non-pointeurs.

    • Les erreurs de type résultant de l'édition de liens.

    • Les erreurs de type résultant d'un mauvais usage des va_lists.

    • Les races de pointeurs.

    • Les appels système. Tous les tampons passés aux appels système sont vérifiés en termes de bornes et de type.

    • Beaucoup d'autres choses.

    Fil-C est fourni avec une libc POSIX raisonnablement complète et prend même en charge des fonctionnalités délicates comme les threads, la gestion des signaux, mmap/munmap, longjmp/setjmp et les exceptions C++.

    En savoir plus

    Vous pouvez en apprendre davantage sur Fil-C en visitant le site web.

    Vous pouvez aussi m'envoyer un e-mail : [email protected]

    Suivez-moi sur Twitter.

    Signalez les problèmes sur GH.