Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
agent — 커널 공간에서 실행 파일 수준 접근 정책을 시행하는 eBPF 기반 Linux 에이전트로, LSM 훅을 통해 프로세스를 샌드박싱하고 파일, 네트워크, GPU 접근을 제한합니다. | Kitploit
도구/GitHubGitHub/bomfather/agent
Defensive ToolsContainer SecurityConfiguration AuditingCloud SecurityDevSecOps
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"

이 정책은 signer를 샌드박스화하고, 이 프로세스가 시스템에서 해당 데이터에 접근할 수 있는 유일한 프로세스임을 보장합니다.

policies 섹션에서는 실행 파일 signer가 /secrets/keys 디렉터리와 AWS KMS 엔드포인트에 연결된 IP에 접근할 수 있는 유일한 프로세스라고 정의합니다.

attributes 섹션에서는 실행 파일 signer가 AWS KMS 엔드포인트에만 접근할 수 있고 다른 IP에는 접근할 수 없다고 정의합니다.

이 비교적 단순한 구성에서 우리는 단 10줄짜리 구성만으로 signer 프로세스(실제 환경에서는 더 큰 시스템의 일부일 수 있음)를 상당히 강화할 수 있었습니다.

문서에는 더 실제적인 예제가 몇 가지 더 있습니다: https://docs.bomfather.dev/examples/gpu.

API 키

선택적으로, 에이전트가 탐지한 위반 사항을 내보내고 싶다면 API 키를 포함할 수 있으며, 그러면 에이전트가 위반 사항을 Bomfather 서버로 전송합니다.

하지만 가장 중요한 것은, 이것은 필수가 아니라는 점입니다. API 키가 없어도 에이전트는 동일하게 작동합니다. API 키를 포함하지 않아도 비활성화되는 기능은 없으며, API 키가 포함되지 않으면 어떤 종류의 데이터도 Bomfather 서버로 전송되지 않습니다.

Bomfather 서버를 사용하고 싶다면 [email protected]로 연락해 주세요.

도구 다운로드