youmuu-analyzer
제가 확인한 youmuu-analyzer는 Kafka로 들어오는 syscall 스트림을 Python으로 분석하고, 별도의 C++ 분석 경로도 함께 둔 보안 탐지 레포입니다.
레포지토리 정보
이 레포는 운영용 Python 파이프라인과 실험용 C++ 파이프라인이 나란히 존재합니다. Python 쪽은 Kafka consume/produce를 중심으로 탐지 결과를 내보내고, C++ 쪽은 src/config.json과 src/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.cpp와src/analyzer.h는 별도의 C++ 분석기 구현을 담고 있고,src/config.json은 Kafka broker와 topic 설정을 제공합니다.
주요 파일
script/analyzer.py- Python 엔트리포인트script/kafka_handler.py- Kafka 소비/생산과 탐지 디스패치script/mining_detector.py- 마이닝 탐지script/spring4shell_detector.py- Spring4Shell 탐지script/scanning_detector.py- 스캐닝 탐지script/shell_execution_detector.py- 셸 실행 탐지기, 현재 경로에서는 비활성script/system_call.py- syscall 모델 정의src/analyzer.cpp- C++ 분석기 및 Kafka consumer 구현src/config.json- Kafka 설정src/Makefile-bin/mining_detector빌드 타깃
포트폴리오 메모
제가 보기에는 이 레포는 실시간 탐지 파이프라인과 C++ 실험 경로가 섞여 있으므로, 소개할 때 Python 운영 흐름과 C++ 분석기 흐름을 분리해서 적는 편이 정확합니다. 특히 ShellExecutionDetector는 코드상 존재하지만 현재 처리 루프에서는 빠져 있으므로, 활성 탐지 범위를 과장하지 않는 편이 좋습니다.