Skip to content

Releases: kubescape/node-agent

Release v0.1.110

22 Oct 07:25
71ddf87
Compare
Choose a tag to compare

PR Type:

Enhancement


PR Description:

This pull request updates the k8s-interface library from version v0.0.141 to v0.0.145. The update is reflected in the go.mod and go.sum files.


PR Main Files Walkthrough:

files:

go.mod: The k8s-interface library version has been updated from v0.0.141 to v0.0.145.
go.sum: The checksums for the k8s-interface library have been updated to reflect the new version (v0.0.145).


User Description:

Overview

Release v0.1.107

04 Oct 09:43
5f5f50e
Compare
Choose a tag to compare

PR Type:

Refactoring


PR Description:

This pull request includes major refactoring of the Container Watcher and Relevancy Manager components. It introduces new tracers, reorganizes the container watcher, adds application profile manager, removes libseccomp dependency, adds metadata to CRDs, and const for pool sizes. It also modifies the relevancy manager to handle container events and report file access differently.


PR Main Files Walkthrough:

files:

pkg/containerwatcher/v1/container_watcher.go: The container watcher has been significantly refactored. It now includes a new application profile manager, new tracers, and worker pools for different tasks. The creation and start methods have been updated to accommodate these changes. The stop method has been updated to stop the worker pools and tracers. The libseccomp dependency has been removed.
pkg/relevancymanager/v1/relevancy_manager.go: The relevancy manager has been refactored to handle container events and report file access differently. The ReportContainerStarted and ReportContainerTerminated methods have been replaced with a single ContainerCallback method. The ReportFileAccess method has been simplified. The eventWorkerPool has been removed.
pkg/containerwatcher/v1/container_watcher_private.go: This new file contains private methods for the container watcher, including methods to start and stop the container collection and tracers.
pkg/applicationprofilemanager/v1/applicationprofile_manager.go: This new file introduces the application profile manager, which is used to report capabilities, file execution, and file opening events.
pkg/utils/utils.go: This file has been updated with new utility functions for creating a Kubernetes container ID and checking if a string is in a slice.
pkg/relevancymanager/v1/relevancy_manager_test.go: The tests for the relevancy manager have been updated to reflect the changes in the relevancy manager.
pkg/containerwatcher/v1/capabilities.go: This new file introduces a tracer for capabilities events.
pkg/containerwatcher/v1/open.go: This new file introduces a tracer for file opening events.
pkg/containerwatcher/v1/exec.go: This new file introduces a tracer for file execution events.
pkg/containerwatcher/v1/syscall.go: This new file introduces a tracer for system call events.

Release v0.1.106

02 Oct 16:26
224f9af
Compare
Choose a tag to compare

PR Type:

Enhancement


PR Description:

This PR updates the dependency github.com/cyphar/filepath-securejoin from version 0.2.3 to 0.2.4. The new version includes a security fix for Windows and improved handling of Windows paths that contain volume names.


PR Main Files Walkthrough:

files:

go.mod: The version of github.com/cyphar/filepath-securejoin dependency is updated from 0.2.3 to 0.2.4.
go.sum: The checksum for github.com/cyphar/filepath-securejoin is updated to reflect the new version 0.2.4.


User Description:

Bumps github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4.

Release notes

Sourced from github.com/cyphar/filepath-securejoin's releases.

v0.2.4

This release fixes a potential security issue in filepath-securejoin when used on Windows (GHSA-6xv5-86q9-7xr8, which could be used to generate paths outside of the provided rootfs in certain cases), as well as improving the overall behaviour of filepath-securejoin when dealing with Windows paths that contain volume names. Thanks to Paulo Gomes for discovering and fixing these issues.

In addition, we've switched (at long last) to GitHub Actions and have continuous integration testing on Linux, MacOS, and Windows.

Thanks to the following contributors for making this release possible:

Signed-off-by: Aleksa Sarai [email protected]

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Release v0.1.104

07 Sep 15:56
2de266e
Compare
Choose a tag to compare

PR Type:

Enhancement


PR Description:

This PR introduces the ability to use a non-default namespace in Kubescape by setting an environment variable. Previously, the namespace was hardcoded to "kubescape", but now it can be customized. If no namespace is specified through the environment variable, it defaults to "kubescape".


PR Main Files Walkthrough:

pkg/storage/v1/storage_nocache.go: Introduced a new variable 'namespace' in the StorageNoCache struct. Added a function 'getNamespace' to fetch the namespace from the environment variable "NAMESPACE". If the environment variable is not set, it defaults to "kubescape". Updated the namespace in CreateFilteredSBOM, GetSBOM, and PatchFilteredSBOM methods to use the new 'namespace' variable instead of the hardcoded "kubescape".
pkg/storage/v1/storage_test.go: Updated the namespace in the test cases to use 'defaultNamespace' instead of the hardcoded "kubescape".


User Description:

Overview

Support non default "kubescape" namespace by env var

Release v0.1.103

06 Sep 13:29
d97516a
Compare
Choose a tag to compare

