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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
linnix — eBPF 기반 Linux 관측 가능성 및 AI 인시던트 탐지. AGPL-3.0 라이선스. | Kitploit
도구/GitHubGitHub/linnix-os/linnix
Cloud Infrastructure SecurityContainer SecurityDevSecOpsThreat IntelligenceIncident ResponseAI SecurityAnomaly DetectionLog Analysis
GitHublinnix-os/linnix

linnix

eBPF 기반 Linux 관측 가능성 및 AI 인시던트 탐지. AGPL-3.0 라이선스.

저장소 보기
24915321시간 3분 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Linnix

SLO를 해치고 있는 프로세스를 찾아보세요 — CPU를 누가 쓰는지가 아니라, 누가 지연(stall)을 일으키는지까지.

CI License DOI


문제

top은 CPU 80%를 보여줍니다. Prometheus는 높은 지연 시간을 보여줍니다. 하지만 실제로 결제 서비스를 지연시키는 *포드(pod)*는 어느 것일까요?

Linnix는 eBPF + **PSI(Pressure Stall Information)**를 사용하여 이 질문에 답합니다. PSI는 실제 지연 시간을 측정합니다 — 사용량이 아닌 경합(contention)을 측정합니다. CPU 40%를 사용하면서 PSI 60%인 포드는 CPU 100%에 PSI 5%인 포드보다 더 나쁩니다.

Linnix가 감지하는 것:

  • 노이시 네이버(Noisy Neighbors): 다른 컨테이너를 굶기는 컨테이너
  • 포크 스톰(Fork Storms): 노드를 크래시시키기 전의 통제 불능 프로세스 생성
  • 지연 귀속(Stall Attribution): "Pod X가 Pod Y에 300ms 지연을 유발함"
  • PSI 포화(Saturation): top에 나타나지 않는 CPU/IO/메모리 압력

[!IMPORTANT] 기본적으로 모니터링 전용입니다. Linnix는 감지하고 보고만 합니다 — 명시적인 구성 없이는 어떤 조치도 취하지 않습니다.

🔒 보안 및 개인정보

  • 보안 정책: 보안 모델, 필요한 권한, 취약점 신고 프로세스
  • 안전 보장: "모니터 우선(Monitor-First)" 아키텍처와 안전 제어 이해
  • 아키텍처 개요: 보안 검토를 위한 시스템 다이어그램 및 데이터 흐름

핵심 약속: 모든 분석은 로컬에서 수행됩니다. Slack 알림을 명시적으로 구성하지 않는 한 어떤 데이터도 인프라를 떠나지 않습니다. 데이터 개인정보 보호 자세히 보기 →


빠른 시작 (Kubernetes)

Linnix를 DaemonSet으로 배포하여 클러스터를 모니터링하세요.

root@kitploit:~
# Apply the manifests
kubectl apply -f k8s/

API 접근:

root@kitploit:~
kubectl port-forward daemonset/linnix-agent 3000:3000
# API available at http://localhost:3000
# Stream events: curl http://localhost:3000/stream

빠른 시작 (Docker)

30초 만에 로컬 머신에서 시도해 보세요.

root@kitploit:~
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh

작동 방식

  1. 수집기(Collector, eBPF): 커널에 위치하여 fork, exec, exit, 스케줄러 이벤트를 1% 미만의 오버헤드로 관찰합니다.
  2. 추론 엔진(Reasoning Engine): 신호(PSI + CPU + 프로세스 트리)를 집계하여 장애 패턴을 감지합니다.
  3. 트라이지 어시스턴트(Triage Assistant): 임계값을 초과하면 Linnix는 시스템 상태를 캡처하고 근본 원인을 설명합니다.

지원되는 감지 유형


안전 및 아키텍처

Linnix는 프로덕션 안전을 위해 설계되었습니다.

  • 모니터 우선(Monitor-First): 강제 실행 기능은 옵트인 방식이며 명시적인 구성이 필요합니다.
  • 낮은 오버헤드: /proc 폴링이 아닌 eBPF perf 버퍼를 사용합니다.
  • 권한 격리: 베어메탈에서 CAP_BPF 및 CAP_PERFMON으로 실행할 수 있습니다. Kubernetes DaemonSet은 단순성을 위해 현재 권한 모드(privileged mode)를 사용합니다.

자세한 안전 모델은 SAFETY.md를 참조하세요.


Kubernetes 기능

