Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kube-linter — KubeLinter는 Kubernetes YAML 파일과 Helm 차트를 검사하여 해당 파일에 표현된 애플리케이션이 모범 사례를 준수하는지 확인하는 정적 분석 도구입니다. | Kitploit
도구/GitHubGitHub/stackrox/kube-linter
Cloud Infrastructure SecurityStatic AnalysisContainer SecurityStatic Code Analysis (SAST)Configuration AuditingCloud SecurityDevSecOpsMisconfigurationContainer EscapeCloud Infrastructure Security #19위
3.5k275491일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Cloud Security #18위
Configuration Auditing #11위
Container Escape #19위
Container Security #8위
Misconfiguration #11위
Static Code Analysis (SAST) #19위
GitHubstackrox/kube-linter

kube-linter

KubeLinter는 Kubernetes YAML 파일과 Helm 차트를 검사하여 해당 파일에 표현된 애플리케이션이 모범 사례를 준수하는지 확인하는 정적 분석 도구입니다.

저장소 보기웹사이트

Kubernetes용 정적 분석

Go Report Card

KubeLinter란 무엇인가?

KubeLinter는 Kubernetes YAML 파일, Helm 차트 및 Kustomize 매니페스트를 분석하고, 프로덕션 운영 준비성과 보안에 중점을 두고 다양한 모범 사례를 기준으로 검사합니다.

KubeLinter는 Kubernetes YAML 파일, Helm 차트 및 Kustomize 매니페스트에 대한 유용한 정보를 제공하도록 설계된 합리적인 기본 검사를 실행합니다. 이는 팀이 보안 오구성 및 DevOps 모범 사례를 조기에 자주 확인하는 데 도움을 주기 위한 것입니다. 여기에는 컨테이너를 비루트 사용자로 실행, 최소 권한 적용, 민감한 정보를 시크릿에만 저장하는 것 등의 일반적인 예가 포함됩니다.

KubeLinter는 구성 가능하므로 조직 내에서 따르려는 정책에 따라 검사를 활성화/비활성화하고 사용자 지정 검사를 만들 수 있습니다.

린트 검사가 실패하면 KubeLinter는 잠재적인 문제를 해결하는 방법에 대한 권장 사항을 보고하고 0이 아닌 종료 코드를 반환합니다.

문서

KubeLinter 설치, 사용 및 구성에 대한 자세한 문서는 https://docs.kubelinter.io 를 방문하세요.

KubeLinter 설치

Kube-linter 바이너리는 여기에서 찾을 수 있습니다: https://github.com/stackrox/kube-linter/releases/latest

Go 사용하기

Go를 사용하여 설치하려면 다음 명령을 실행하세요:

root@kitploit:~
go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

그렇지 않으면 Releases에서 최신 바이너리를 다운로드하여 PATH에 추가하세요.

macOS용 Homebrew 또는 Linux용 LinuxBrew 사용하기

Homebrew 또는 LinuxBrew를 사용하여 설치하려면 다음 명령을 실행하세요:

root@kitploit:~
brew install kube-linter

nix-shell 사용하기

root@kitploit:~
nix-shell -p kube-linter

docker 사용하기

root@kitploit:~
docker pull stackrox/kube-linter:latest

개발

사전 요구 사항

  • 소스에서 빌드하기 전에 Go를 설치했는지 확인하세요.

KubeLinter 빌드

소스에서 KubeLinter를 설치하는 것은 다음 단계를 따르기만 하면 됩니다:

  1. 먼저 KubeLinter 저장소를 클론합니다.

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. 그런 다음 소스 코드를 컴파일합니다. 이렇게 하면 각 플랫폼에 대한 kube-linter 바이너리 파일이 생성되고 .gobin 폴더에 배치됩니다.

    root@kitploit:~
    make build
    
  3. 마지막으로 KubeLinter 사용을 시작할 준비가 되었습니다. 버전을 확인하여 KubeLinter가 성공적으로 설치되었는지 확인하세요.

    root@kitploit:~
    .gobin/kube-linter version
    

KubeLinter 테스트

테스트에는 여러 계층이 있습니다. 각 계층이 통과해야 합니다.

  1. go 단위 테스트:

    root@kitploit:~
    make test
    
  2. 엔드 투 엔드 통합 테스트:

    root@kitploit:~
    make e2e-test
    
  3. 마지막으로 bats-core를 사용한 엔드 투 엔드 통합 테스트:

    root@kitploit:~
    make e2e-bats
    

KubeLinter 이미지 검증

KubeLinter 이미지는 cosign으로 서명됩니다. 사용 전에 이미지를 검증하는 것이 좋습니다.

cosign을 설치한 후 KubeLinter 공개 키를 사용하여 KubeLinter 이미지를 다음과 같이 검증할 수 있습니다:

root@kitploit:~
cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

