kubescape

kubescape·kubescape.kubescape

An open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters

Kubescape is an open-source Kubernetes security platform. It includes risk analysis, security compliance, and misconfiguration scanning. Targeted at the DevSecOps practitioner or platform engineer, it offers an easy-to-use CLI interface, flexible output formats, and automated scanning capabilities. It saves Kubernetes users and admins precious time, effort, and resources. Kubescape scans clusters, YAML files, and Helm charts. It detects misconfigurations according to multiple frameworks (including NSA-CISA, MITRE ATT&CK® and the CIS Benchmark). Kubescape was created by ARMO and is a Cloud Native Computing Foundation (CNCF) sandbox project.

winget install --id kubescape.kubescape --exact --source winget

Latest 4.0.12·August 12, 2026

Release Notes

Changelog

  • 6849abb Cel engine docs (#2756)
  • 0b25d70 Guard against unresolvable group/version in resource handler (#2609)
  • 68b6a71 Increase test coverage for GetWriter and LogOutputFile functions (#2586)
  • 2a2253a Propagate printer and command errors (#2908)
  • 9e98840 Recover from panics in readJsonFile (#2604)
  • 95a70f2 Refactor: remove Getters and PolicyIdentifier from ScanInfo (#2768)
  • e79237c Refactor: use distribution/reference for image parsing (#2776)
  • 61a8054 Remove Helm binary dependency from kustomize tests (#2926)
  • 2763c21 Remove stale "Add score" TODO from processorhandlerutils.go (#2924)
  • 957998b Removed dead code in urlloader and urlloader_test and add some test c… (#2590)
  • 4cc055e Security/batch dependency fixes 2 (#2897)
  • 5b4f1a6 Support scoped registry auth for image scans (#2696)
  • 2088a8c Test case added for validation (#2585)
  • fad6e64 Unify scan stdin input handling (#2875)
  • dd98504 [fix] : non-deterministic namespace bucketing caused by mid-scan resource count mutation (#2587)
  • 6561a47 [fix] : streaming collector dropping host-sensor fallback, silently passing controls it never evaluated (#2797)
  • 1abd9d8 anonymizer: pin and document the intentional cross-prefix hash-suffix sharing (was: hash prefix+value) (#2687)
  • 6bab3de cautils: test: cover test for readYamlFile and readJsonFile (#2526)
  • 1b93a71 chore(ci): update pinned GitHub Actions off deprecated Node 20 releases (#2973)
  • d23abbf chore(deps): tidy go.mod for backoff import (#3022)
  • bb83cd6 chore(printer): remove the unused v1 PrometheusPrinter (#2985)
  • a6a0898 chore: evaluate rego with RegoV1 (drop v0 compat shim) (#2359)
  • ca0d57b chore: remove dead Float16ToInt function (#2643)
  • 4a1d822 chore: remove dead code loadConfigFromData (#2948)
  • 4363b2b chore: remove deprecated SA2WLIDmap from RBAC utils (#2957)
  • 64915fe chore: remove orphaned firstNonEmpty doc comment (#2945)
  • bbf9183 ci: run unit tests on every PR, not just tag pushes (#2606)
  • 2e0d1a9 enhancement: propagate context.Context in getter interfaces (#2775)
  • 39752e1 feat : add DELETE /v1/scan to cancel an in-flight scan (#2562)
  • 9a91904 feat(cautils): add ParseDurationEnvVar (#2779)
  • b3192bc feat(context): propagate context through tenant config initialization and Kubernetes API calls (#2739)
  • 881ba33 feat(core): implement concurrent and deduplicated image scan pipeline (KS-ADV-02) (#2759)
  • b3f1542 feat(csv): add remediation path evidence columns to CSV scan output (#2900)
  • 77aca1e feat(exceptions): prefer cloud exceptions over CRD (#2317)
  • 5c6fb28 feat(hostsensor): optimize query with paging, rate limits, and cache (#2864)
  • 53899b7 feat(html): show current field values in evidence paths (#3032)
  • 5bdca12 feat(imagescan): support scanning local offline tarball images (#2995)
  • 29aefd1 feat(mcp): add headless framework security scanner tool (#2528)
  • 1d2709e feat(mcp): add local IaC scanner tool (#2545)
  • b5bf09a feat(mcpserver): add scan_container_image tool for on-demand vulnerability scanning (KS-INT-03) (#2708)
  • dbd32e8 feat(patch): support all image scan output formats (#2910)
  • cbf3818 feat(printer): add markdown output format (#3025)
  • de8d7a1 feat(printer): surface current field value alongside failed paths in scan output (#2882)
  • 531ab67 feat(resourcesprioritization): support configurable workload kinds and dynamic pod template spec detection (#2720)
  • eed57f0 feat(scan): add --api-version flag to workload scan command (#2829)
  • 1201b17 feat(scan): add --label-selector flag to filter collected resources (#2830)
  • 0513520 feat(scan): support parsing apiVersion in workload identifier (#2581)
  • 830edec feat(streaming): Add resource streaming for large clusters to reduce memory usage (#2645)
  • 1225145 feat(version): add --output json flag (#2793)
  • 0a8dacf feat: Automated In-Cluster Private Registry Credential Resolver (#2832)
  • 164d228 feat: add --only-fixable flag to gate scan image severity threshold on fix availability (#2891)
  • 8a49128 feat: add Azure AKS support to ListEntitiesForPolicies resource mapping (#3012)
  • 9c9c839 feat: add CSV output format printer for scan results (#2743)
  • 9b69c84 feat: add YAML output format to kubescape list (#2852)
  • 03d0f73 feat: add configurable config view output formats (#2987)
  • 64b54e2 feat: add csv output for list command (#2989)
  • 1431870 feat: add fallback support for OpenShift external registry routes (#2576)
  • f73b3a7 feat: give CEL findings the remediation paths their Rego equivalents carry (#2533)
  • 2121daa feat: implement Runtime Profile Drift Detection and Remediation (KS-ADV-01) (#2803)
  • c22523d feat: introduce Container Image Vulnerability (CIV) Adaptor for Azure Container Registry (#2778)
  • d5cd5e9 feat: introduce native GCP Artifact Registry vulnerability adaptor (Phase 2) (#2801)
  • cc83086 feat: scan kubernetes_manifest resources in Terraform files (#2947)
  • b1071ce feat: scan typed kubernetes_* resources in Terraform files (#719) (#3019)
  • d3e90b7 feat: spend one CEL cost budget per policy the way admission does (#2560)
  • 053ca1d feat: support all output formats for image scans (#2786)
  • f6ff896 feat: support yaml as an output format (#2625)
  • 9387a73 fix(anonymizer): replace broken type assertions with IWorkload-based container deserialization (#2991)
  • 5afb9c3 fix(cache): publish policy files atomically (#2878)
  • 2ff4225 fix(cautils): add warning log for invalid useUntilKubescapeVersion semver (#2703)
  • 715efa3 fix(cautils): avoid standalone renders of owned Helm dependencies (#2849)
  • 3cb0df0 fix(cautils): clone trailing remote inputs for local-first scans (#2933)
  • a10dcea fix(cautils): expand offline Kubernetes list envelopes (#2820)
  • 5951348 fix(cautils): propagate marshal error in updateConfigFile (#2766)
  • 88d24b7 fix(cautils): record individual formats in scan metadata (#2932)
  • 4f4a861 fix(cautils): remove dead nil-check in setHeaders (#2682)
  • dfc8387 fix(cautils): report the bound port from GetPortForwardLocalhost (#2761)
  • a48e3ff fix(cautils): resolve git metadata when scanning from a linked worktree (#2721)
  • b9c2fc7 fix(cautils): return error when worktree root cannot be resolved in NewLocalGitRepository (#2651)
  • 0ee5c13 fix(cautils): return non-NotFound errors from legacy ConfigMap lookup (#3018)
  • 8f54073 fix(cautils): sort copies in StringSlicesAreEqual to avoid mutating caller slices (#2750)
  • b45925d fix(cautils): stop LocalGitRepository exposing a nil-embedded panic to callers (#2722)
  • cbc5d22 fix(cautils): stop Policies.Set from mutating the caller's frameworks slice (#2681)
  • 0f7e72c fix(cautils): stop ReportV2ToV1 from mutating the caller's shared resources (#2837)
  • 9f55d1e fix(cautils): stop conflating insecureSkipTLS with plainHTTP in helm registry client (#2690)
  • 45362e2 fix(cautils): synchronize access to global KSCloudAPIConnector to resolve data race (#2767)
  • fab61c5 fix(cautils): use filesystem check instead of .json string heuristic in setUseArtifactsFrom (#3009)
  • 529e872 fix(cel): guard optional field paths so valid workloads are evaluated, not skipped (#2535)
  • 111444e fix(cel): resolve namespaceObject from collected namespaces and honor admission scoping offline (#2713)
  • b721999 fix(cel): select remediation paths by workload kind (#2564)
  • 9a26b8e fix(cel): use messageExpression for CEL message bodies, verify bundleControlIDs both ways (#2610)
  • 884cd0a fix(cmd): close temporary file handle after streaming stdin in scan commands (#2799)
  • 247caf5 fix(config): preserve higher-priority tenant settings (#2876)
  • 293140d fix(core): add timeout to HTTP client in OperatorAdapter to prevent connection hang (#2827)
  • af7bf70 fix(core): align scan attribution with explicit kubeconfig (#2841)
  • 0324553 fix(core): allow operator scan with multiple app=operator pods (#2593)
  • 1bd379e fix(core): cancel streaming producer context on early evaluation error (#2814) (#2815)
  • fa48eec fix(core): correct grammar in download empty-response errors (#2642)
  • 2816cd1 fix(core): correct unknown command error message in List() (#2621)
  • aa46aea fix(core): detect multipart SBOM output collisions (#2930)
  • 10e16a2 fix(core): download --output bare .json path no longer falls back to ~/.kubescape (#2818)
  • 1cf701f fix(core): escape inner quotes in FixPathToValidYamlExpression string values (#2670)
  • 0408fe0 fix(core): expand ScanAll frameworks before resolving cache paths (#2792)
  • 8db604a fix(core): ignore unusable image pull secret credentials (#2927)
  • 8b973a8 fix(core): limit ScanAll expansion to framework scans and dedupe UseFrom (#2795)
  • f212468 fix(core): log swallowed errors when loading cached/cluster config (#2736)
  • 06aec0c fix(core): make ProgressHandler.Stop() complete the progress bar (#2738)
  • 1be5e2b fix(core): parse digest-pinned image references correctly for exceptions (#2686)
  • a102e7b fix(core): preserve non-zero risk score rounding in HTML report (#2727) (#2733)
  • 1e24a1e fix(core): prevent sub-100 compliance scores formatting as 100.00 (#2728) (#2740)
  • 414fce3 fix(core): recurse convertYamlToJson into map[string]any values (#2834)
  • 4df639d fix(core): remove racy re-check of global cluster connection state (#2617)
  • 0e6ea57 fix(core): reset HostSensorEnabled when explicit host scanner fails to init (#2819)
  • ebb29b1 fix(core): return cluster connection failures from Scan instead of terminating (#2788)
  • 5011ad2 fix(core): return error when io.ReadAll fails in NewFixHandler (#2706)
  • 0767f52 fix(core): shut down the exception event broadcaster after each scan (#2762)
  • 2cda81a fix(core): skip image scanner initialization when no images (#2845)
  • e8b95ca fix(core): stop nilling global os.Stdout/os.Stderr during copa patch (#2638)
  • 6aea45c fix(core): stop port-forward when startup fails to avoid goroutine leak (#2835)
  • d9061d8 fix(core): treat closed/non-interactive stdin as refusal in userConfirmed to prevent CPU spin (#2712)
  • d07136a fix(core): use restrictive permissions for created output directories (#2648)

Installer type: portable

x64736ABB73B7B55230482B98527E72B7648D638B3E3C7773F3DC0C120B353276AB
arm64994527B3C872726BACE9D37B3E3B40E555222363BDB107083EE40FEF8C13AC28

Details

Homepage
https://github.com/kubescape/kubescape
License
Apache-2.0
Publisher
kubescape
Support
https://github.com/kubescape/kubescape/issues
Copyright
Copyright 2021-2023, the Kubescape Authors
Moniker
kubescape

Tags

best-practicedevopskubernetesmitre-attacknsasecurityvulnerability-detection

Older versions (27)

4.0.11
x6477F74DB439C9326E4FA3556A08EC8D83C61EC9C1038CDF32D26BEF5467385798
arm64B868B0B3E9C280D8939A16A994A0DA20667A182805438434C7BA68C974E35D39
4.0.10
x64387A01E7D4E3D52CD565B97F411390EAB393AB5527E40D93527063716BFDD4AC
arm64DEEEDE3591937B511DD9F122030377FA53B5822095DA100A0AFD2A9116CD72C4
4.0.9
x64C9F9E268FF974F3C4A2E1960DFAA5C8ABED3B24760E727790632427853CAF387
arm640D41DA98C24C036317DD6FAC2C95636B4A54662D7ADF4D6E59B34805B1EECF43
4.0.8
x648CD8D6A166B4FFBC1239F2B56221527406A2B200C83043739AFCC27825603E64
arm64C36CAAC6F1DD00C03BA1FA43ACFDEDB7593E564FCB5E78029AB1A142625F5CBF
4.0.7
x6422179761A27F9761A206BA2C28E77796EB8776497FABFDBC8245567C86B5DC36
arm649C9C2EF45506FE48EB5A670035DA56A008CEA4EA24FF3347D04687CFC5F109E6
4.0.6
x64592CB071C507CB49231E1D288181FAA76A5E8FC0543484B24DEE5F737E2B6BF0
arm649BD2730A9568F42DA83AD38CBB57EC7A6BC46C883D927C3EB20B8D99121C11F1
4.0.5
x64F3009C9D55A1113EFB9635D2C0947C5590C6C54C98EACB4F34B1755ADC8D7907
arm64E523C8E4A3465DD38497EB3EB3DA13736E81DCAB111CA1335A4338F568BE668B
4.0.3
x64DAF4D257FC7417EA6ED91AFC1D795FCB024A90301A96D75AAD63A88EAE21EB35
arm64F17475A766453726103E8ABE4507E2BD33548E3EC5BD6D681E2818EC04496D62
4.0.2
x646D9D65C3F0D49600F8163EC69710579F99F68DC980DBCD8C91A2385D2B69B204
arm64ABAF3F920B1BC0A088852D7B0B3501D501FDFE6A70ABD460C8F11C8FFD5691B8
4.0.1
x64DE3F6CF1BF55FDA0D154B4C502AA7D6C908E9D920ED26EA3D9FC255D86259EB7
arm64BF57DD5CCCD680EE71B21869CBF706D71DACEC9BD691160AE6EB0C33EA1E3AC3
4.0.0
x6400B3254C502B67B18818396DD72BEBB324D5470F69BC7B1023F10834649907B2
arm64F200DA7180BE8375AC31EAB3D049AF4DEFF3A0108C37EE1C7C4A428A0BBF1CCA
3.0.46
x64B49D04F7F197FC44262F08597B91D2E8E15C1855E1C40D3560694139AC3917FA
arm647EF9F7421F13656B4435EA04E291FF6C6F4EFCAC0582A6A632A1FDCCC8630034
3.0.45
x642C490E289F20806A7627E658B943540A7D0DDAC646CE55F54CAEC04CBEAA3E13
arm64BF109703372FC13C9B0C47F39DB87AE67CB8397AE1DB467CBCF30F4B2E43BCE9
3.0.44
x64B99317A5D264F279F5017C24C43DD956A6A194C78BC879AEA348500172E56849
arm64FBAC25477704373C66D12145DA19C09C2871864D7923622B05BF19EEBC734A64
3.0.43
x6489983322CC4F7AEA18B890DFB3396EB7E28B9E7D70262886C0C676B1CB606F9C
arm64870FAE09E4FECECAD3A324146BEEC7942D0ACB0B0E8089D3564E5A7176F567C5
3.0.42
x6485B86FE756FAF272F2BD5DFCB5D666FC776D096CB88B62E7824FB4970D10D24B
arm64146BDC184DF8EC932CC818327E929DB94066C3DB3F0286080AD27437AB267532
3.0.41
x64BDA29D7C79787896DD27D8C36D937989FF949C699C79E1D7B425CB436279E9F3
arm644CFC2FE709561E2DF8DFBD649702DCF989822FF91E1D6A99C95FA16BBEC62185
3.0.40
x64BF1A9DFE958D720D0C741ABE491C5CEAAB3B0B492C24C65D9ABA7F73BA86BA95
arm64ECA6D038D724B1D172FB8F4A4CAD2A0C51BD4B45C14C1F2ADB5AEC20AAE47C73
3.0.39
x64DC6FBF0965547FD25537A672E77DD6B429E232675B0645FD3C710313CD04C42D
arm640FD4A20B0741E1D912FCA6529B9FA5E9C8A13828ECCFEA992063EA26FE8B4420
3.0.38
x648F286A213A1B42145F68B5AE8767E31DD5419AA8ED47B22A26867AF10E0BA1E9
arm6448F4A62C60B72CD04F3C2FB65A56C811E720448254CC43858DB586333A9F7569
3.0.37
x645699688B1936CE1095164E5975F18791F48BC0FD032A3879D750C7BD8DF27598
arm6485D48BE170B3264B523272B2C7856C483C4B00A4DEFF26334F64FA0F7ED9C486
3.0.36
x644CD7AF2E55598E1A27ACB98D96C6E0E262F12829255AD77CF77260FACB131C62
arm647B41F6539042C8E7FF3C56DAE7FC2676D0D0AB6EABABA4793249C409ED409AB6
3.0.35
x649DF4DCEA8EB61C537BDFC06361F433A8D3D0774E549C395A0BC89DC44742DBC3
arm64AB5971A6D34EFA0901E31602FF67944CE459BCA237406CB37017B9F6DC8E7355
3.0.34
x6469F0CAEF7CDD1B6809829E08AFC71B278C0900B7FE31B20F6EC363A4B7899923
arm64F6F8C131745D476D50E3ED750717C121AF1041D8ABF4944938FDE321815B5D36
3.0.28
neutralFB697B4C0DFD65A9BA8BB8D7B3F8828E3B5D0C612F46C9CB297198E088DB36BD
3.0.11
x64E81A8055BA4207C16A090D431DF50613F30E81E85373B4E738ECFB0717945467
arm64E81A8055BA4207C16A090D431DF50613F30E81E85373B4E738ECFB0717945467
3.0.6
x64C463CA5B0E6DE497447F5389BF8E67B8E7FFE917D404F944E4816C0EE5910E11
arm64B7FCE4384F84ED7D9AAA322AC74CF11C493832AF1E3B37C514B9D02A3718FFBA