Lekssays/codebadger
요약
codebadger는 Joern CPG를 활용하여 AI 에이전트에게 코드 구조와 데이터 흐름에 대한 쿼리 권한을 제공하는 MCP 서버입니다. 다양한 언어를 지원하며 프로그램 분석 및 보안 취약점 탐색을 위한 범용 기반을 제공합니다.
핵심 포인트
- MCP 서버를 통해 LLM에 코드 데이터 흐름 및 구조 제공
- CPGQL 쿼리를 통한 데이터 흐름 및 오염 추적 지원
- Java, Python, C/C++ 등 광범위한 프로그래밍 언어 지원
- ICSE 2026 워크숍에 채택된 연구 기반 기술
codebadger는 Joern Code Property Graphs (CPGs)를 통해 AI 에이전트와 LLM(Large Language Models)에게 코드베이스의 구조 및 데이터 흐름에 대한 깊고 쿼리 가능한 접근 권한을 제공하는 컨테이너화된 Model Context Protocol (MCP) 서버입니다.
Git 저장소, 로컬 경로, 또는 붙여넣은 코드 스니펫을 지정하면 codebadger가 CPG를 구축하고 이를 MCP를 통해 노출합니다. 이를 통해 어시스턴트는 CPGQL 쿼리를 실행하고, 데이터 흐름(data flow) 및 오염(taint)을 추적하며, 프로그램을 슬라이싱(slice)하고, Java, C/C++, JavaScript, Python, Go, Kotlin, C#, Ghidra, Jimple, PHP, Ruby, Swift 전반에 걸쳐 취약점을 탐색할 수 있습니다.
이는 프로그램 분석 (코드 구조, 호출 그래프(call graphs) 및 데이터 흐름 이해)과 취약점 분석 (오염 추적(taint tracking), 버그 탐색 및 PoC 개발) 모두를 위한 범용 기반이며, 학술 연구뿐만 아니라 산업계의 보안 및 엔지니어링 작업에도 유용합니다. 이 시스템은 CPG별 워커 풀(worker pools), 메모리 인식 스케줄링(memory-aware scheduling), 그리고 Postgres/Redis 백엔드를 통해 대규모 분석 배치로 확장할 수 있도록 구축되었습니다.
codebadger와 그 논문인 Bridging Code Property Graphs and Language Models for Program Analysis는 Software Vulnerability Management Workshop @ ICSE 2026에 채택되었습니다. 🎉
개발자나 보안 연구자에게 필요한 모든 것은 **docs/**에 있습니다:
| 문서 | 내용 |
|---|---|
| Installation | 필수 요구 사항 및 5분 내 로컬 설정 |
| ... |
여러분의 의견을 듣고 싶습니다 - TROPHIES.md에 추가할 PR(Pull Request)을 열어주세요 (CVE ID, 프로젝트, 한 줄 설명, 날짜 포함).
@inproceedings{lekssays2026bridging,
title={Bridging Code Property Graphs and Language Models for Program Analysis},
author={Lekssays, Ahmed},
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기