Linnix는 일급(first-class) Kubernetes 지원을 제공합니다:

  • Pod 귀속(Pod Attribution): 모든 프로세스 이벤트는 pod_name, namespace, container_id로 태그됩니다.
  • 네임스페이스 인식(Namespace Awareness): 네임스페이스별 필터링 및 쿼리
  • PSI 기여도 추적: 시스템 전체 PSI 압력에 기여한 포드 확인
  • cgroup 통합: 컨테이너 수준 집계를 위해 프로세스를 cgroup에 매핑
root@kitploit:~
# Example: Get processes causing stalls in the payments namespace
curl "http://localhost:3000/processes?namespace=payments&sort=psi_contribution"

상거래 / 온체인 정산

Linnix는 ERC-20 스테이블코인을 통해 에이전트 간 작업을 온체인에서 정산하는 신뢰 불필요(trustless) 결제 레이어(Linnix-Claw)를 포함합니다. 한 에이전트가 다른 에이전트에게 작업을 위임하면, 텔레메트리 증명이 포함된 서명된 영수증이라는 결과물이 TaskSettlement 스마트 계약에 제출되어 지급자(payer)에서 수취자(payee)로 직접 결제가 이루어집니다.

아키텍처

root@kitploit:~
Agent A (payer)                    Agent B (payee)
   │  createTask(taskId, payeeDID, maxAmount)
   │──────────────────────────────────▶│
   │                                   │ ← does work, captures eBPF telemetry
   │    submitReceipt(taskId, amount, receipt, sig)
   │◀──────────────────────────────────│
   │                                   │
   └──── TaskSettlement.sol ─── ERC-20 transfer ──▶ payee

주요 계약 (Base Sepolia 테스트넷):

계약주소
AgentRegistry0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3
TaskSettlement0x60eE6872920addF41359625B47A07401496bBD5b
StakeBond0xEE31fC610B9b64982990adB3ba228E9dBbfF6a73

구성

linnix.toml에 [chain] 섹션을 추가하세요:

root@kitploit:~
[chain]
enabled = true
rpc_url = "https://sepolia.base.org"
chain_id = 84532
settlement_contract = "0x60eE6872920addF41359625B47A07401496bBD5b"
registry_contract = "0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3"
token_address = "0x036CbD53842c5426634e7929541eC2318f3dCF7e"  # USDC on Base Sepolia
token_decimals = 6

서명자 키는 다음 우선순위로 결정됩니다:

  1. 구성의 chain.private_key
  2. LINNIX_CHAIN_PRIVATE_KEY 환경 변수
  3. 에이전트의 Ed25519 신원에서 파생된 HKDF 기반 secp256k1 키 (기본값 — 구성 불필요)

엔드투엔드 데모

root@kitploit:~
# Deploy contracts to a local Hardhat node
cd linnix-claw-contracts && npx hardhat node &
npx hardhat run scripts/deploy.js --network localhost

# Run the commerce demo
./scripts/demo_commerce_e2e.sh --local

구현 세부 사항은 계약 소스 및 cognitod/src/onchain.rs를 참조하세요.


얼리 어답터

이 프로젝트는 활발히 개발 중입니다. 사용 중이거나 평가 중이라면 이슈를 열거나 [email protected]으로 이메일을 보내주세요.


라이선스

  • 에이전트(cognitod): AGPL-3.0
  • eBPF 수집기: GPL-2.0 또는 MIT (eBPF 프로그램은 커널 로딩을 위해 GPL 호환이어야 합니다)

AGPL을 사용할 수 없는 팀을 위한 상업용 라이선스도 제공됩니다. 자세한 내용은 LICENSE_FAQ.md를 참조하세요.

도구 다운로드
사고 유형감지 로직트라이지 가치
서킷 브레이커(Circuit Breaker)높은 PSI(>40%) + 높은 CPU(>90%)지연을 유발하는 특정 프로세스 트리를 식별합니다.
포크 스톰(Fork Storm)2초 동안 초당 10회 이상의 fork노드를 크래시시키기 전에 통제 불능 스크립트를 포착합니다.
메모리 누수(Memory Leak)지속적인 RSS 증가결국 OOM이 발생할 컨테이너를 표시합니다.
수명이 짧은 작업(Short-lived Jobs)빠른 exec/exit 반복비효율적인 빌드 스크립트 또는 크래시 루프를 식별합니다.