Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
agent — 基于eBPF的Linux代理,在内核空间强制执行可执行文件级别的访问策略,通过LSM钩子对进程进行沙箱隔离,并限制文件、网络和GPU访问。 | Kitploit
工具/GitHubGitHub/bomfather/agent
防御工具容器安全配置审计云安全DevSecOps
GitHubbomfather/agent

agent

基于eBPF的Linux代理,在内核空间强制执行可执行文件级别的访问策略,通过LSM钩子对进程进行沙箱隔离,并限制文件、网络和GPU访问。

查看仓库
611天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Bomfather Agent

Bomfather Agent 是一个基于 eBPF 的代理,运行在内核空间,根据策略阻止操作。

我们构建这个代理是为了解决现有解决方案中遇到的问题。

  1. 它们设置和使用起来太复杂。
  2. 它们太慢且效率低下。
  3. 即使它们设置简单,也不够安全且/或不够灵活,无法适用于各种用例。

这些要点是我们整个项目的北极星。所有功能和开发都是为了实现这些要点。

请注意,我们尽量避免在此仓库中使用 AI 生成的代码,并且不会接受 AI 生成的 PR。

功能特性

  • 简单易用:你只需要一个启用了 LSM 的内核。安装代理,创建一个 5 到 10 行的策略文件,启动代理,就可以开始了。
  • 默认拒绝所有策略:当应用某项限制时(例如,允许某个进程读取文件),该限制会应用于所有进程,只有白名单中的进程才被允许绕过该限制。
  • 基于可执行文件的策略执行:几乎所有策略都基于可执行文件及其可以访问的资源(例如文件、GPU、网络等)。
  • 快速高效:代理运行在内核空间,使用 eBPF 和 LSM 钩子来执行策略,这比 strace 等用户空间工具高效得多。

先决条件

(这里有一份关于如何在你的系统上启用 LSM 的指南:https://docs.bomfather.dev/prerequisites)

  • Linux 内核 5.18 或更高版本
  • 系统上已启用 LSM

安装

从源码安装

要从源码构建,你需要安装以下工具:

root@kitploit:~
go 1.26 or higher
make
clang
llvm
llvm-14
protobuf-compiler
git

在 Debian/Ubuntu 上,你可以使用以下命令安装非 Go 构建依赖:

root@kitploit:~
apt-get update \
  && apt-get install -y --no-install-recommends \
    clang \
    llvm \
    llvm-14 \
    protobuf-compiler \
  && rm -rf /var/lib/apt/lists/*

然后使用以下命令构建代理:

root@kitploit:~
make

快速开始

如需快速开始,你可以使用以下命令以默认策略运行代理:

root@kitploit:~
sudo ./agent run --config config.yaml

这将使用配置文件中定义的任何策略运行代理。

然后,你可以选择使用以下命令查看代理的状态:

root@kitploit:~
sudo ./agent status --help

status 命令主要用于从代理读取 Prometheus 指标。

如何创建策略

策略是一个 YAML 文件,定义了代理执行的规则。

配置主要由两个部分组成:policies 和 attributes。policies 部分定义了谁被允许访问受保护的资源。policies 部分定义了哪些可执行文件被允许访问受保护的目录或 IP。attributes 定义了可执行文件的边界,因此属性可以使可执行文件仅连接到单个 IP,并阻止其连接到任何其他 IP。

创建策略的方法有很多,因此对于每个功能,我们在文档中都有专门的章节来解释如何为该功能创建策略:https://docs.bomfather.dev/configuration-guide。

但对于快速开始的用例,你可以使用以下策略文件:

root@kitploit:~
policies:
  - executable: "filepath = [absolute-path]/app/signer"
    can_access_dirs:
      - "[absolute-path]/secrets/keys : read"
    is_allowed_to_access_ip:
      - "kms.us-east-1.amazonaws.com:443"

attributes:
  - path: "type = executable | filepath = [absolute-path]/app/signer"
    can_only_access_ips:
      - "kms.us-east-1.amazonaws.com:443"

此策略允许我们对签名器进行沙箱隔离,并确保它是系统上唯一可以访问该数据的进程。

在 policies 部分,我们定义可执行文件签名器是唯一被允许访问 /secrets/keys 目录以及与 AWS KMS 端点关联的 IP 的进程。

在 attributes 部分,我们定义可执行文件签名器仅被允许访问 AWS KMS 端点,不允许访问任何其他 IP。

在这个相对简单的配置中,我们能够显著加固我们的签名器进程(在现实世界中,它可能是更大系统的一部分),而配置只有 10 行。

文档中还有几个更贴近实际的示例:https://docs.bomfather.dev/examples/gpu。

API 密钥

可选地,如果你想要导出代理检测到的违规行为,你可以包含一个 API 密钥,代理会将违规行为发送到 Bomfather 服务器。

但最重要的是,这不是强制性的,没有它代理仍会以相同方式运行。如果你不包含 API 密钥,不会禁用任何功能,并且如果未包含 API 密钥,不会向 Bomfather 服务器发送任何类型的数据。

如果你确实想使用 Bomfather 服务器,请通过 [email protected] 联系我们。

下载工具