1
0
Fork 0
mirror of https://github.com/kubescape/kubescape.git synced 2024-12-14 11:37:35 +00:00
Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, compliance, and misconfiguration scanning, saving Kubernetes users and administrators precious time, effort, and resources.
Find a file
Matthias Bertschy 326a3e4c63
Merge pull request #1776 from kubescape/dependabot/go_modules/golang.org/x/crypto-0.31.0
Bump golang.org/x/crypto from 0.27.0 to 0.31.0
2024-12-13 17:04:34 +01:00
.github try to override GITHUB_REF for krew publisher 2024-11-19 14:49:49 +01:00
build use distroless static for kubescape-cli image 2024-12-03 13:36:11 +01:00
cmd Implementing capability to print out the "print" statements of the rego 2024-11-20 00:10:18 +02:00
core add debug log on resource fetch with count 2024-12-11 07:35:36 +01:00
docs add architecture to README.md + fix first paragraph to bullets 2024-07-15 17:43:09 +03:00
examples ruleName not supported in exceptions 2024-06-09 09:54:09 +03:00
httphandler Bump golang.org/x/crypto from 0.27.0 to 0.31.0 in /httphandler 2024-12-13 14:18:38 +00:00
internal/testutils fixed test (#1573) 2024-01-07 16:26:34 +02:00
pkg/imagescan bump syft version 2024-04-29 14:00:18 +02:00
smoke_testing add prints to smoketest 2023-08-02 09:52:01 +03:00
.gitattributes chore: keep CRLF in fixhandler test data file 2023-01-13 12:03:12 +02:00
.gitignore use goreleaser for builds 2024-01-09 08:10:05 +01:00
.golangci.yml fixes for vap helper 2024-06-04 13:41:00 +02:00
.goreleaser.yaml re-enable checksum generation for releases 2024-04-22 13:19:27 +02:00
.krew.yaml add cross compilation for ubuntu arm64 2023-04-07 00:47:40 +03:00
ADOPTERS.md Update ADOPTERS.md 2024-11-26 11:39:16 +02:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2024-11-26 11:39:18 +02:00
COMMUNITY.md Add COMMUNITY.md 2024-11-26 11:39:20 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-11-26 11:39:21 +02:00
go.mod Bump golang.org/x/crypto from 0.27.0 to 0.31.0 2024-12-13 15:31:42 +00:00
go.sum Bump golang.org/x/crypto from 0.27.0 to 0.31.0 2024-12-13 15:31:42 +00:00
GOVERNANCE.md Update GOVERNANCE.md 2024-11-26 11:39:23 +02:00
install.ps1 Error Fixed when downloading on azure cloud vm environment (#720) 2023-09-01 08:03:12 +03:00
install.sh fix install.sh when sudo is required to delete /usr/local/bin/kubescape 2023-11-23 10:35:12 +01:00
LICENSE start using cobra pkg for cli flags 2021-08-24 17:35:57 +03:00
main.go use pager.EachListItem to filter parented resources 2024-07-03 16:41:12 +02:00
MAINTAINERS.md Update MAINTAINERS.md 2024-11-26 11:39:24 +02:00
Makefile remove libgit files and dependencies 2024-01-20 10:24:21 +01:00
README.md some easy doc fixes 2024-11-18 15:26:33 +13:00
SECURITY-INSIGHTS.yml Update maintainers in SECURITY-INSIGHTS.yml (#1774) 2024-12-11 17:58:13 +02:00
SECURITY.md Update SECURITY.md 2024-11-26 11:39:26 +02:00

Version build Go Report Card Gitpod Ready-to-Code GitHub CNCF Artifact HUB FOSSA Status OpenSSF Best Practices OpenSSF Scorecard Stars Twitter Follow Slack

Kubescape

Kubescape logo

Comprehensive Kubernetes Security from Development to Runtime

Kubescape is an open-source Kubernetes security platform that provides comprehensive security coverage from left to right across the entire development and deployment lifecycle. It offers hardening, posture management, and runtime security capabilities to ensure robust protection for Kubernetes environments.

Key features of Kubescape include

  • Shift-left security: Kubescape enables developers to scan for misconfigurations as early as the manifest file submission stage, promoting a proactive approach to security.
  • IDE and CI/CD integration: The tool integrates seamlessly with popular IDEs like VSCode and Lens, as well as CI/CD platforms such as GitHub and GitLab, allowing for security checks throughout the development process.
  • Cluster scanning: Kubescape can scan active Kubernetes clusters for vulnerabilities, misconfigurations, and security issues
  • Multiple framework support: Kubescape can test against various security frameworks, including NSA, MITRE, SOC2, and more.
  • YAML and Helm chart validation: The tool checks YAML files and Helm charts for correct configuration according to the frameworks above, without requiring an active cluster.
  • Kubernetes hardening: Kubescape ensures proactive identification and rapid remediation of misconfigurations and vulnerabilities through manual, recurring, or event-triggered scans.
  • Runtime security: Kubescape extends its protection to the runtime environment, providing continuous monitoring and threat detection for deployed applications.
  • Compliance management: The tool aids in maintaining compliance with recognized frameworks and standards, simplifying the process of meeting regulatory requirements.
  • Multi-cloud support: Kubescape offers frictionless security across various cloud providers and Kubernetes distributions.

By providing this comprehensive security coverage from development to production, Kubescape enables organizations to implement a robust security posture throughout their Kubernetes deployment, addressing potential vulnerabilities and threats at every stage of the application lifecycle.

Kubescape was created by ARMO and is a Cloud Native Computing Foundation (CNCF) sandbox project.

Please star the repo if you want us to continue developing and improving Kubescape! 😀

Demo

Kubescape has a command line tool that you can use to quickly get a report on the security posture of a Kubernetes cluster:

Getting started

Experimenting with Kubescape is as easy as:

curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash

This script will automatically download the latest Kubescape CLI release and scan the Kubernetes cluster in your current kubectl context.

Learn more about:

Did you know you can use Kubescape in all these places?

Places you can use Kubescape: in your IDE, CI, CD, or against a running cluster.

Continuous security monitoring with the Kubescape Operator

As well as a CLI, Kubescape provides an in-cluster mode, which is installed via a Helm chart. Kubescape in-cluster provides extensive features such as continuous scanning, image vulnerability scanning, runtime analysis, network policy generation, and more. Learn more about the Kubescape operator.

Using Kubescape as a GitHub Action

Kubescape can be used as a GitHub Action. This is a great way to integrate Kubescape into your CI/CD pipeline. You can find the Kubescape GitHub Action in the GitHub Action marketplace.

Under the hood

Kubescape uses Open Policy Agent to verify Kubernetes objects against a library of posture controls. Kubescape retrieves Kubernetes resources from the API server and runs a set of Rego snippets developed by ARMO.

Container image scanning is powered by Grype and image patching uses Copacetic.

By default, CLI scan results are printed in a console-friendly manner, but they can be:

  • exported to JSON, junit XML or SARIF
  • rendered to HTML or PDF
  • submitted to a cloud service

In-cluster architecture

Architecture diagram

Community

We welcome user feedback and ideas for improvement.

Kubescape users and developers meet on the CNCF Slack. Join it and find us in #kubescape or #kubescape-dev.

We hold community meetings on Zoom, every second Tuesday, at 15:00 CET. (See that in your local time zone.

The Kubescape project follows the CNCF Code of Conduct.

Adopters

See here for a list of reference adopters.

Contributions

Thanks to all our contributors! Check out our CONTRIBUTING file to learn how to join them.

  • Feel free to pick a task from the issues, roadmap or suggest a feature of your own.
  • Open an issue: we aim to respond to all issues within 48 hours.

Changelog

Kubescape changes are tracked on the release page.

License

Copyright 2021-2024, the Kubescape Authors. All rights reserved. Kubescape is released under the Apache 2.0 license. See the LICENSE file for details.

Kubescape is a Cloud Native Computing Foundation (CNCF) sandbox project and was contributed by ARMO.

CNCF Sandbox Project