Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kubeaudit — kubeaudit는 일반적인 보안 통제 항목에 대해 Kubernetes 클러스터를 감사하는 데 도움을 줍니다. | Kitploit
도구/GitHubGitHub/shopify/kubeaudit
Cloud Infrastructure SecurityVulnerability ScannersContainer SecurityConfiguration AuditingCloud SecurityDevSecOpsMisconfigurationArchived
GitHubshopify/kubeaudit

kubeaudit

kubeaudit는 일반적인 보안 통제 항목에 대해 Kubernetes 클러스터를 감사하는 데 도움을 줍니다.

저장소 보기
1.9k189352년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Build Status Go Report Card GoDoc

이제 클러스터는 Kubernetes >=1.19를 실행해야 합니다.

미등록 kubernetes.io 어노테이션을 사용한 재정의 레이블은 더 이상 사용되지 않습니다. 곧 kubeaudit.io를 사용해야 합니다. 자세한 내용은 이 토론을 참조하세요.

🚨 지원 종료 공지 🚨

Kubeaudit은 2024년 10월까지 지원이 종료될 예정입니다.

이 프로젝트의 관리를 인수할 유지보수자를 적극적으로 찾고 있습니다. 프로젝트의 개발 및 유지보수를 계속하는 데 관심이 있으시면 연락해 주세요.

대안을 찾고 계신 사용자분들께는 유사한 기능을 제공하며 활발히 유지보수되고 있는 Kubebench로 전환할 것을 권장합니다.

커뮤니티의 기여와 지원에 감사드립니다.

kubeaudit ☁️ 🔒 💪

kubeaudit은 다양한 보안 문제에 대해 Kubernetes 클러스터를 감사하는 명령줄 도구이자 Go 패키지입니다. 예를 들어:

  • 비-root로 실행
  • 읽기 전용 루트 파일시스템 사용
  • 위험한 능력(capabilities) 제거, 새 능력 추가 금지
  • 권한 모드(privileged)로 실행 금지
  • 그 외 다수!

요약: kubeaudit은 안전한 컨테이너를 배포하도록 보장합니다!

패키지

kubeaudit을 Go 패키지로 사용하려면 패키지 문서를 참조하세요.

이 README의 나머지 부분은 kubeaudit을 명령줄 도구로 사용하는 방법에 초점을 맞춥니다.

명령줄 인터페이스 (CLI)

  • 설치
  • 빠른 시작
  • 감사 결과
  • 명령어
  • 설정 파일
  • 오류 재정의
  • 기여하기

설치

Brew

brew install kubeaudit

바이너리 다운로드

Kubeaudit은 검증되고 안정적인 공식 릴리스를 제공합니다: 공식 릴리스

직접 빌드

main 브랜치는 안정 릴리스보다 최신 기능을 포함할 수 있습니다. 릴리스에 아직 포함되지 않은 최신 기능이 필요하다면, 최신 Go를 사용 중인지 확인하고 다음을 실행하세요:

go get -v github.com/Shopify/kubeaudit

빠른 시작으로 kubeaudit을 사용하거나 모든 지원되는 명령어를 확인하세요.

Kubectl 플러그인

전제 조건: kubectl v1.12.0 이상

kubectl v1.12.0에서 외부 함수의 쉬운 플러그인 기능이 도입됨에 따라, kubeaudit을 kubectl audit으로 호출할 수 있습니다:

  • make plugin을 실행하고 $GOPATH/bin을 경로에 포함시키십시오.

또는

  • 바이너리 이름을 kubectl-audit으로 변경하고 경로에 위치시키십시오.

Docker

더 이상 Docker Hub에 이미지를 게시하지 않습니다 (Docker Hub가 Free Team 조직을 종료했기 때문). 당분간 이전 이미지는 계속 사용 가능하지만 언제든지 중단될 수 있습니다. 곧 Github Container 레지스트리에 이미지를 게시할 예정입니다.

클러스터에서 kubeaudit을 작업으로 실행하려면 클러스터에서 kubeaudit 실행을 참조하세요.

빠른 시작

kubeaudit에는 세 가지 모드가 있습니다:

  1. 매니페스트 모드
  2. 로컬 모드
  3. 클러스터 모드

매니페스트 모드

-f/--manifest 플래그를 사용하여 Kubernetes 매니페스트 파일을 제공하면, kubeaudit이 해당 매니페스트 파일을 감사합니다.

명령어 예시:

kubeaudit all -f "/path/to/manifest.yml"

출력 예시:

