
kprotect 是一个内核级安全引擎,旨在保护您的敏感数据免受供应链攻击(例如恶意 Python 或 Node.js 库)。它作为最敏感文件的独立安全层。
*.env、home/user/.ssh/*)在内核级别拦截文件访问。VS Code → Terminal → cat(已授权链)VS Code → Terminal → python script.py → cat(未授权链已被阻止)kprotect 围绕现代系统编程概念构建:
/etc/machine-id)的 HKDF-SHA256 派生。python exploit.py 与 python tool.py)。kprotect 不是验证单个文件,而是验证执行路径:
~/.ssh/id_rsa、.env 文件、浏览器 cookies)被指定为受保护路径。bprm_committed_creds、file_open)实现接近零开销且防绕过的保护。


python safe_script.py 和 python malicious_script.py。VS Code → Terminal → deploy.sh)以安全地自动绕过 sudo 密码提示,而无需在 /etc/sudoers 中使用宽泛的 NOPASSWD 规则。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 由两个主要组件组成,应按顺序安装:
lsm=lockdown,yama,apparmor,bpf 包含 bpf。您可以使用 cat /sys/kernel/security/lsm 进行检查。首先安装守护进程以启用内核级保护:
# Install the core debian package
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb
安装程序将自动设置 systemd 服务。
安装 GUI 以获得可视化管理体验:
# Install the GUI package
sudo apt install ./kprotect-ui/src-tauri/target/release/bundle/deb/kprotect-ui_0.2.0-beta_amd64.deb
首次安装后请重新启动计算机。
kprotect 需要从系统启动时就开始跟踪进程继承链。在守护进程安装之前启动的进程将被标记为“无链”,无法准确授权。
如果您自己构建项目,请使用附带的辅助脚本:
# Build the Core (Daemon & CLI)
./scripts/build_deb.sh
# Build the Desktop GUI
./scripts/build_gui.sh
虽然推荐使用 GUI,但您也可以通过 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:内核中的“大脑”。使用 aya 的高性能类 C Rust 代码。kprotect-daemon:中央枢纽。管理 eBPF 生命周期、加密和状态。kprotect-cli:轻量级交互工具。kprotect-ui:使用 Tauri + React + Vite + TailwindCSS 构建的桌面 UI。kprotect-common:共享数据结构和协议定义。如果您觉得 kprotect 有用并想支持其开发,请考虑请我喝杯咖啡!您的支持帮助我投入更多时间改进 kprotect、添加新功能和维护项目。
每一份贡献,无论大小,都深受感激,并激励我继续为 Linux 社区构建更好的安全工具。谢谢!🙏
本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。详情请参阅 LICENSE 文件。
由 khoinp1012 开发