Lekssays/codebadger

๐Ÿฆก codebadger๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ MCP ์„œ๋ฒ„๋กœ, Joern ์ฝ”๋“œ ์†์„ฑ ๊ทธ๋ž˜ํ”„(CPG)๋ฅผ ํ†ตํ•ด AI ์—์ด์ „ํŠธ์™€ LLM์ด ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ๊นŠ์ด ์žˆ๊ฒŒ ์ ‘๊ทผํ•˜๊ณ  ์งˆ์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

codebadger๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๐Ÿฆก codebadger๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ Model Context Protocol (MCP) ์„œ๋ฒ„๋กœ, AI ์—์ด์ „ํŠธ(์˜ˆ: Claude, Cursor, Codex)์™€ LLM์ด Joern ์ฝ”๋“œ ์†์„ฑ ๊ทธ๋ž˜ํ”„(CPG)๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ, ๋ฐ์ดํ„ฐ ํ๋ฆ„, ์ข…์†์„ฑ ๋“ฑ์„ ๊นŠ์ด ์žˆ๊ฒŒ ํƒ์ƒ‰ํ•˜๊ณ  ์งˆ์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ฌ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ด€๊ณ„, ์ทจ์•ฝ์  ํŒจํ„ด, ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ ๋“ฑ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆํ™”๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋ณ„๋„์˜ ๋ณต์žกํ•œ ์„ค์น˜ ์—†์ด ์†์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ‘œ์ค€ MCP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด AI ๋น„์„œ๊ฐ€ SQL๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์งˆ์˜ํ•˜์—ฌ ์ •์  ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒ~Claude Code~Codex CLI~Cursor
npx skills add Lekssays/codebadger

Installed? Explore more ์—ฐ๊ตฌ & ๋ฐ์ดํ„ฐ ๋ถ„์„ skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review ยท View all 6 โ†’

์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ

์ด ์—์ด์ „ํŠธ ์Šคํ‚ฌ์ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์ƒˆ ์ฑ„ํŒ…์„ ์—ฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ

codebadger์€(๋Š”) ๋ฌด์—‡์„ ํ•˜๋‚˜์š”?

๐Ÿฆก codebadger๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ Model Context Protocol (MCP) ์„œ๋ฒ„๋กœ, AI ์—์ด์ „ํŠธ์™€ LLM์ด Joern ์ฝ”๋“œ ์†์„ฑ ๊ทธ๋ž˜ํ”„(CPG)๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ๊นŠ์ด ์žˆ๊ฒŒ ์ ‘๊ทผํ•˜๊ณ  ์งˆ์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ

  • CPG ๊ธฐ๋ฐ˜ ์งˆ์˜: ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ(AST), ์ œ์–ด ํ๋ฆ„ ๊ทธ๋ž˜ํ”„(CFG), ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„(DDG) ๋“ฑ์„ SQL๊ณผ ์œ ์‚ฌํ•œ ์ฟผ๋ฆฌ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ทจ์•ฝ์  ๋ถ„์„: Joern์˜ ๊ฐ•๋ ฅํ•œ ์ •์  ๋ถ„์„ ์—”์ง„์„ ํ™œ์šฉํ•˜์—ฌ ๋ณด์•ˆ ์ทจ์•ฝ์  ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๊ณ  ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆํ™”๋œ ๋ฐฐํฌ: Docker ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋กœ์ปฌ ํ™˜๊ฒฝ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • MCP ํ”„๋กœํ† ์ฝœ ์ง€์›: Claude Code, Cursor, Codex ๋“ฑ MCP๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  AI ์—์ด์ „ํŠธ์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ์‹œ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์งˆ๋ฌธ์„ AI ์—์ด์ „ํŠธ์—๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • "์ด ํ”„๋กœ์ ํŠธ์—์„œ ํŠน์ • ํ•จ์ˆ˜ processData๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“  ์œ„์น˜๋ฅผ ์ฐพ์•„์ค˜."
  • "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์ด ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ซํžˆ์ง€ ์•Š๋Š” ์ฝ”๋“œ ๊ฒฝ๋กœ๋ฅผ ๋ถ„์„ํ•ด์ค˜."
  • "๋ชจ๋“ˆ A์™€ ๋ชจ๋“ˆ B ์‚ฌ์ด์˜ ๋ชจ๋“  ์˜์กด์„ฑ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐํ™”ํ•ด์ค˜."

์‹œ์ž‘ํ•˜๊ธฐ

ํ•„์ˆ˜ ์กฐ๊ฑด

  • Docker
  • MCP๋ฅผ ์ง€์›ํ•˜๋Š” AI ์—์ด์ „ํŠธ (์˜ˆ: Claude Desktop, Cursor)

์„ค์น˜ ๋ฐ ์‹คํ–‰

  1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค:
git clone https://github.com/Lekssays/codebadger.git
cd codebadger
  1. Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:
docker build -t codebadger .
docker run -p 8080:8080 -v /path/to/your/codebase:/workspace codebadger
  1. AI ์—์ด์ „ํŠธ ์„ค์ •์—์„œ MCP ์„œ๋ฒ„ ์—”๋“œํฌ์ธํŠธ๋ฅผ http://localhost:8080/mcp๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช…์„ค๋ช…๊ธฐ๋ณธ๊ฐ’
MCP_PORTMCP ์„œ๋ฒ„ ํฌํŠธ8080
WORKSPACE_PATH๋ถ„์„ํ•  ์ฝ”๋“œ๋ฒ ์ด์Šค ๊ฒฝ๋กœ/workspace
JOERN_OPTSJoern ์—”์ง„ ์ถ”๊ฐ€ ์˜ต์…˜(์—†์Œ)

๋ผ์ด์„ ์Šค

MIT License

์ฐธ๊ณ  ์ž๋ฃŒ

๊ด€๋ จ ์Šคํ‚ฌ