youmuu-analyzer

메인 인덱스 | bob-yamong

제가 확인한 youmuu-analyzer는 Kafka로 들어오는 syscall 스트림을 Python으로 분석하고, 별도의 C++ 분석 경로도 함께 둔 보안 탐지 레포입니다.

레포지토리 정보

이 레포는 운영용 Python 파이프라인과 실험용 C++ 파이프라인이 나란히 존재합니다. Python 쪽은 Kafka consume/produce를 중심으로 탐지 결과를 내보내고, C++ 쪽은 src/config.jsonsrc/Makefile을 바탕으로 bin/mining_detector를 만드는 실험형 경로로 보입니다.

구조와 흐름

  • script/analyzer.py가 환경 변수를 읽고 Kafka 처리기를 시작합니다.
  • script/kafka_handler.py가 Kafka consumer와 producer를 초기화하고 syscall 메시지를 파싱합니다.
  • 활성 탐지기는 MiningDetector, Spring4ShellDetector, ScanningDetector이며, ShellExecutionDetector는 생성되지만 처리 루프에서는 현재 주석 처리되어 있습니다.
  • 탐지 결과는 container_name, pid, timestamp, detection_info를 포함한 payload로 다시 Kafka에 전송됩니다.
  • src/analyzer.cppsrc/analyzer.h는 별도의 C++ 분석기 구현을 담고 있고, src/config.json은 Kafka broker와 topic 설정을 제공합니다.

주요 파일

  1. script/analyzer.py - Python 엔트리포인트
  2. script/kafka_handler.py - Kafka 소비/생산과 탐지 디스패치
  3. script/mining_detector.py - 마이닝 탐지
  4. script/spring4shell_detector.py - Spring4Shell 탐지
  5. script/scanning_detector.py - 스캐닝 탐지
  6. script/shell_execution_detector.py - 셸 실행 탐지기, 현재 경로에서는 비활성
  7. script/system_call.py - syscall 모델 정의
  8. src/analyzer.cpp - C++ 분석기 및 Kafka consumer 구현
  9. src/config.json - Kafka 설정
  10. src/Makefile - bin/mining_detector 빌드 타깃

포트폴리오 메모

제가 보기에는 이 레포는 실시간 탐지 파이프라인과 C++ 실험 경로가 섞여 있으므로, 소개할 때 Python 운영 흐름과 C++ 분석기 흐름을 분리해서 적는 편이 정확합니다. 특히 ShellExecutionDetector는 코드상 존재하지만 현재 처리 루프에서는 빠져 있으므로, 활성 탐지 범위를 과장하지 않는 편이 좋습니다.