Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
kprotect — 使用eBPF-LSM的内核级安全引擎,基于进程血缘关系强制执行文件访问策略,以极小开销保护敏感数据免受供应链攻击。 | Kitploit
工具/GitHubGitHub/khoinp1012/kprotect
身份验证与授权防御工具权限提升云安全供应链安全入侵检测事件响应
GitHubkhoinp1012/kprotect

kprotect

使用eBPF-LSM的内核级安全引擎,基于进程血缘关系强制执行文件访问策略,以极小开销保护敏感数据免受供应链攻击。

查看仓库
36147个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🛡️ kprotect

kprotect Dashboard

概述

kprotect 是一个内核级安全引擎,旨在保护您的敏感数据免受供应链攻击(例如恶意 Python 或 Node.js 库)。它作为最敏感文件的独立安全层。

  • eBPF-LSM 强制执行:基于路径模式和通配符(例如 *.env、home/user/.ssh/*)在内核级别拦截文件访问。
  • 进程链验证:验证进程链而不仅仅是单个二进制文件。
    • ✅ VS Code → Terminal → cat(已授权链)
    • ❌ VS Code → Terminal → python script.py → cat(未授权链已被阻止)
  • 全面的界面:包括系统守护进程、CLI 工具和桌面 GUI。

核心技术

kprotect 围绕现代系统编程概念构建:

  • 内存安全:后端守护进程使用 Rust 编写,内核钩子利用 eBPF-LSM。
  • 低开销:利用 BPF LSM 钩子避免了传统用户态上下文切换带来的延迟。微基准测试显示影响极小:每个进程产生 +12.8 µs,每次文件打开 +0.53 µs。
  • 进程哈希:实现 FNV-1a 用于在内核空间中对进程继承链进行快速、确定性哈希。
  • 加密存储:状态和日志使用 AES-256-GCM 加密,密钥通过绑定到本地机器(/etc/machine-id)的 HKDF-SHA256 派生。
  • 脚本感知:具有一个富化引擎,用于解析解释器的参数(python exploit.py 与 python tool.py)。
  • 基于进程链的 Sudo(Quick Sudo):一个自定义 PAM 模块提供无密码提权,受特定进程链限制。

执行继承链概念

kprotect 不是验证单个文件,而是验证执行路径:

  1. 继承链追踪:每个进程都有一个独特的签名,该签名由其父进程的签名及其自身的可执行路径派生而来。
  2. 内核空间哈希:使用内核空间中的 FNV-1a 哈希计算签名,创建从 init 进程到叶进程的链。
  3. 红区:敏感位置(例如 ~/.ssh/id_rsa、.env 文件、浏览器 cookies)被指定为受保护路径。
  4. 最小权限:除非 root 进程的特定执行继承链已被明确授权,否则阻止其对红区的访问。

✨ 特性

  • 内核级强制执行:使用 BPF LSM 钩子(bprm_committed_creds、file_open)实现接近零开销且防绕过的保护。
  • 加密配置:所有策略、授权和日志在静态状态下使用 AES-256-GCM 加密,密钥由硬件绑定或系统特定的秘密提供。
  • 丰富的可观测性:
    • 实时信息流:实时监控进程创建、终止和被阻止的访问尝试。 实时事件流
    • 审计日志:所有安全关键操作的防篡改日志。 事件通知
  • 多种接口:
    • kprotect-daemon:作为 systemd 服务运行的核心引擎。
    • kprotect-cli:直接命令行管理。
    • kprotect-gui:使用 Tauri 和 React 构建的现代、流畅的桌面应用程序。 授权模式
  • 动态富化:捕获解释器(Python、Node、Bash)的进程参数,以区分 python safe_script.py 和 python malicious_script.py。
  • Quick Sudo(进程链认证):配置复杂的继承链(例如 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 由两个主要组件组成,应按顺序安装:

  1. kprotect 核心:后台守护进程和 CLI 工具(内核交互)。
  2. kprotect GUI:用于管理的桌面仪表板。

🛠️ 安装与设置

1. 前提条件

  • Linux 内核 5.10+ 且支持 BPF LSM。
  • 内核参数:确保 lsm=lockdown,yama,apparmor,bpf 包含 bpf。您可以使用 cat /sys/kernel/security/lsm 进行检查。

2. 核心引擎安装(必需)

首先安装守护进程以启用内核级保护:

# Install the core debian package
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb

安装程序将自动设置 systemd 服务。

3. 桌面 GUI 安装(可选)

安装 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

⌨️ 基本 CLI 用法

虽然推荐使用 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、添加新功能和维护项目。

ko-fi

每一份贡献,无论大小,都深受感激,并激励我继续为 Linux 社区构建更好的安全工具。谢谢!🙏


📝 许可证

本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。详情请参阅 LICENSE 文件。


由 khoinp1012 开发

下载工具