본문 바로가기
Etc2026년 5월 18일5분 읽기

AI 코드 보안 스캔 — Snyk · Semgrep · GitHub Advanced Security 실측

YS
김영삼
조회 566
AI 코드 보안 스캔 — Snyk · Semgrep · GitHub Advanced Security 실측

핵심 요약

2026년 5월 기준 Snyk DeepCode AI, Semgrep Pro Engine, GitHub Advanced Security with Copilot Autofix 셋이 사실상 표준 선택지. 5만 LOC TypeScript/Python 모노레포 실측 결과 GHAS가 거짓양성률에서 우세하나 비용이 높고, Semgrep이 룰 커스터마이즈에서 압도. Snyk는 SCA(의존성)에서 여전히 가장 정확.

1. 무엇을 스캔하는가

SAST(소스 코드 취약점), SCA(써드파티 의존성), Secret(키 누출), IaC(테라폼·k8s) 네 축. 세 도구 모두 네 축 다 한다고 광고하지만 실제 깊이는 다르다.

2. 테스트 대상

TypeScript 32k LOC + Python 18k LOC, 의존성 1,200개, 의도적 취약점 60건 삽입(SQLi 12, XSS 8, SSRF 6, 하드코딩 시크릿 14, prototype pollution 4, 취약 패키지 16).

3. 탐지율 — 정탐 / 거짓양성

도구SAST 탐지SCA 탐지Secret 탐지거짓양성률
Snyk DeepCode23/3016/1611/1412%
Semgrep Pro26/3014/1613/149%
GHAS + Copilot27/3015/1614/145%
Semgrep OSS18/30-10/1422%

GHAS가 SAST와 거짓양성 모두 1위. Snyk SCA는 transitive 의존성 추적이 가장 깊다.

4. AI 룰 — 정말 도움이 되나

Snyk DeepCode AI와 Semgrep Assistant 모두 발견된 취약점에 대해 패치 제안과 설명. GHAS의 Copilot Autofix는 PR에 직접 패치 커밋을 생성. 채택률 측정 결과 Autofix가 38%, Semgrep Assistant 26%, Snyk 21%. 단순 SQLi나 path traversal에선 자동 패치가 거의 동작하지만 SSRF나 비즈니스 로직 결함은 셋 다 무력.

5. CI 통합 — Semgrep 예시

name: semgrep
on: pull_request
jobs:
  semgrep:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: semgrep/semgrep-action@v1
        env:
          SEMGREP_APP_TOKEN: \$SEMGREP_APP_TOKEN
        with:
          config: 'p/owasp-top-ten p/typescript p/python'
          generateSarif: true
      - uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: semgrep.sarif

6. 커스텀 룰 — Semgrep의 진짜 강점

rules:
  - id: no-raw-sql-in-handler
    pattern: |
      \$DB.query("..." + \$USER, ...)
    message: SQL 문자열 연결 금지. ORM 또는 파라미터 바인딩 사용.
    languages: [typescript]
    severity: ERROR
    metadata:
      cwe: CWE-89
      owasp: A03:2021

7. 비용 — 50인 엔지니어 조직

도구가격(연간)비고
Snyk Team$30,000contributing dev 기준
Semgrep Pro$24,000private rules 포함
GHAS$30,000$49/active committer/월
Semgrep OSS$0커스텀 룰 가능, AI 없음

8. 거짓양성 줄이기 — 공통 전략

모든 경고를 차단으로 두면 한 달 안에 팀이 무시 모드로 들어간다. severity ERROR + 신뢰도 HIGH만 차단, 나머지는 information으로 PR 코멘트. 새 코드 라인에서만 평가하는 diff-aware 모드는 셋 다 지원. 레거시 대규모 코드베이스 도입시 필수.

9. 실전 권장 조합

SCA는 Snyk나 GHAS Dependabot 중 하나로 통일. SAST는 Semgrep Pro로 커스텀 룰까지 적극 활용. Secret 스캔은 GHAS Push Protection을 켜서 푸시 단계에서 차단. AI Autofix는 GHAS가 가장 안정.

참고

  • semgrep.dev/docs
  • docs.snyk.io
  • docs.github.com/en/code-security/code-scanning

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록