
# AI 지식 그래프를 활용해 보안 통제, 정책 및 증거를 하나로 묶기

SaaS 보안이 빠르게 변하는 오늘날, 팀은 수십 개의 프레임워크—[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/), [GDPR](https://gdpr.eu/), 그리고 산업별 표준—를 동시에 관리하면서, 잠재 고객, 감사인, 파트너로부터 끝없는 보안 설문을 받아야 합니다. 중복된 통제, 복제된 정책, 산재된 증거는 **지식 사일로 문제**를 야기해 시간과 비용을 모두 소모합니다.

여기에 **AI‑구동 지식 그래프**가 등장합니다. 서로 다른 컴플라이언스 아티팩트를 살아있는 쿼리 가능한 네트워크로 전환함으로써 조직은 올바른 통제를 자동으로 찾아내고, 정확한 증거를 즉시 가져오며, 설문 답변을 몇 초 만에 생성할 수 있습니다. 본 문서는 개념, 기술적 핵심 블록, 그리고 Procurize 플랫폼에 지식 그래프를 삽입하는 실무 단계를 안내합니다.

---

## 전통적인 접근 방식이 부족한 이유

| 문제점 | 기존 방법 | 숨은 비용 |
|--------|----------|----------|
| 통제 매핑 | 수동 스프레드시트 | 분기당 복제 시간 |
| 증거 검색 | 폴더 검색 + 명명 규칙 | 누락된 문서, 버전 변동 |
| 프레임워크 간 일관성 | 프레임워크별 별도 체크리스트 | 일관되지 않은 답변, 감사 결과 |
| 새로운 표준 확장 | 기존 정책 복사‑붙여넣기 | 인적 오류, 추적성 손실 |

설사 문서 저장소가 견고하더라도 **시맨틱 관계**가 부재하면 팀은 각 프레임워크마다 약간씩 다른 문구로 동일한 질문에 반복적으로 답하게 됩니다. 이는 거래 성사를 지연시키고 신뢰를 저하시키는 비효율적인 피드백 루프를 초래합니다.

---

## AI‑구동 지식 그래프란?

지식 그래프는 **그래프 기반 데이터 모델**로, 엔터티(노드)와 관계(엣지)로 구성됩니다. 컴플라이언스 영역에서 노드는 다음을 나타낼 수 있습니다.

* **보안 통제** (예: “휴지 중 암호화”)
* **정책 문서** (예: “데이터 보존 정책 v3.2”)
* **증거 아티팩트** (예: “AWS KMS 키 회전 로그”)
* **규제 요구사항** (예: “PCI‑DSS 요구사항 3.4”)

AI는 두 가지 핵심 레이어를 추가합니다.

1. **엔터티 추출 및 연결** – 대형 언어 모델(LLM)이 원시 정책 텍스트, 클라우드 구성 파일, 감사 로그를 스캔해 노드를 자동 생성하고 관계를 제안합니다.  
2. **시맨틱 추론** – 그래프 신경망(GNN)이 누락된 링크를 추론하고, 모순을 감지하며, 표준이 변경될 때 업데이트를 제안합니다.

그 결과 **실시간으로 진화하는 지도**가 만들어지며, 새로운 정책이나 증거가 업로드될 때마다 즉시 컨텍스트‑인식된 답변을 제공할 수 있습니다.

---

## 핵심 아키텍처 개요

아래는 Procurize 내에서 지식 그래프 기반 컴플라이언스 엔진을 나타낸 고수준 Mermaid 다이어그램입니다.

```mermaid
graph LR
    A["Raw Source Files"] -->|LLM Extraction| B["Entity Extraction Service"]
    B --> C["Graph Ingestion Layer"]
    C --> D["Neo4j Knowledge Graph"]
    D --> E["Semantic Reasoning Engine"]
    E --> F["Query API"]
    F --> G["Procurize UI"]
    G --> H["Automated Questionnaire Generator"]
    style D fill:#e8f4ff,stroke:#005b96,stroke-width:2px
    style E fill:#f0fff0,stroke:#2a7d2a,stroke-width:2px
```

* **Raw Source Files** – 정책, 코드 형태의 구성, 로그 아카이브, 기존 설문 응답.  
* **Entity Extraction Service** – LLM 기반 파이프라인으로 통제, 참조, 증거를 태깅.  
* **Graph Ingestion Layer** – 추출된 엔터티를 노드·엣지로 변환하고 버전 관리.  
* **Neo4j Knowledge Graph** – ACID 보장과 네이티브 그래프 쿼리 언어(Cypher) 제공.  
* **Semantic Reasoning Engine** – GNN 모델을 적용해 누락된 링크와 충돌 알림을 제시.  
* **Query API** – 실시간 조회를 위한 GraphQL 엔드포인트 공개.  
* **Procurize UI** – 답변 초안 작성 시 연관된 통제와 증거를 시각화.  
* **Automated Questionnaire Generator** – 쿼리 결과를 활용해 보안 설문을 자동으로 채움.

---

## 단계별 구현 가이드

### 1. 모든 컴플라이언스 아티팩트 인벤토리 작성

| 아티팩트 유형 | 일반 위치 | 예시 |
|--------------|----------|------|
| 정책 | Confluence, Git | `security/policies/data-retention.md` |
| 통제 매트릭스 | Excel, Smartsheet | `SOC2_controls.xlsx` |
| 증거 | S3 버킷, 내부 드라이브 | `evidence/aws/kms-rotation-2024.pdf` |
| 과거 설문 | Procurize, Drive | `questionnaires/2023-aws-vendor.csv` |

메타데이터(소유자, 최종 검토일, 버전)는 다운스트림 연결에 필수적입니다.

### 2. 엔터티 추출 서비스 배포

1. **LLM 선택** – OpenAI GPT‑4o, Anthropic Claude 3, 또는 온프레미스 LLaMA.  
2. **프롬프트 엔지니어링** – `entity_type`, `name`, `source_file`, `confidence` 필드를 포함한 JSON을 출력하도록 설계.  
3. **스케줄러 사용** – Airflow 또는 Prefect로 신규·업데이트 파일을 야간에 처리.

> **팁:** 표준 통제명(예: “Access Control – Least Privilege”)을 사전 정의한 *엔터티 사전*을 활용하면 추출 정확도가 크게 향상됩니다.

### 3. Neo4j에 인제스트

```cypher
UNWIND $entities AS e
MERGE (n:Entity {uid: e.id})
SET n.type = e.type,
    n.name = e.name,
    n.source = e.source,
    n.confidence = e.confidence,
    n.last_seen = timestamp()
```

관계도 동시에 생성:

```cypher
MATCH (c:Entity {type:'Control', name:e.control_name}),
      (p:Entity {type:'Policy', name:e.policy_name})
MERGE (c)-[:IMPLEMENTED_BY]->(p)
```

### 4. 시맨틱 추론 추가

* **라벨링된 서브셋**을 사용해 **그래프 신경망**을 학습시켜 `EVIDENCE_FOR`, `ALIGNED_WITH`, `CONFLICTS_WITH` 등 관계를 예측.  
* **야간 작업**으로 고신뢰도 예측을 인간에게 검토하도록 플래그 처리.

### 5. Query API 노출

```graphql
query ControlsForRequirement($reqId: ID!) {
  requirement(id: $reqId) {
    name
    implements {
      ... on Control {
        name
        policies { name }
        evidence { name url }
      }
    }
  }
}
```

UI는 이제 설문 필드를 자동 완성하기 위해 정확한 통제와 연결된 증거를 즉시 조회할 수 있습니다.

### 6. Procurize 설문 빌더와 통합

1. 각 답변 칸 옆에 **“Knowledge Graph Lookup”** 버튼 추가.  
2. 클릭 시 UI가 요구사항 ID를 GraphQL API에 전달.  
3. 결과가 답변 텍스트 박스와 증거 PDF 첨부 파일을 자동으로 채워 넣음.  
4. 필요 시 팀이 편집·주석을 추가하지만 기본 베이스는 몇 초 만에 생성됩니다.

---

## 실제 효과

| 지표 | 지식 그래프 도입 전 | 지식 그래프 도입 후 |
|------|-------------------|-------------------|
| 평균 설문서 처리 시간 | 7일 | 1.2일 |
| 응답당 수동 증거 검색 시간 | 45분 | 3분 |
| 프레임워크 간 중복 정책 수 | 12개 파일 | 3개 파일 |
| 감사 발견 비율(통제 격차) | 8 % | 2 % |

한 중견 SaaS 스타트업은 그래프 도입 후 **보안 검토 사이클 시간이 70 % 감소**했으며, 이는 거래 성사 속도와 파트너 신뢰도 상승으로 직결되었습니다.

---

## 모범 사례 & 주의점

| 모범 사례 | 이유 |
|-----------|------|
| **버전된 노드** – 각 노드에 `valid_from` / `valid_to` 타임스탬프를 유지합니다. | 과거 감사 추적과 규제 변경에 대한 레거시 검증이 가능해집니다. |
| **인간 중심 검토** – 낮은 신뢰도 엣지는 수동 검증을 위해 플래그합니다. | AI 환각으로 인한 잘못된 설문 답변을 방지합니다. |
| **그래프에 접근 제어** – Neo4j에서 역할 기반 권한(RBAC) 사용. | 민감한 증거에 대한 접근을 권한이 있는 인원으로 제한합니다. |
| **지속적인 학습** – 수정된 관계를 GNN 학습 세트에 다시 피드백. | 시간이 지날수록 예측 품질이 향상됩니다. |

**일반적인 함정**

* **LLM 추출에 과도한 의존** – PDF 표에는 표가 포함돼 LLM이 오인식하기 쉬우니 OCR 및 규칙 기반 파서와 병행.  
* **그래프 팽창** – 무분별한 노드 생성은 성능 저하를 초래합니다. 오래된 아티팩트에 대한 정리 정책을 구현.  
* **거버넌스 부재** – 그래프가 “블랙박스”가 되지 않도록 데이터 소유자 모델을 명확히 하고, 컴플라이언스 데이터 스튜어드 역할을 지정.

---

## 미래 방향

1. **조직 간 연합 그래프** – 파트너와 익명화된 통제‑증거 매핑을 공유하면서 프라이버시 보호.  
2. **규제 기반 자동 업데이트** – 공식 표준 개정(예: ISO 27001:2025)을 인제스트하고 추론 엔진이 정책 변경을 자동 제안.  
3. **자연어 쿼리 인터페이스** – 분석가가 “GDPR 제32조를 만족하는 암호화 통제에 대한 모든 증거를 보여줘”라고 입력하면 즉시 결과를 반환.

컴플라이언스를 **네트워크화된 지식 문제**로 다루면 조직은 모든 보안 설문에 대해 민첩성, 정확성, 신뢰성을 획득하게 됩니다.

---

## 참고 자료

- [NIST 사이버보안 프레임워크 – ISO 및 SOC 2 매핑](https://www.nist.gov/cybersecurity-framework)  
- [그래프 신경망을 이용한 지식 그래프 완성 (arXiv)](https://arxiv.org/abs/2003.00764)