Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fil-c — Fil-C: seguridad de memoria completamente compatible para C y C++ | Kitploit
Herramientas/GitHubGitHub/pizlonator/fil-c
Herramientas DefensivasAnálisis de VulnerabilidadesAnálisis Dinámico de Código (DAST)
GitHubpizlonator/fil-c

fil-c

Fil-C: seguridad de memoria completamente compatible para C y C++

Ver RepositorioSitio web
3.8k7824hace 1 díaRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Fil-C 0.684

Fil-C es una implementación de C y C++ con seguridad de memoria fanáticamente compatible. Gran cantidad de software se compila y ejecuta con Fil-C con cambios nulos o mínimos. Todos los errores de seguridad de memoria se detectan como pánicos de Fil-C. Fil-C logra esto utilizando una combinación de recolección de basura concurrente y capacidades invisibles (cada puntero en memoria tiene una capacidad correspondiente, no visible para el espacio de direcciones de C). Cada operación fundamental de C (como se ve en LLVM IR) se verifica contra la capacidad. Fil-C no tiene una declaración unsafe y solo tiene FFI limitado hacia código inseguro.

Fil-C es especial porque:

  • Fil-C logra seguridad completa sin vías de escape. No hay una palabra clave unsafe en Fil-C que pueda usarse para desactivar las protecciones. El enlazado con código inseguro está severamente restringido.

  • El enfoque basado en capacidades de Fil-C logra un nivel de seguridad similar al de capacidades de hardware como CHERI, excepto que se ejecuta en hardware estándar (X86_64 o ARM64).

  • Fil-C está diseñado para prevenir que los errores de seguridad de memoria sean utilizados para explotación, en lugar de simplemente señalarlos con la suficiente frecuencia para encontrar errores. Esto hace que Fil-C sea diferente de AddressSanitizer, HWAsan o MTE, que pueden ser eludidos por atacantes. La diferencia clave que hace esto posible es que Fil-C está basado en capacidades (por lo que cada puntero sabe qué rango de memoria puede acceder y cómo puede acceder a él) en lugar de basado en etiquetas (donde los accesos de puntero se permiten si alcanzan memoria válida).

  • Desde el punto de vista del usuario del lenguaje, Fil-C es simplemente C y C++ con extensiones de GCC/clang. Es más probable que no que tu programa o biblioteca favorita de C o C++ se compile en Fil-C sin cambios. El compilador de Fil-C está basado en clang 20.1.8, por lo que soporta C17 y C++20.

Licencia

El compilador (clang + LLVM) está cubierto por LLVM-LICENSE.txt. El runtime está cubierto por PAS-LICENSE.txt (ver libpas/LICENSE.txt en la distribución del código fuente). En el caso de la distribución clásica de Fil-C basada en musl, la libc musl está cubierta por MUSL-LICENSE.txt (ver projects/yolomusl/COPYRIGHT y projects/usermusl/COPYRIGHT en la distribución del código fuente). En el caso de la distribución /opt/fil, glibc está cubierta por glibc-LICENSE.txt, y todos los demás programas incluidos están cubiertos por los respectivos archivos -LICENSE.txt. Las bibliotecas de C++ (libc++/libc++abi) están cubiertas por LLVM-LICENSE.txt.

Puedes obtener el código fuente del compilador, el runtime, libc++/libc++abi, libc (musl y glibc) y todos los programas incluidos desde github. La distribución del código fuente también incluye muchos programas adicionales que han sido portados a Fil-C en los directorios projects/ y pizlix/, y tienen una variedad de licencias. La distribución /opt/fil incluye compilaciones de una variedad de programas adicionales y sus licencias están en additional-licenses/ en esa distribución.

Requisitos

Fil-C solo funciona en Linux/X86_64 o Linux/ARM64.

Versiones anteriores funcionaban en Darwin/ARM64 y FreeBSD, pero ahora me estoy enfocando solo en Linux porque me permite hacer un trabajo más fiel al implementar libc. No hay nada fundamental que impida que Fil-C funcione en otras arquitecturas u sistemas operativos distintos de Linux.

Primeros pasos

Si descargaste los binarios de Fil-C, ejecuta:

root@kitploit:~
./setup.sh

Esto tiene un efecto diferente dependiendo de qué distribución binaria seleccionaste:

  • En el caso de la distribución clásica basada en musl (filc-0.684-linux-x86_64.tar.xz o filc-0.684-linux-aarch64.tar.xz), esto configura Fil-C para ejecutarse en el directorio actual.

  • En el caso de la distribución basada en glibc /opt/fil (optfil-0.684-linux-x86_64.tar.xz), esto configura Fil-C en /opt/fil.

Si descargaste el código fuente de Fil-C, ejecuta:

root@kitploit:~
./build_all_fast.sh

Luego podrás usar Fil-C desde dentro de este directorio.

La distribución binaria de Fil-C viene con musl como libc. Usar ./build_all_fast.sh en la distribución del código fuente también compila Fil-C usando musl. Si estás usando el código fuente, también puedes:

  • ./build_all_fast_glibc.sh - compila una configuración similar pero con glibc 2.40 como la libc.

  • ./build_all.sh - compilación completa basada en musl (también compila mucho software que fue portado a Fil-C).

  • ./build_all_glibc.sh - compilación completa basada en glibc (compila aún más software que fue portado a Fil-C).

  • cd pizlix && sudo ./build.sh - compila la distribución Linux Pizlix.

  • cd optfil && sudo ./build.sh - compila la distribución /opt/fil.

Cosas que funcionan

Muchos paquetes de software funcionan en Fil-C con cambios nulos o mínimos, incluyendo grandes como openssl, CPython, SQLite y muchos otros. Fil-C es lo suficientemente potente como para soportar un userland Linux completamente seguro en memoria.

Fil-C tiene soporte completo para C y C++ además de casi todas las extensiones que soporta clang 20. Fil-C tiene un excelente soporte para atómicos e intrínsecos SIMD, por ejemplo.

Fil-C detecta todas las cosas que hacen difícil la seguridad de memoria en C, como:

  • Fuera de límites en el heap o la pila.

  • Use-after free (también en heap o pila).

  • Confusión de tipos entre punteros y no punteros.

  • Errores de tipo que surgen del enlazado.

  • Errores de tipo que surgen del mal uso de va_lists.

  • Condiciones de carrera de punteros.

  • Llamadas al sistema. Todos los búferes pasados a llamadas al sistema se verifican en cuanto a límites y tipo.

  • Muchas otras cosas.

Fil-C viene con una libc POSIX razonablemente completa e incluso soporta características complicadas como hilos, manejo de señales, mmap/munmap, longjmp/setjmp, y excepciones de C++.

Aprende más

Puedes aprender más sobre Fil-C visitando el sitio web.

También puedes enviarme un correo electrónico: [email protected]

Sígueme en Twitter.

Reporta problemas en GH.

Descargar herramienta