
kubescape v4.0.11
오픈 소스 Kubernetes 보안 플랫폼으로, 전체 개발 수명 주기 동안 NSA, MITRE 및 CIS 벤치마크에 따라 클러스터, 매니페스트 및 이미지를 스캔하여 잘못된 구성, 취약성 및 규정 준수를 확인합니다.
Kubescape
개발부터 런타임까지 포괄적인 Kubernetes 보안
Kubescape은 오픈소스 Kubernetes 보안 플랫폼으로, 전체 개발 및 배포 수명 주기에 걸쳐 왼쪽에서 오른쪽으로 포괄적인 보안 커버리지를 제공합니다. 하드닝, 포스처 관리 및 런타임 보안 기능을 통해 Kubernetes 환경에 대한 강력한 보호를 보장합니다.
Kubescape은 ARMO에서 만들었으며 Cloud Native Computing Foundation (CNCF) 인큐베이팅 프로젝트입니다.
Kubescape의 지속적인 개발 및 개선을 위해 저장소에 별표 ⭐를 눌러주세요!
📑 목차
✨ 기능
| 기능 | 설명 |
|---|---|
| 🔍 설정 오류 스캔 | NSA-CISA, MITRE ATT&CK® 및 CIS Benchmark에 대해 클러스터, YAML 파일 및 Helm 차트 스캔 |
| 🐳 이미지 취약점 스캔 | Grype를 사용하여 컨테이너 이미지에서 CVE 탐지 |
| 🩹 이미지 패치 | Copacetic을 사용하여 취약한 이미지 자동 패치 |
| 🔧 자동 수정 | Kubernetes 매니페스트에서 설정 오류 자동 수정 |
| 🛡️ 승인 제어 | Validating Admission Policy (VAP)로 보안 정책 적용 |
| 📊 런타임 보안 | Inspektor Gadget 기반 eBPF 런타임 모니터링 |
| 🤖 AI 통합 | AI 어시스턴트 통합을 위한 MCP 서버 |
🎬 데모
🚀 빠른 시작
1. Kubescape 설치
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
💡 자세한 옵션(Homebrew, Krew, Windows 등)은 설치를 참조하세요.
2. 첫 번째 스캔 실행
# 현재 클러스터 스캔
kubescape scan
# 특정 YAML 파일 또는 디렉터리 스캔
kubescape scan /path/to/manifests/
# 컨테이너 이미지 취약점 스캔
kubescape scan image nginx:latest
3. 결과 살펴보기
Kubescape은 다음과 같은 상세 보안 포스처 개요를 제공합니다.
- 컨트롤 플레인 보안 상태
- 접근 제어 위험
- 워크로드 설정 오류
- 네트워크 정책 격차
- 규정 준수 점수 (MITRE, NSA)
📦 설치
한 줄 설치 (Linux/macOS)
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
패키지 관리자
| 플랫폼 | 명령어 |
|---|---|
| Homebrew | brew install kubescape |
| Krew | kubectl krew install kubescape |
| Arch Linux | yay -S kubescape |
| Ubuntu | sudo add-apt-repository ppa:kubescape/kubescape && sudo apt install kubescape |
| NixOS | nix-shell -p kubescape |
| Chocolatey | choco install kubescape |
| Scoop | scoop install kubescape |
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/kubescape/kubescape/master/install.ps1 | iex
🛠️ CLI 명령어
Kubescape은 다음과 같은 포괄적인 CLI 명령어를 제공합니다:
| 명령어 | 설명 |
|---|---|
kubescape scan | 보안 문제에 대해 클러스터, 파일 또는 이미지 스캔 |
kubescape scan image | 컨테이너 이미지 취약점 스캔 |
kubescape fix | 매니페스트 파일의 설정 오류 자동 수정 |
kubescape patch | 컨테이너 이미지 패치로 취약점 수정 |
kubescape list | 사용 가능한 프레임워크 및 컨트롤 목록 표시 |
kubescape download | 오프라인/에어갭 환경에서 사용할 아티팩트 다운로드 |
kubescape config | 캐시된 구성 관리 |
kubescape operator | 클러스터 내 Kubescape operator와 상호 작용 |
kubescape vap | Validating Admission Policy 관리 |
kubescape mcpserver | AI 어시스턴트 통합을 위한 MCP 서버 시작 |
kubescape completion | 셸 완성 스크립트 생성 |
kubescape version | 버전 정보 표시 |
📖 사용 예제
스캐닝
실행 중인 클러스터 스캔
# 기본 스캔 (모든 프레임워크)
kubescape scan
# 특정 프레임워크로 스캔
kubescape scan framework nsa
kubescape scan framework mitre
kubescape scan framework cis-v1.23-t1.0.1
# 특정 컨트롤 스캔
kubescape scan control C-0005 -v
파일 및 저장소 스캔
# 로컬 YAML 파일 스캔
kubescape scan /path/to/manifests/
# Helm 차트 스캔
kubescape scan /path/to/helm/chart/
# Git 저장소 스캔
kubescape scan https://github.com/kubescape/kubescape
# Kustomize로 스캔
kubescape scan /path/to/kustomize/directory/
스캔 옵션
# 네임스페이스 포함/제외
kubescape scan --include-namespaces production,staging
kubescape scan --exclude-namespaces kube-system,kube-public
# 대체 kubeconfig 사용
kubescape scan --kubeconfig /path/to/kubeconfig
# 규정 준수 임계값 설정 (임계값 미만이면 종료 코드 1).
# 점수 임계값은 프레임워크/컨트롤 하위 명령어와
# --view resource|control에 적용됩니다.
kubescape scan framework nsa --compliance-threshold 80
kubescape scan --view resource --compliance-threshold 80
# 심각도 임계값 설정
kubescape scan --severity-threshold high
출력 형식
# JSON 출력
kubescape scan --format json --output results.json
# JUnit XML (CI/CD용)
kubescape scan --format junit --output results.xml
# SARIF (GitHub 코드 스캐닝용)
kubescape scan --format sarif --output results.sarif
# HTML 보고서
kubescape scan --format html --output report.html
# PDF 보고서
kubescape scan --format pdf --output report.pdf
이미지 스캐닝
# 공용 이미지 스캔
kubescape scan image nginx:1.21
# 자세한 출력으로 스캔
kubescape scan image nginx:1.21 -v
# 프라이빗 레지스트리 이미지 스캔
kubescape scan image myregistry/myimage:tag --username user --password pass
오프라인 Grype 데이터베이스 사용
# 오프라인 Grype-DB 서버 시작 (docker 사용)
docker run --rm -p8080:8080 quay.io/kubescape/grype-offline-db:v6-latest
# 오프라인 데이터베이스를 사용하여 이미지 스캔:
kubescape scan image --grype-db-url http://localhost:8080/databases/ nginx:latest
자동 수정
매니페스트 파일의 설정 오류를 자동으로 수정합니다:
# 먼저 스캔하고 결과를 JSON으로 저장
kubescape scan /path/to/manifests --format json --output results.json
# 그런 다음 수정 적용
kubescape fix results.json
# 드라이 런 (변경 사항 미리보기, 적용하지 않음)
kubescape fix results.json --dry-run
# 확인 프롬프트 없이 수정 적용
kubescape fix results.json --no-confirm
이미지 패치
컨테이너 이미지를 패치하여 OS 수준 취약점을 수정합니다:
# buildkitd 시작 (필수)
sudo buildkitd &
# 이미지 패치
sudo kubescape patch --image docker.io/library/nginx:1.22
# 사용자 정의 출력 태그 지정
sudo kubescape patch --image nginx:1.22 --tag nginx:1.22-patched
# 상세 취약점 보고서 보기
sudo kubescape patch --image nginx:1.22 -v
프레임워크 및 컨트롤 목록
# 사용 가능한 프레임워크 목록
kubescape list frameworks
# 모든 컨트롤 목록
kubescape list controls
# JSON 형식으로 출력
kubescape list controls --format json
오프라인 지원
에어갭 환경을 위한 아티팩트 다운로드:
# 모든 아티팩트 다운로드
kubescape download artifacts --output /path/to/offline/dir
# 특정 프레임워크 다운로드
kubescape download framework nsa --output /path/to/nsa.json
# 다운로드한 아티팩트를 사용하여 스캔
kubescape scan --use-artifacts-from /path/to/offline/dir
구성
# 현재 구성 보기
kubescape config view
# 계정 ID 설정
kubescape config set accountID <your-account-id>
# 캐시된 구성 삭제
kubescape config delete
Operator 명령어
클러스터 내 Kubescape operator와 상호 작용:
# 구성 스캔 트리거
kubescape operator scan configurations
# 취약점 스캔 트리거
kubescape operator scan vulnerabilities
Validating Admission Policies
Kubernetes Validating Admission Policy 관리:
# Kubescape CEL 승인 정책 라이브러리 배포
kubescape vap deploy-library | kubectl apply -f -
# 정책 바인딩 생성
kubescape vap create-policy-binding \
--name my-policy-binding \
--policy c-0016 \
--namespace my-namespace | kubectl apply -f -
MCP 서버
AI 어시스턴트 통합을 위한 MCP (Model Context Protocol) 서버 시작:
kubescape mcpserver
MCP 서버는 Kubescape의 취약점 및 구성 스캔 데이터를 AI 어시스턴트에 노출하여 클러스터의 보안 포스처에 대한 자연어 질의를 가능하게 합니다.
사용 가능한 MCP 도구:
list_vulnerability_manifests- 취약점 매니페스트 검색list_vulnerabilities_in_manifest- 매니페스트 내 CVE 목록list_vulnerability_matches_for_cve- 특정 CVE에 대한 세부 정보 가져오기list_configuration_security_scan_manifests- 구성 스캔 결과 목록get_configuration_security_scan_manifest- 구성 스캔 세부 정보 가져오기
🏗️ 아키텍처
Kubescape은 두 가지 모드로 실행될 수 있습니다:
CLI 모드
CLI는 클러스터, 파일 및 이미지를 필요에 따라 스캔하는 독립 실행형 도구입니다.
주요 구성 요소:
- Open Policy Agent (OPA) - 정책 평가 엔진
- Regolibrary - 보안 컨트롤 라이브러리
- Grype - 이미지 취약점 스캐닝
- Copacetic - 이미지 패치
Operator 모드 (클러스터 내)
지속적인 모니터링을 위해 Helm을 통해 Kubescape operator를 배포합니다.
추가 기능:
- 지속적 구성 스캐닝
- 이미지 취약점 스캐닝
- eBPF를 통한 런타임 분석
- 네트워크 정책 생성
☸️ 클러스터 내 Operator
Kubescape operator는 클러스터에 지속적인 보안 모니터링을 제공합니다:
# Kubescape Helm 저장소 추가
helm repo add kubescape https://kubescape.github.io/helm-charts/
# Operator 설치
helm upgrade --install kubescape kubescape/kubescape-operator \
--namespace kubescape \
--create-namespace
Operator 기능:
- 🔄 지속적 구성 오류 스캔
- 🐳 모든 워크로드에 대한 이미지 취약점 스캔
- 🔍 런타임 위협 탐지 (eBPF 기반)
- 🌐 네트워크 정책 생성
- 📈 Prometheus 메트릭 통합
🔌 통합
CI/CD
| 플랫폼 | 통합 |
|---|---|
| GitHub Actions | kubescape/github-action |
| GitLab CI | 문서 |
| Jenkins | 문서 |
IDE 확장
| IDE | 확장 |
|---|---|
| VS Code | Kubescape 확장 |
| Lens | Kubescape Lens 확장 |
Kubescape을 사용할 수 있는 곳
👥 커뮤니티
Kubescape은 활발한 커뮤니티를 가진 CNCF 인큐베이팅 프로젝트입니다.
참여하기
- 💬 Slack - 사용자 채널 - 질문하고 도움 받기
- 💬 Slack - 개발자 채널 - 개발에 기여하기
- 🐛 GitHub 이슈 - 버그 보고 및 기능 요청
- 📋 프로젝트 보드 - 진행 중인 작업 확인
- 🗺️ 로드맵 - 향후 계획
기여하기
기여를 환영합니다! 다음을 참조해주세요:
커뮤니티 리소스
기여자
Changelog
Kubescape의 변경 사항은 릴리스 페이지에서 추적됩니다.
라이선스
Copyright 2021-2025, Kubescape Authors. All rights reserved.
Kubescape은 Apache 2.0 라이선스로 배포됩니다.
Kubescape은 Cloud Native Computing Foundation (CNCF) 인큐베이팅 프로젝트이며 ARMO가 기여했습니다.