bob-yamong Summary
메인 인덱스 | bob-yamong | GitHub Org
이 문서는 제가 bob-yamong 조직에서 어떤 레포를 먼저 읽고 보여줄지 정리한 우선순위표입니다. 실제 포트폴리오 흐름에서는 이 문서를 먼저 훑은 뒤 개별 레포 노트로 내려갑니다.
TL;DR
이 프로젝트는 Best Of The Best 13기에서 진행한 팀 프로젝트로, eBPF를 이용해 컨테이너를 시스템콜 레벨에서 모니터링하고 제어하는 보안 솔루션을 제작하였습니다. 저는 Docker 기반 POC에서 Kubernetes 운영 구조까지 이어지는 흐름 속에서, 팀 전반의 개발 환경 설정과 테스트 환경 조성, API 규약 설정, CI/CD 파이프라인 구축, 링 버퍼 및 Kafka 데이터 전송 최적화, 컨테이너 식별 방법론 개발, Grafana를 통한 대시보드 시각화를 주도적으로 진행하였으며, 그 외에도 프로젝트 전반에 참여하였습니다. 6명이 4개월을 9명이서 3개월을 추가로 진행하며 프로젝트가 고도화 되고 서비스화 되어가는 과정을 설명할 수 있습니다. 최종적으로 goorm사 내부의 개발환경에서 성공적으로 정책이 적용되어 행위를 탐지, 차단할 수 있음을 확인하였으며 자체 테스트베드에서 구상한 시나리오(측면이동, 내부망 스캐닝, 크립토 마이닝)에 대해 1회성, Rate Limit, SVM 기반으로 어떤 컨테이너에서 행위가 이루어지는지 파악하고 차단할 수 있는지 테스트 완료하였습니다. 이러한 세밀한 모니터링 상황에서 CPU가 90% 이상인 과부하 상황에서 조차 서비스 전반의 응답시간이 5% 미만으로 감소하며 시스템콜 하나 놓치지 않고 모두 로그에 남길 수 있다는 조사결과를 논문으로 작성하여 정보과학회 우수논문 수상 및 KCI 등재하였습니다.(링크) 현재는 프로젝트를 가지고 PM을 필두로 창업하여 계속 발전시켜 나가고 있다고 합니다.(링크)
조직 전체 요약
| 레포지토리 | 설명 우선순위 | 타입 | 주요 기술 |
|---|---|---|---|
| gomumu | 핵심 | 컨테이너 보안 플랫폼 | Go + eBPF + Kubernetes |
| youmuu | 핵심 | 컨테이너 런타임 엔진 | C++ + eBPF + LSM |
| kube-back | 중점 | Kubernetes API 백엔드 | Python + FastAPI |
| policy-web-v2 | 중점 | 정책 관리 프론트엔드 | Next.js + TypeScript |
| yamong-fe-v3 | 중점 | 컨테이너 관리 UI | React + TypeScript + Vite |
| Aws-EKS-IaC | 중점 | 인프라스트럭처 코드 | Terraform + AWS |
| docker-back | 중점 | 정책 백엔드 API | Python + FastAPI |
| container-lifecycle-manager | 보조 | 컨테이너 매니저 | Python |
| kafka-alert | 보조 | Kafka 프로세서 | Python + Kafka |
| youmuu-analyzer | 보조 | 보안 분석기 | Python + C++ |
| youmuu-syslog | 보조 | 로그 수집 에이전트 | C++ + eBPF |
| ebpf-tutorial | 참고 | eBPF 예제 | C + libbpf |
| ebpf-block-test | 참고 | eBPF 테스팅 | C + eBPF |
| faust-tutorials | 참고 | 스트림 프로세싱 | Python + Faust |
| go-lsm | 참고 | Go eBPF 도구 | Go + eBPF |
| ipc-implementation | 참고 | IPC 예제 | Python + C |
| kafka-sink-connect | 보조 | Kafka 커넥터 | Python |
| ML-log-detection | 참고 | ML 파이프라인 | Python + Kafka |
| policy-web | 보조 | 정책 프론트엔드 | Next.js |
| siki | 참고 | 문서 | 문서 |
| yamong-production | 보조 | 마케팅 웹사이트 | React |
| drawio | 참고 | 문서 | 다이어그램 |
| gomumu-web-installer | 참고 | 인스톨러 도구 | Go |
| ldap-tutorial | 참고 | LDAP 튜토리얼 | Docker |
| release-downloader | 참고 | 프록시 서버 | Go |
| youmuu-db | 보조 | 데이터베이스 설정 | PostgreSQL |
| youmuu-deploy | 보조 | 배포 설정 | Docker Compose |
| youmuu-listener | 보조 | 모니터링 에이전트 | Python |
먼저 설명할 레포
1. gomumu
정책 기반 eBPF 컨테이너 런타임 솔루션
- 이유: Kubernetes operator와 eBPF LSM이 같이 붙어 있는 중심 레포입니다.
- 복잡도: 높음 - 정책 엔진, eBPF 프로그램, Kafka 통합이 함께 있는 다층 아키텍처입니다.
- 포인트: 커널 레벨에서 정책을 실시간으로 강제합니다.
- 기술: Go, eBPF, Kubernetes, Kafka, LSM hooks
- 파일: 92개 소스 파일
- 주요 구성 요소:
- LSM 강제 적용 엔진
- Tracepoint 모니터링
- 정책 매처/피더
- 컨테이너 검색
- 링 버퍼 집계기
2. youmuu
eBPF 기반 컨테이너 런타임 엔진
- 이유: 제가 가장 깊게 설명할 수 있는 C++ eBPF 레포입니다.
- 복잡도: 높음 - LSM + Tracepoint + Raw tracepoint를 모두 다룹니다.
- 포인트: YAML 정책으로 커널 레벨 보안을 강제합니다.
- 기술: C++, eBPF, libbpf, LSM, PostgreSQL
- 파일: 84개 소스 파일
- 주요 구성 요소:
- LSM 강제 적용 프로그램
- Tracepoint 모니터
- Raw tracepoint 핸들러
- 정책 엔진
- 멀티 아키텍처 지원
3. kube-back
Kubernetes 리소스 관리 백엔드
- 이유: 제가 백엔드 구조와 테스트 이야기를 함께 설명할 수 있는 레포입니다.
- 복잡도: 중-고 - K8s 리소스에 대한 전체 CRUD를 다룹니다.
- 포인트: 계층 분리가 비교적 깔끔합니다.
- 기술: Python, FastAPI, SQLAlchemy, Alembic, pytest
- 파일: 66개 소스 파일
- 주요 구성 요소:
- Cluster/Node/Pod/Container API
- 정책 관리
- 로그 집계
- 데이터베이스 마이그레이션
- 테스트 스위트
4. policy-web-v2
정책 관리 대시보드
- 이유: 실시간 상태와 시각화 흐름을 설명할 수 있습니다.
- 복잡도: 중간 - 다중 기능을 가진 현대적 React 프론트엔드입니다.
- 포인트: 실시간 하트비트 스트리밍과 Grafana 통합이 있습니다.
- 기술: Next.js, TypeScript, Tailwind, shadcn/ui
- 파일: 29개 소스 파일
- 주요 구성 요소:
- 시각화가 포함된 대시보드
- 실시간 스트리밍
- Grafana 통합
- 정책 관리 UI
5. yamong-fe-v3
컨테이너 관리 프론트엔드
- 이유: 컨테이너 관리 UI를 설명할 수 있는 React 레포입니다.
- 복잡도: 중간 - 컴포넌트 아키텍처가 비교적 잘 나뉘어 있습니다.
- 포인트: Vite 기반 개발 설정을 사용합니다.
- 기술: React, TypeScript, Vite, Styled Components
- 파일: 80개 소스 파일
- 주요 구성 요소:
- 컨테이너 관리
- 정책 편집
- 서버 관리
- 섹션 기반 네비게이션
식별된 아키텍처 패턴
마이크로서비스/시스템 아키텍처
- gomumu - Kubernetes operator + eBPF 런타임
- youmuu - C++ 보안 엔진
- youmuu-syslog - 로그 수집 에이전트
- youmuu-analyzer - 보안 분석 엔진
백엔드 API
- kube-back - Kubernetes 관리 API
- docker-back - 컨테이너 정책 API
- kafka-alert - 이벤트 프로세싱
프론트엔드 애플리케이션
- policy-web-v2 - 정책 관리 대시보드
- yamong-fe-v3 - 컨테이너 관리 UI
- yamong-production - 마케팅/문서 사이트
인프라스트럭처/DevOps
- Aws-EKS-IaC - Terraform EKS 배포
- youmuu-deploy - Docker Compose 오케스트레이션
기술 스택 요약
eBPF 프로젝트 (6)
- gomumu, youmuu, youmuu-syslog, ebpf-tutorial, ebpf-block-test, go-lsm
Python 백엔드 (6)
- kube-back, docker-back, kafka-alert, kafka-sink-connect, container-lifecycle-manager, youmuu-analyzer
프론트엔드 (4)
- policy-web-v2, yamong-fe-v3, policy-web, yamong-production
Go 프로젝트 (3)
- gomumu, go-lsm, release-downloader
C/C++ 프로젝트 (3)
- youmuu, youmuu-syslog, ebpf-tutorial
인프라스트럭처 (3)
- Aws-EKS-IaC, youmuu-deploy, ldap-tutorial
추천 순서
먼저 읽을 만한 묶음:
- gomumu - eBPF + Kubernetes 전문성 사례
- youmuu - 로우 레벨 C++ eBPF 개발 데모
- kube-back - Kubernetes 백엔드 구조가 드러나는 레포
다음으로 연결하기 좋은 레포: 4. policy-web-v2 - 정책 관리 흐름이 보이는 프론트엔드 5. yamong-fe-v3 - React/TypeScript 기반 UI
지원 프로젝트:
- youmuu-analyzer - 보안 분석
- container-lifecycle-manager - 컨테이너 런타임 내부
- Aws-EKS-IaC - 인프라스트럭처 코드