
Motor de seguridad a nivel de kernel que utiliza eBPF-LSM para aplicar políticas de acceso a archivos basadas en el linaje de procesos, protegiendo datos sensibles de ataques a la cadena de suministro con una sobrecarga mínima.

kprotect es un motor de seguridad a nivel de kernel diseñado para proteger tus datos sensibles de ataques a la cadena de suministro (como bibliotecas maliciosas de Python o Node.js). Actúa como una capa de seguridad independiente para los archivos más sensibles.
*.env, home/user/.ssh/*).VS Code → Terminal → cat (Cadena autorizada)VS Code → Terminal → python script.py → cat (Cadena no autorizada bloqueada)kprotect está construido en torno a conceptos modernos de programación de sistemas:
/etc/machine-id).python exploit.py vs python tool.py).En lugar de validar archivos individuales, kprotect valida la ruta de ejecución:
~/.ssh/id_rsa, archivos .env, cookies del navegador) se designan como rutas protegidas.bprm_committed_creds, file_open) para una protección con casi cero sobrecarga y resistente a bypass.


python safe_script.py y python malicious_script.py.graph TD
subgraph Kernel Space
LSM[BPF LSM Hooks]
Maps[eBPF Maps: Signatures, Auth, Zones]
end
subgraph Userspace
Daemon[kprotect-daemon]
CLI[kprotect-cli]
GUI[kprotect-gui]
end
LSM -->|Perf Events| Daemon
Daemon -->|Update Maps| Maps
CLI -->|Unix Socket| Daemon
GUI -->|Unix Socket| Daemon
kprotect consta de dos componentes principales que deben instalarse en orden:
lsm=lockdown,yama,apparmor,bpf incluya bpf. Puedes verificar esto con cat /sys/kernel/security/lsm.Instala primero el daemon para habilitar la protección a nivel de kernel:
# Install the core debian package
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb
El instalador configurará automáticamente el servicio systemd.
Instala la GUI para una experiencia de gestión visual:
# Install the GUI package
sudo apt install ./kprotect-ui/src-tauri/target/release/bundle/deb/kprotect-ui_0.2.0-beta_amd64.deb
Por favor, REINICIA tu computadora después de la primera instalación.
kprotect necesita rastrear el linaje de procesos desde el momento en que el sistema arranca. Los procesos iniciados antes de que se instalara el daemon se marcarán como "Sin Cadena" y no podrán ser autorizados con precisión.
Si estás compilando el proyecto tú mismo, usa los scripts auxiliares incluidos:
# Build the Core (Daemon & CLI)
./scripts/build_deb.sh
# Build the Desktop GUI
./scripts/build_gui.sh
Aunque se recomienda la GUI, puedes gestionar todo a través de kprotect-cli:
# Check system and eBPF map capacity
sudo kprotect-cli status
# View live security events
sudo kprotect-cli events --stream
# Authorize a bash-to-cat chain
sudo kprotect-cli authorize add "/usr/bin/bash,/usr/bin/cat" --mode Suffix --description "Dev tools"
# Protect a sensitive file
sudo kprotect-cli zone add red "/home/user/.ssh/id_rsa"
kprotect-ebpf: El "cerebro" en el kernel. Código Rust de alto rendimiento similar a C usando aya.kprotect-daemon: El centro central. Gestiona el ciclo de vida de eBPF, el cifrado y el estado.kprotect-cli: Herramienta de interacción ligera.kprotect-ui: UI de escritorio construida con Tauri + React + Vite + TailwindCSS.kprotect-common: Estructuras de datos compartidas y definiciones de protocolo.Si encuentras útil kprotect y quieres apoyar su desarrollo, ¡considera invitarme un café! Tu apoyo me ayuda a dedicar más tiempo a mejorar kprotect, agregar nuevas funciones y mantener el proyecto.
Cada contribución, por pequeña que sea, es profundamente apreciada y me motiva a seguir creando mejores herramientas de seguridad para la comunidad Linux. ¡Gracias! 🙏
Este proyecto está licenciado bajo la GNU Affero General Public License v3.0 (AGPL-3.0). Consulta el archivo LICENSE para más detalles.
Desarrollado por khoinp1012
VS Code → Terminal → deploy.shsudoNOPASSWD/etc/sudoers