$ kubeaudit all -f "internal/test/fixtures/all_resources/deployment-apps-v1.yml"

---------------- Results for ---------------

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: deployment
    namespace: deployment-apps-v1

--------------------------------------------

-- [error] AppArmorAnnotationMissing
   Message: AppArmor annotation missing. The annotation 'container.apparmor.security.beta.kubernetes.io/container' should be added.
   Metadata:
      Container: container
      MissingAnnotation: container.apparmor.security.beta.kubernetes.io/container

-- [error] AutomountServiceAccountTokenTrueAndDefaultSA
   Message: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.

-- [error] CapabilityShouldDropAll
   Message: Capability not set to ALL. Ideally, you should drop ALL capabilities and add the specific ones you need to the add list.
   Metadata:
      Container: container
      Capability: AUDIT_WRITE
...

지정된 최소 심각도의 오류가 발견되지 않으면 다음과 같이 반환됩니다:

All checks completed. 0 high-risk vulnerabilities found

자동 수정

매니페스트 모드는 autofix 명령어를 사용하여 모든 보안 문제를 자동으로 수정하는 기능도 지원합니다:

kubeaudit autofix -f "/path/to/manifest.yml"

수정된 매니페스트를 원본 파일을 수정하는 대신 새 파일에 쓰려면 -o/--output 플래그를 사용하세요.

kubeaudit autofix -f "/path/to/manifest.yml" -o "/path/to/fixed"

kubeaudit 설정 파일에 지정된 사용자 정의 규칙에 따라 매니페스트를 수정하려면 -k/--kconfig 플래그를 사용하세요.

kubeaudit autofix -k "/path/to/kubeaudit-config.yml" -f "/path/to/manifest.yml" -o "/path/to/fixed"

클러스터 모드

Kubeaudit은 클러스터 내 컨테이너에서 실행 중인지 감지할 수 있습니다. 그렇다면 해당 클러스터의 모든 Kubernetes 리소스를 감사하려고 시도합니다:

kubeaudit all

로컬 모드

Kubeaudit은 로컬 kubeconfig 파일($HOME/.kube/config)을 사용하여 클러스터에 연결을 시도합니다. 다른 kubeconfig 위치는 --kubeconfig 플래그로 지정할 수 있습니다. kubeconfig의 컨텍스트를 지정하려면 -c/--context 플래그를 사용하세요.

kubeaudit all --kubeconfig "/path/to/config" --context my_cluster

Kubernetes 설정 파일에 대한 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/ 를 참조하세요.

감사 결과

Kubeaudit은 세 가지 심각도 수준의 결과를 생성합니다:

  • Error: 보안 문제 또는 잘못된 Kubernetes 설정
  • Warning: 모범 사례 권장 사항
  • Info: 정보 제공, 조치 불필요. 재정의된 결과가 포함됩니다.

최소 심각도 수준은 --minSeverity/-m 플래그를 사용하여 설정할 수 있습니다.

기본적으로 kubeaudit은 사람이 읽기 쉬운 방식으로 결과를 출력합니다. 출력을 추가 처리하려면 --format json 플래그를 사용하여 JSON으로 설정할 수 있습니다. 결과를 로그로 출력하려면 (이전 기본값) --format logrus를 사용하세요. 일부 출력 형식은 터미널에서 결과를 더 쉽게 읽을 수 있도록 색상을 포함합니다. 색상을 비활성화하려면 (예: 텍스트 파일로 출력을 보내는 경우) --no-color 플래그를 사용할 수 있습니다.

SARIF 형식의 kubeaudit 보고서를 생성하려면 --format sarif 플래그를 사용하세요. SARIF 결과를 파일로 쓰려면 >로 출력을 리디렉션할 수 있습니다. 예:

kubeaudit all -f path-to-my-file.yaml --format="sarif" > example.sarif

심각도 수준이 error인 결과가 있으면 kubeaudit은 종료 코드 2로 종료됩니다. 이는 --exitcode/-e 플래그를 사용하여 변경할 수 있습니다.

kubeaudit을 사용자 정의하는 모든 방법은 글로벌 플래그를 참조하세요.

명령어

명령어설명문서
all사용 가능한 모든 감사자를 실행하거나, kubeaudit 설정에 지정된 감사자를 실행합니다.docs
autofix보안 문제를 자동으로 수정합니다.docs
version현재 kubeaudit 버전을 출력합니다.

감사자

감사자는 개별적으로도 실행할 수 있습니다.

도구 다운로드