KerberosC/gemini-bug-hunter

๐Ÿ›ก๏ธ Gemini Bug Hunter๋กœ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”. AI ๊ธฐ๋ฐ˜ CLI ๋„๊ตฌ๋กœ AppSec ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

gemini-bug-hunter๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Gemini Bug Hunter๋Š” ๊ฐœ๋ฐœ์ž์™€ ๋ณด์•ˆ ํŒ€์ด ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ž๋™์œผ๋กœ ํƒ์ง€ํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” AI ๊ธฐ๋ฐ˜ CLI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด ์Šคํ‚ฌ์€ Google Gemini์˜ ๊ณ ๊ธ‰ ์–ธ์–ด ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ , SQL ์ธ์ ์…˜, XSS, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ธ์ฆ ํŒจํ„ด ๋“ฑ ์ผ๋ฐ˜์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋˜๋ฉฐ, CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ง€์†์ ์ธ ๋ณด์•ˆ ์ ๊ฒ€์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ์œผ๋กœ๋Š” ์ทจ์•ฝ์  ์Šค์บ”, ์ƒ์„ธ ๋ณด๊ณ ์„œ ์ƒ์„ฑ, ์ž๋™ ์ˆ˜์ • ์ œ์•ˆ ๋ฐ ์ ์šฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด AppSec ์›Œํฌํ”Œ๋กœ๋ฅผ ํฌ๊ฒŒ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒ~Claude Code~Codex CLI~Cursorโœ“Gemini CLI
npx skills add KerberosC/gemini-bug-hunter

Installed? Explore more ์ƒ์‚ฐ์„ฑ & ํ˜‘์—… skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator ยท View all 6 โ†’

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

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

๋ฌธ์„œ

gemini-bug-hunter์€(๋Š”) ๋ฌด์—‡์„ ํ•˜๋‚˜์š”?

๐Ÿ›ก๏ธ Gemini Bug Hunter๋กœ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”. AI ๊ธฐ๋ฐ˜ CLI ๋„๊ตฌ๋กœ AppSec ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

Gemini Bug Hunter๋Š” ์†Œ์Šค ์ฝ”๋“œ์—์„œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ž๋™์œผ๋กœ ์‹๋ณ„ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ CLI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Google Gemini API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ๊ฐœ๋ฐœ์ž์™€ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€์—๊ฒŒ ์›ํ™œํ•œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ์ทจ์•ฝ์  ์Šค์บ”: ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ SQL ์ธ์ ์…˜, XSS, CSRF, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ธ์ฆ, ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ž๊ฒฉ ์ฆ๋ช… ๋“ฑ ๊ด‘๋ฒ”์œ„ํ•œ ๋ณด์•ˆ ๋ฌธ์ œ ๊ฐ์ง€
  • ์ˆ˜์ • ์ œ์•ˆ: ์Šค์บ”๋œ ์ทจ์•ฝ์  ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์ด๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ • ๊ถŒ์žฅ ์‚ฌํ•ญ ์ œ๊ณต
  • ์ž๋™ ํŒจ์น˜: ์„ ํƒํ•œ ์ทจ์•ฝ์ ์— ํŒจ์น˜๋ฅผ ์ž๋™์œผ๋กœ ์ ์šฉํ•˜์—ฌ ์ˆ˜๋™ ์ฝ”๋”ฉ ๋…ธ๋ ฅ ์ ˆ๊ฐ
  • ๋ณด๊ณ ์„œ ์ƒ์„ฑ: ๋ฐœ๊ฒฌ๋œ ์‚ฌํ•ญ๊ณผ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ํฌ๊ด„์ ์ธ Markdown ๋ณด๊ณ ์„œ ์ƒ์„ฑ

์š”๊ตฌ ์‚ฌํ•ญ

  • Node.js (v18 ์ด์ƒ)
  • Google Gemini API ํ‚ค (GEMINI_API_KEY ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์„ค์ •)

์„ค์น˜

npm install -g gemini-bug-hunter

๋˜๋Š”

git clone https://github.com/KerberosC/gemini-bug-hunter.git
cd gemini-bug-hunter
npm install
npm run build

์‚ฌ์šฉ๋ฒ•

๊ธฐ๋ณธ ์Šค์บ”

gemini-bug-hunter scan ./path/to/project

์ž์„ธํ•œ ์ถœ๋ ฅ ํฌํ•จ

gemini-bug-hunter scan ./path/to/project --verbose

๋ณด๊ณ ์„œ ์ƒ์„ฑ

gemini-bug-hunter scan ./path/to/project --report report.md

์ทจ์•ฝ์  ์ž๋™ ์ˆ˜์ •

gemini-bug-hunter fix ./path/to/project --vuln-id VULN-001

๋ชจ๋“  ์ทจ์•ฝ์  ์ž๋™ ์ˆ˜์ •

gemini-bug-hunter fix ./path/to/project --all

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

๋ณ€์ˆ˜์„ค๋ช…ํ•„์ˆ˜
GEMINI_API_KEYGoogle Gemini API ํ‚ค์˜ˆ
GEMINI_MODEL์‚ฌ์šฉํ•  Gemini ๋ชจ๋ธ (๊ธฐ๋ณธ๊ฐ’: gemini-pro)์•„๋‹ˆ์š”

์ง€์›๋˜๋Š” ์–ธ์–ด

  • JavaScript/TypeScript
  • Python
  • Java
  • Go
  • Rust
  • Solidity

๋” ๋งŽ์€ ์–ธ์–ด๊ฐ€ ๊ณง ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค!

CI/CD ํ†ตํ•ฉ

GitHub Actions ์›Œํฌํ”Œ๋กœ ์˜ˆ์‹œ:

name: ๋ณด์•ˆ ์Šค์บ”
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Gemini Bug Hunter ์Šค์บ” ์‹คํ–‰
        run: |
          npm install -g gemini-bug-hunter
          gemini-bug-hunter scan . --report security-report.md
        env:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}

๋ผ์ด์„ ์Šค

MIT

๊ด€๋ จ ์Šคํ‚ฌ