데이터 엔지니어 · AI 엔지니어를 위한 핵심 요약
Wiz는 클라우드 네이티브 애플리케이션 보호 플랫폼(CNAPP)으로, 에이전트리스(agentless) 방식으로 클라우드 인프라 전반의 취약점, 구성 오류, 권한 위험, 그리고 데이터 위협을 통합 탐지합니다. CSPM, CIEM, CWPP, KSPM 기능을 하나의 플랫폼으로 제공하며, AI 기반 그래프 분석을 통해 위험을 컨텍스트 중심으로 평가합니다.
클라우드 API를 통해 VM, 컨테이너, 서버리스 함수를 스캔. 에이전트 설치 없이 전체 인벤토리 가시성 확보.
클라우드 리소스 간 연결 관계를 그래프로 모델링하여 실제 공격 경로와 위험도를 컨텍스트 기반으로 산출.
취약점, 구성 오류, 과도한 권한 등을 통합 분석하여 가장 위험한 문제부터 해결할 수 있도록 우선순위 제공.
기존 클라우드 보안 도구 대비 Wiz의 차별점은 통합성과 컨텍스트 기반 위험 평가입니다. 아래 비교표를 참고하세요.
| 기능 | Wiz | Prisma Cloud | CrowdStrike Falcon | Aqua Security |
|---|---|---|---|---|
| 에이전트리스 스캔 | ✅ 기본 | ✅ (일부) | ❌ (에이전트 필요) | ✅ (하이브리드) |
| 그래프 기반 위험 분석 | ✅ 핵심 | ❌ | ❌ | ❌ |
| CSPM + CIEM + CWPP | ✅ 통합 | ✅ (모듈형) | ❌ (CWPP 중심) | ✅ (CWPP + CSPM) |
| AI/ML 기반 우선순위 | ✅ 강력 | ✅ 보통 | ✅ (엔드포인트) | ✅ 보통 |
| 멀티 클라우드 지원 | AWS, Azure, GCP, OCI, Alibaba | AWS, Azure, GCP | AWS, Azure, GCP | AWS, Azure, GCP |
Wiz의 아키텍처는 에이전트리스 스캐너, 클라우드 API 통합, 그래프 데이터베이스, 그리고 위험 엔진으로 구성됩니다. 아래 다이어그램은 데이터 흐름을 단순화한 것입니다.
Wiz CLI와 Python SDK를 사용하여 첫 번째 취약점 스캔을 실행해보겠습니다.
# Wiz CLI 설치 (macOS/Linux)
curl -sSL https://cli.wiz.io/install.sh | bash
# Python SDK 설치
pip install wiz-sdk
Wiz 콘솔에서 API 클라이언트를 생성하고 환경 변수를 설정합니다.
# 환경 변수 설정
export WIZ_CLIENT_ID="your-client-id"
export WIZ_CLIENT_SECRET="your-client-secret"
export WIZ_API_URL="https://api.us1.wiz.io" # 리전에 따라 변경
# CLI 로그인 (자동)
wiz login
import os
from wiz_sdk import WizClient
client = WizClient(
client_id=os.environ["WIZ_CLIENT_ID"],
client_secret=os.environ["WIZ_CLIENT_SECRET"],
api_url=os.environ["WIZ_API_URL"]
)
# 취약점 쿼리 (GraphQL)
query = """
query {
vulnerabilities(first: 5) {
nodes {
id
severity
title
affectedResource { name }
}
}
}
"""
result = client.query(query)
for vuln in result["data"]["vulnerabilities"]["nodes"]:
print(f"[{vuln['severity']}] {vuln['title']} - {vuln['affectedResource']['name']}")
Wiz Connector 및 스캔 정책 설정 시 자주 사용되는 파라미터입니다.
| 설정 항목 | 설명 | 기본값 | 권장값 |
|---|---|---|---|
scan_schedule |
전체 계정 스캔 주기 | 24h | 12h (민감 환경) |
excluded_tags |
스캔 제외 리소스 태그 | [] | ["wiz:exclude=true"] |
max_concurrent_scans |
동시 스캔 가능한 계정 수 | 5 | 10 (대규모 환경) |
risk_threshold |
알림 생성 위험 점수 임계값 | 70 | 50 (엄격) |
graph_depth |
공격 경로 분석 깊이 (홉 수) | 3 | 5 (심층 분석) |
excluded_tags를 활용하면 개발/테스트 환경을 스캔에서 제외하여 비용과 노이즈를 줄일 수 있습니다.
| 문제 | 원인 | 해결책 |
|---|---|---|
| 스캔 결과가 비어 있음 | IAM 역할에 필요한 권한 누락 | ReadOnlyAccess + SecurityAudit 정책 연결 확인 |
| API 호출 시 401 오류 | Client ID/Secret 만료 또는 잘못된 리전 URL | Wiz 콘솔에서 API 키 재발급, WIZ_API_URL 확인 |
| 그래프 분석이 너무 느림 | 리소스 수가 많거나 graph_depth가 큼 | graph_depth를 3으로 낮추고, 필터 조건 추가 |
| 취약점 우선순위가 비현실적 | 비즈니스 컨텍스트 미반영 | Wiz Tags로 중요 리소스 표시, Risk Engine 커스텀 규칙 설정 |