Files
2nd/10_Wiki/Topics/코드_속성_그래프_CPG.md
T
2026-05-02 23:55:09 +09:00

6.2 KiB

category, tags, title, description, last_updated
category tags title description last_updated
Unified
auto-wikified
technical-documentation
코드 속성 그래프 (CPG) 코드 속성 그래프(Code Property Graph, CPG)는 소프트웨어 코드베이스의 취약점을 분석하고 악용 가능성(exploitability)을 파악하는 데 사용되는 분석 모델입니다 [1]. 2026-05-02

코드 속성 그래프 (CPG)

📌 Brief Summary

코드 속성 그래프(Code Property Graph, CPG)는 소프트웨어 코드베이스의 취약점을 분석하고 악용 가능성(exploitability)을 파악하는 데 사용되는 분석 모델입니다 [1]. 정적 보안 스캔 시 발생하는 오탐(false positives)을 줄이고 실제로 악용될 가능성이 가장 높은 위험을 강조하는 데 중점을 둡니다 [1]. 다만 제공된 소스에는 CPG의 구체적인 수학적/구조적 원리에 대한 정보가 부족하여 상세한 기술적 정의를 제공하기는 어렵습니다.

📖 Core Content

소스에 관련 정보가 부족합니다. 제공된 소스에서는 Qwiet AI(구 ShiftLeft)라는 도구가 이 특허받은 코드 속성 그래프(CPG)를 적용하여 코드베이스를 분석한다는 제한적인 내용만 확인됩니다 [1].

  • 악용 가능성 중심의 분석 (Focus on Exploitability): CPG는 단순히 코드의 문법적 오류를 찾는 것을 넘어, 해당 코드가 실제 환경에서 어떻게 남용되거나 공격받을 수 있는지에 대한 맥락(exploitability context)을 파악하는 분석 기법으로 사용됩니다 [1, 2].
  • 오탐 감소 및 핵심 위험 강조: 이 모델을 적용하면 보안 스캔 결과에서 거짓 양성(false positives)의 비율을 줄일 수 있으며, 코드 내에서 가장 위협이 되는 위험 요소들을 선별하여 강조할 수 있습니다 [1].

⚖️ Trade-offs & Caveats

  • 가파른 학습 곡선 (Steeper learning curve): 팀의 특성이나 특정 요구사항에 맞춰 CPG 모델을 커스터마이징(Customization)하여 활용하고자 할 때, 기술적 난이도로 인해 학습 곡선이 높다는 제약이 있습니다 [1, 2].
  • 소스에 관련 정보가 부족하여, 시스템 성능 저하나 구체적 구현 한계 등 추가적인 반대 급부는 확인할 수 없습니다.

🔗 Knowledge Connections

(소스에 CPG와 관련된 정보가 제한적이나, 주어진 문맥을 바탕으로 코드베이스 이해와 연관된 핵심 개념을 연결합니다.)

[구현/활용 도구]

  • Qwiet AI
    • 연결 이유: CPG 기술을 특허받아 코드 분석 시스템에 직접 적용하고 있는 AI 기반 보안 스캐닝 플랫폼입니다 [1, 2].
    • 이 개념을 통해 더 깊게 이해할 수 있는 부분: 코드베이스를 읽고 파악할 때, CPG를 통해 어떻게 악용 가능한 취약점을 찾아내고 자동 수정(AutoFix)으로 연결하는지 파악할 수 있습니다 [1, 2].

[아키텍처/기반 기술]

  • 악용 가능성 (Exploitability)
    • 연결 이유: CPG 모델이 지향하는 가장 핵심적인 분석 목표입니다 [1, 2].
    • 이 개념을 통해 더 깊게 이해할 수 있는 부분: 방대한 코드베이스 내에서 모든 결함을 수정하는 대신, 실질적으로 공격에 노출될 수 있는 코드의 우선순위를 정하는 방법을 이해할 수 있습니다 [1].

Deeper Research Questions

(소스에 관련 정보가 부족하므로, 외부 지식 탐색을 위해 다음과 같은 심층 질문을 제기할 수 있습니다.)

  • CPG는 추상 구문 트리(AST), 제어 흐름 그래프(CFG), 데이터 종속성 그래프 등 기존의 코드 구조 모델들을 어떻게 단일 구조로 융합하고 있는가?
  • 팀이 CPG 모델을 커스터마이징할 때 겪게 되는 구체적인 기술적 장벽(가파른 학습 곡선의 원인)은 무엇이며 이를 완화할 방법은 무엇인가? [1]
  • 기존의 전통적인 정적 애플리케이션 보안 테스트(SAST) 방식과 비교했을 때, CPG 기반 분석이 오탐율을 획기적으로 낮출 수 있는 논리적 메커니즘은 무엇인가? [1]
  • 수백만 줄에 달하는 대규모 모노레포 환경에서 CPG를 구성하고 실시간으로 스캔할 때 발생하는 리소스 병목과 최적화 방안은 무엇인가?
  • Qwiet AI 외에 CPG 기술을 오픈소스로 구현하거나 학술적으로 활용한 다른 코드베이스 분석 사례는 무엇이 있는가?

Practical Application Contexts

  • Implementation: 소스에 관련 정보가 부족합니다. (단, Qwiet AI와 같은 솔루션 내에서 분석 및 익스플로잇 가능성 컨텍스트 엔진으로 구현됨을 알 수 있습니다 [1, 2].)
  • System Design: 소스에 관련 정보가 부족합니다.
  • Operation / Maintenance: 코드베이스를 지속적으로 점검해야 하는 데브옵스 및 유지보수 환경에서 오탐을 줄이고, 공격자가 실제로 남용할 수 있는 위험만 걸러내어 보안 패치 업무의 효율성을 높일 수 있습니다 [1].
  • Learning Path: 개발 및 보안 팀이 CPG의 장점을 100% 활용해 자체 보안 정책을 적용(커스터마이징)하려면, 초기 학습 비용을 감수하고 이를 숙달하기 위한 교육 시간이 배정되어야 합니다 [1, 2].
  • My Project Relevance: 프로젝트의 코드베이스에서 보안 취약점을 리뷰하거나 자동화 도구를 도입할 때, 단순 문자열 및 구문 분석을 넘어 '악용 가능성'을 그래프로 분석해 내는 CPG 기반 솔루션의 도입 가치를 평가 기준으로 삼을 수 있습니다 [1].

Adjacent Topics


Last updated: 2026-05-02