KubeLinter는 또한 cosign 키리스 서명을 제공합니다.

다음 명령으로 KubeLinter 이미지를 검증할 수 있습니다:

root@kitploit:~
# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

KubeLinter 사용

로컬 YAML 린트

가장 기본적인 형태로 KubeLinter를 실행하여 YAML 파일을 린트하려면 두 단계만 거치면 됩니다.

  1. 보안 및 프로덕션 운영 준비 모범 사례를 테스트하려는 YAML 파일을 찾습니다:

  2. 다음 명령을 실행합니다:

    root@kitploit:~
    kube-linter lint /path/to/your/yaml.yaml
    

예시

다음 샘플 Pod 사양 파일 pod.yaml을 고려해 보세요. 이 파일에는 프로덕션 운영 준비와 관련된 두 가지 문제와 보안 문제 하나가 있습니다:

보안 문제:

  1. 이 Pod의 컨테이너는 읽기 전용 파일 시스템으로 실행되지 않으므로 루트 파일 시스템에 쓸 수 있습니다.

프로덕션 운영 준비:

  1. 컨테이너의 메모리 제한이 설정되지 않아 과도한 메모리를 소비할 수 있습니다.

    root@kitploit:~
    apiVersion: v1
    kind: Pod
    metadata:
      name: security-context-demo
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      volumes:
      - name: sec-ctx-vol
        emptyDir: {}
      containers:
      - name: sec-ctx-demo
        image: busybox
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
        command: [ "sh", "-c", "sleep 1h" ]
        volumeMounts:
        - name: sec-ctx-vol
          mountPath: /data/demo
        securityContext:
          allowPrivilegeEscalation: false
    
  2. 위의 YAML을 pod.yaml로 복사하고 다음 명령을 실행하여 이 파일을 린트합니다:

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. KubeLinter는 기본 검사를 실행하고 권장 사항을 보고합니다. 다음은 이전 명령의 출력입니다.

    root@kitploit:~
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) The container "sec-ctx-demo" is using an invalid container image, "busybox". Please use images that are not blocked by the `BlockList` criteria : [".*:(latest)$" "^[^:]*$" "(.*/[^:]+)$"] (check: latest-tag, remediation: Use a container image with a specific tag other than latest.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" has memory limit 0 (check: unset-memory-requirements, remediation: Set memory limits for your container based on its requirements. Refer to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for details.)
    
    Error: found 3 lint errors
    

여러 출력 형식

KubeLinter는 단일 실행에서 여러 출력 형식을 생성할 수 있습니다. 이는 사람이 읽을 수 있는 보고서와 기계가 읽을 수 있는 보고서를 동시에 생성할 때 유용합니다:

root@kitploit:~
kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

이 명령은 다음을 수행합니다:

  • kube-linter.sarif에 SARIF 형식 보고서를 생성합니다
  • kube-linter.json에 JSON 형식 보고서를 생성합니다
  • 파일을 한 번만 처리하므로 효율성이 향상됩니다

참고: 여러 형식을 사용하려면 명시적인 --output 플래그가 필요합니다. 단일 형식을 stdout으로 출력하려면 --output 없이 --format 플래그 하나만 사용하세요.

여러 출력 형식 사용에 대한 자세한 내용은 문서를 참조하세요.

KubeLinter 사용 및 구성에 대해 자세히 알아보려면 문서 페이지를 방문하세요.

소개/튜토리얼

다음은 사용자가 작성한 KubeLinter 튜토리얼입니다. 이 목록에 추가하고 싶은 항목이 있으면 PR을 보내주세요!

  • KubeLinter를 사용하여 YAML 모범 사례 보장 - civo.com의 Saiyam Pathak 작성.
  • KubeLinter로 Kubernetes 파일에서 오류 분석 - opensource.com의 Jessica Cherry 작성.
  • KubeLinter에 새 검사를 추가하는 방법은 무엇인가요? - Priyanka Saggu 작성.
  • 사용자 지정 템플릿을 구축하도록 kube-linter 확장 - Gareth Healy 작성.

라이선스

KubeLinter는 Apache License 2.0에 따라 라이선스가 부여됩니다.

커뮤니티

유지 관리자 및 다른 사용자를 포함한 KubeLinter 커뮤니티에 참여하려면 Slack 워크스페이스에 여기에서 가입할 수 있습니다.

향후 명령 사용법, 플래그 및 구성 파일 형식에 호환성이 깨지는 변경 사항이 있을 수 있습니다. 그러나 환경 YAML 파일을 테스트하고 무엇이 깨지는지 확인한 후 기여하기 위해 KubeLinter를 사용하는 것이 좋습니다.

참고로, KubeLinter 커뮤니티의 모든 참여는 행동 강령의 적용을 받습니다.


KubeLinter는 StackRox가 ❤️를 담아 만들었으며, 현재는 Red Hat이 지원합니다.

도구 다운로드