PR Type:

Refactoring, Enhancement


PR Description:

This PR introduces changes to handle incomplete Software Bill of Materials (SBOMs) in the Relevancy Manager. It includes the creation of new error types for container termination and incomplete SBOMs, and the modification of existing functions to handle these errors. Additionally, it includes tests for the new functionality and updates to the mock storage client to support testing.


PR Main Files Walkthrough:

pkg/relevancymanager/relevancy_manager_interface.go: Introduced two new error types: ContainerHasTerminatedError and IncompleteSBOMError.
pkg/relevancymanager/v1/relevancy_manager.go: Refactored error handling in the monitorContainer function to accommodate the new error types. Also, updated the ReportContainerTerminated function to use the new ContainerHasTerminatedError.
pkg/relevancymanager/v1/relevancy_manager_test.go: Updated the existing test to use the new mock storage client function. Added a new test to check the handling of incomplete SBOMs.
pkg/sbomhandler/v1/sbomhandler.go: Modified the FilterSBOM function to stop processing and send an IncompleteSBOMError when the SBOM is incomplete.
pkg/sbomhandler/v1/sbomhandler_test.go: Updated the existing tests to use the new mock storage client function.
pkg/storage/storage_mock.go: Updated the CreateSBOMStorageHttpClientMock function to accept a SBOM file name as an argument, allowing for more flexible testing.
pkg/storage/testdata/sbom-incomplete-mock.json: Added a new mock SBOM file for testing the handling of incomplete SBOMs.

Release v0.1.101

04 Sep 15:26
e6b1b9b
Compare
Choose a tag to compare

PR Type:

Enhancement


PR Description:

This pull request updates the version of the storage client from v0.0.16 to v0.0.18. This update may include bug fixes, enhancements, or new features introduced in the newer version of the storage client.


PR Main Files Walkthrough:

go.mod: The storage client version is updated from v0.0.16 to v0.0.18.
go.sum: The checksums for the storage client are updated to reflect the new version (v0.0.18).

Release v0.1.100

29 Aug 12:44
3487b4b
Compare
Choose a tag to compare

PR Type:

Enhancement


PR Description:

This PR updates the OpenTelemetry dependencies from v1.16.0 to v1.17.0. The changes are reflected in the go.mod and go.sum files.


PR Main Files Walkthrough:

go.mod: The OpenTelemetry dependencies (otel and otel/trace) have been updated from v1.16.0 to v1.17.0.
go.sum: The checksums for the updated OpenTelemetry dependencies have been added.


User Description:

Overview

Release v0.1.98

29 Aug 07:41
32b47f4
Compare
Choose a tag to compare

PR Type:

Refactoring, Enhancement, Tests


PR Description:

This pull request includes a significant refactoring of the SBOM (Software Bill of Materials) handling code. It introduces a new SBOMHandler struct in the pkg/sbomhandler/v1 package, which is responsible for filtering SBOMs and managing image usage counts. The SBOMHandler interacts with a StorageClient to retrieve and store SBOM data. The PR also includes tests for the new SBOMHandler functionality.

Additionally, the PR modifies the FileHandler interface and its implementations, changing the GetFiles method to GetAndDeleteFiles, reflecting the method's behavior more accurately.

The PR also includes the deletion of several files related to the old SBOM handling implementation, indicating a shift towards the new structure.


PR Main Files Walkthrough:

pkg/sbomhandler/v1/sbomhandler.go: Introduces the SBOMHandler struct and its methods. The SBOMHandler is responsible for filtering SBOMs based on relevancy and managing image usage counts. It interacts with a StorageClient to retrieve and store SBOM data.
pkg/sbomhandler/v1/sbomhandler_test.go: Contains unit tests for the SBOMHandler methods, including FilterSBOM, IncrementImageUse, and DecrementImageUse.
pkg/filehandler/v1/filehandler_test.go: Modifies existing tests to accommodate the change from GetFiles to GetAndDeleteFiles in the FileHandler interface.
pkg/storage/v1/storage_test.go: Updates tests to reflect changes in the SBOM handling code.
pkg/storage/v1/storage_nocache.go: Updates the StorageClient implementation to reflect changes in the SBOM handling code.
pkg/storage/storage_mock.go: Updates the mock StorageClient used for testing to reflect changes in the SBOM handling code.
main.go: Updates the main application code to use the new SBOMHandler instead of the old SBOM handling code.
pkg/relevancymanager/v1/relevancy_manager.go: Updates the RelevancyManager code to use the new SBOMHandler.
pkg/relevancymanager/v1/relevancy_manager_test.go: Updates tests for the RelevancyManager to use the new SBOMHandler.
pkg/containerwatcher/v1/container_watcher.go: Updates the ContainerWatcher code to use the new SBOMHandler.

Release v0.1.96

10 Aug 13:17
55d86d9
Compare
Choose a tag to compare

Overview

Release v0.1.93

06 Aug 14:27
af59727
Compare
Choose a tag to compare

Overview