What's Changed
This release brings some long awaited improvements and optimizations.
Some of this required breaking changes, these are listed below.
💣 Breaking
Removed / Replaced ScanTypes
zap-baseline-scan
andzap-advanced
in favor of thezap-automation-framework
. Thezap-automation-framework
ScanTpye includes all functionalities of the removed ScanTypes and can be customized easily. The default ScanType for the AutoDiscovery has been changed to thezap-automation-framework
as well. For migrating to thezap-automation-framework
please refer to migration to zap-automation framework guide.amass
has been replaced withsubfinder
. Amass is still an amzing tool, but with its focus on becoming more of a standalone platform / database for attack surfaces keeping it integrated and updated in the secureCodeBox was getting harder and harder. subfinder is a very good replacement for subdomain discovery, thats also generally quicker and produces a similar result.kubeaudit
was removed as the scanner itself isn't maintaned anymore. As a replacement you can use thetrivy
with it'sk8s
scanning mode, see trivy ScanType k8s example.typo3scan
was removed as the scanner itself isn't maintaned anymore. Most security aspects of typo3 are now hard to verify from the outside as it requires authentication (which is really good). Some typo3 security aspects (e.g. a incomplete installation) can be verified by nuclei.doggo
was removed. Doggo was added primarily as an experimentation to be used to deduplicate duplicate scan target from cascading rules based on DNS entries. That approach hasn't worked out unfortunately. The doggo integration has been non-functional for a while (see: #2853). As an alternative, nuclei already includes some DNS record based checks, if checks for specific records are required custom nuclei rules could be used to fulfil those requirements.cmseek
was removed. cmseek has seen little updates in the last years. Our secureCodeBox integration with cmseek was always pretty basic, only supporting joomla (a specfifc CMS) results, which hasn't been a big focus for us. As a replacement we recommend using nuclei which has joomla rules which will likely receive more updates in the future.
Renamed ClusterRole and ClusterRoleBinding
To avoid naming collisions with other cluster‑scoped resources, the operator's ClusterRole formerly called manager-role
has been renamed to securecodebox‑manager-role
, and the corresponding ClusterRoleBinding manager-rolebinding
is now securecodebox‑manager-rolebinding
. The official Helm chart will automatically create and reference these new names when you update the operator.
If you maintain a custom deployment that directly references manager-role
or manager-rolebinding
, be sure to update those references to securecodebox‑manager-role
and securecodebox‑manager-rolebinding
respectively.
Changes to trivy k8s scope (namespace / cluster)
The kubeauditScope
on the trivy
ScanType chart was renamed to k8sScanScope
Scope. The previous name was used for consistency with the kubeaudit
ScanType, but it never really made sense and was confusing.
The default k8sScanScope
scope was also changed from cluster
to namespace
, The cluster mode needs cluster wide permissions, which makes the trivy chart hard to install in properly locked down RBAC setups.
Removed Integrated Elasticsearch and Kibana Helm Charts
The integrated Elasticsearch and Kibana Helm charts have been dropped from the Persistence ElasticSearch Hook. These charts were intended as a quick-start option, but since Elastic no longer provides their own Helm charts, they have been removed. The documentation has been updated with guidance on setting up an Elasticsearch cluster using the ECK operator.
Changed Default Elasticsearch Index
The default Elasticsearch index has been updated from scbv2
to scb
. The inclusion of v2
was a confusing oversight that has been outdated since the release of secureCodeBox v3.
If you had previously ingested finding using the scbv2 index prefix you can keep using it by setting the indexPrefix
helm value back to scbv2
or by migrating your existing indexes to match the new naming scheme.
Replaced Bitnami MinIO Subchart with Direct MinIO Deployment
Due to upcoming deprecations in Bitnami Helm charts, the operator's MinIO integration has been changed from using the Bitnami MinIO subchart to a direct MinIO deployment using the official docker.io/minio/minio
image.
⚠️ Important Migration Notes:
- Data will NOT be migrated automatically from the old Bitnami MinIO deployment to the new direct MinIO deployment
- If you have important scan data stored in the old MinIO instance, you must manually backup and restore it before upgrading
- The new MinIO deployment uses different naming conventions and storage configurations
For Production Environments:
The included MinIO deployment is intended only for quickstart and development setups. For production environments, you should:
- Use an external S3-compatible storage service (AWS S3, Google Cloud Storage, etc.)
- Set
minio.enabled=false
and configure thes3
section in your values - Refer to the installation documentation for external storage configuration
If you need to continue using the embedded MinIO for development, the new deployment will create a fresh MinIO instance with the same default bucket configuration.
🚀 Features
- Add subfinder scanner by @joel-sass in #3122
- Speed up parser & hook execution time by up to 2x & reduce cpu load by up to 5x by bundling parser & hook sdk by @J12934 in #3137 & #3141
- Add resource & security context config options for trivy db cache by @J12934 in #3037
- Add default RuntimeDefault SecComp Profile to Luker and change Capability to Uppercase to better match Security Policies by @Reet00 in #3116
- Migrate Kubernetes Service AutoDiscovery to use Zap Automation Framework by default by @Reet00 in #3049
- Improve container security by ensuring that the executed code can't be modified by the container user by @J12934 in #3035
🚓 Security Scanner
- Upgraded gitleaks from v8.24.3 to v8.28.0 @secureCodeBoxBot (#3009, #3012, #3032, #3058, #3068, #3145)
- Upgraded nuclei from v3.4.2 to v3.4.7 @secureCodeBoxBot (#3027, #3041, #3089, #3107, #3109)
- Upgraded semgrep from 1.120.0 to 1.131.0 @secureCodeBoxBot (#3017, #3038, #3054, #3066, #3076, #3094, #3100, #3112, #3158, #3163)
- Upgraded sslyze from 6.1.0 to 6.2.0 @secureCodeBoxBot (#3166)
- Upgraded subfinder from v2.7.0 to v2.8.0 @secureCodeBoxBot (#3155)
- Upgraded trivy from 0.61.1 to 0.65.0 @secureCodeBoxBot (#3011, #3016, #3055, #3108, #3110, #3164)
- Upgraded trivy-sbom from 0.61.1 to 0.65.0 @secureCodeBoxBot (#3010, #3015, #3056, #3106, #3111, #3162)
- Upgraded whatweb from v0.5.5 to v6.0.1 @secureCodeBoxBot (#3165)
🐛 Bug Fixes
📚 Documentation
- Add rust community scanner by @Weltraumschaf in #3078
- Add YouTube Presentation of scbctl From Thibaut Batale by @Weltraumschaf in #3064
- Add Blog Post about Launch of SCBaaS by @Weltraumschaf in #3118
- Document Project Lead Sync Meeting by @Weltraumschaf in #3090
- Correct duplicated hostname reference in CascadingHook docs by @J12934 in #3172
- Update documentation after initial project lead sync by @Weltraumschaf in #3050
- Inline Link In Markdown To Fix Post Overview by @Weltraumschaf in #3121
🔧 Maintenance
- Add dependabot config for helm charts by @J12934 in #3018
- Drop axios from hook-sdk by @J12934 in #2977
- Migrate Scanner / Parsers to ESM and @kubernetes/client-node v1.x by @J12934 in #3088
- Update Various CI Components by @J12934 in #3136
- Resolve minor security warnings by @J12934 in #3140
- Update test assertions for the integration-test by @Reet00 in #3059
📌 Dependencies
Minor dependency updates (63 pull requests). Click to expand.
- Bump mikefarah/yq from 4.45.1 to 4.45.2 in /.github/workflows in the github-actions-version-updates group across 1 directory by @dependabot[bot] in #3014
- Bump the npm-version-updates group across 1 directory with 3 updates by @dependabot[bot] in #3013
- Bump the helm-version-updates group across 2 directories with 3 updates by @dependabot[bot] in #3019
- Bump the npm-version-updates group in /documentation with 2 updates by @dependabot[bot] in #3021
- Bump mikefarah/yq from 4.45.2 to 4.45.4 in /.github/workflows in the github-actions-version-updates group across 1 directory by @dependabot[bot] in #3031
- Bump minio from 16.0.8 to 16.0.10 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3029
- Bump the npm-version-updates group in /documentation with 2 updates by @dependabot[bot] in #3028
- Bump the npm-version-updates group in /documentation with 3 updates by @dependabot[bot] in #3042
- Bump the npm-version-updates group in /documentation with 2 updates by @dependabot[bot] in #3048
- Bump the gradle-version-updates group across 1 directory with 13 updates by @dependabot[bot] in #2970
- Bump the npm-version-updates group in /documentation with 9 updates by @dependabot[bot] in #3061
- Bump the gradle-version-updates group in /hooks/persistence-defectdojo/hook with 9 updates by @dependabot[bot] in #3060
- Bump org.junit:junit-bom from 5.13.0 to 5.13.1 in /hooks/persistence-defectdojo/hook in the gradle-version-updates group by @dependabot[bot] in #3071
- Bump minio from 16.0.10 to 17.0.3 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3072
- Bump requests from 2.32.0 to 2.32.4 in /auto-discovery/kubernetes/pull-secret-extractor by @dependabot[bot] in #3074
- Bump the npm-version-updates group in /documentation with 7 updates by @dependabot[bot] in #3069
- Bump the gradle-version-updates group in /hooks/persistence-defectdojo/hook with 5 updates by @dependabot[bot] in #3084
- Bump the npm-version-updates group in /documentation with 3 updates by @dependabot[bot] in #3083
- Bump minio from 17.0.3 to 17.0.4 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3087
- Bump @types/node from 24.0.2 to 24.0.3 in /documentation in the npm-version-updates group by @dependabot[bot] in #3098
- Bump minio from 17.0.4 to 17.0.6 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3097
- Bump io.freefair.lombok from 8.13.1 to 8.14 in /hooks/persistence-defectdojo/hook in the gradle-version-updates group by @dependabot[bot] in #3095
- Bump minio from 17.0.6 to 17.0.9 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3104
- Bump @types/node from 24.0.3 to 24.0.7 in /documentation in the npm-version-updates group by @dependabot[bot] in #3101
- Bump org.junit:junit-bom from 5.13.1 to 5.13.2 in /hooks/persistence-defectdojo/hook in the gradle-version-updates group by @dependabot[bot] in #3105
- Bump @types/node from 24.0.7 to 24.0.10 in /documentation in the npm-version-updates group by @dependabot[bot] in #3115
- Bump org.junit:junit-bom from 5.13.2 to 5.13.3 in /hooks/persistence-defectdojo/hook in the gradle-version-updates group by @dependabot[bot] in #3114
- Bump urllib3 from 1.26.19 to 2.5.0 in /auto-discovery/kubernetes/pull-secret-extractor by @dependabot[bot] in #3093
- Bump minio from 17.0.9 to 17.0.12 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3124
- Bump mikefarah/yq from 4.45.4 to 4.46.1 in /.github/workflows in the github-actions-version-updates group across 1 directory by @dependabot[bot] in #3125
- Bump @types/node from 24.0.10 to 24.0.13 in /documentation in the npm-version-updates group by @dependabot[bot] in #3123
- Update kubebuilder dependencies for operator and auto-discovery by @J12934 in #3135
- Bump the npm-security-updates group in /documentation with 2 updates by @dependabot[bot] in #3138
- Bump golang.org/x/oauth2 from 0.12.0 to 0.27.0 in /auto-discovery/cloud-aws by @dependabot[bot] in #3142
- Bump form-data from 4.0.1 to 4.0.4 in /parser-sdk/nodejs in the npm-security-updates group across 1 directory by @dependabot[bot] in #3149
- Bump form-data from 4.0.3 to 4.0.4 in /hooks/cascading-scans/hook by @dependabot[bot] in #3150
- Bump the npm-security-updates group across 2 directories with 1 update by @dependabot[bot] in #3151
- Update to latest golang version by @J12934 in #3154
- Bump form-data from 4.0.3 to 4.0.4 in /hooks/notification/hook by @dependabot[bot] in #3157
- Bump the npm-version-updates group in /documentation with 5 updates by @dependabot[bot] in #3167
- Bump mikefarah/yq from 4.46.1 to 4.47.1 in /.github/workflows in the github-actions-version-updates group across 1 directory by @dependabot[bot] in #3168
- Bump minio from 17.0.12 to 17.0.16 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3169
- Bump semver from 7.6.3 to 7.7.2 in /bin in the npm-version-updates group across 1 directory by @dependabot[bot] in #3171
- Bump the gradle-version-updates group in /hooks/persistence-defectdojo/hook with 6 updates by @dependabot[bot] in #3170
- Configure Renovate to Update Dependencies in Dockerfiles by @renovate[bot] in #3174
- Update golang Docker tag to v1.24.6 by @renovate[bot] in #3176
- Update alpine Docker tag to v3.22 by @renovate[bot] in #3177
- Update martinhelmich/typo3 Docker tag to v9.5 by @renovate[bot] in #3179
- Update debian Docker tag to v12.11 by @renovate[bot] in #3178
- Update nginx Docker tag to v1.29 by @renovate[bot] in #3181
- Add gomod to dependabot and remove docker dep by @Reet00 in #3180
- Update ubuntu Docker tag to v24 by @renovate[bot] in #3184
- Bump actions/download-artifact from 4 to 5 in /.github/workflows in the github-actions-version-updates group across 1 directory by @dependabot[bot] in #3188
- Bump sass from 1.89.2 to 1.90.0 in /documentation in the npm-version-updates group by @dependabot[bot] in #3187
- Exclude demo targets in renovate-bot by @Reet00 in #3189
- Bump @types/node from 24.2.0 to 24.2.1 in /documentation in the npm-version-updates group by @dependabot[bot] in #3193
- Bump minio from 17.0.16 to 17.0.19 in /operator in the helm-version-updates group across 1 directory by @dependabot[bot] in #3195
- Bump the go-version-updates group across 4 directories with 12 updates by @dependabot[bot] in #3194
- Update renovate bot for demo-targets by @Reet00 in #3196
- Update docker.io/bkimminich/juice-shop Docker tag to v13.3.0 by @renovate[bot] in #3199
- Update docker.io/swaggerapi/petstore Docker tag to v1.0.7 - autoclosed by @renovate[bot] in #3198
- Update docker.io/bkimminich/juice-shop Docker tag to v18 by @renovate[bot] in #3200
- Update debian Docker tag to v13 by @renovate[bot] in #3201
New Contributors
- @joel-sass made their first contribution in #3122
- @renovate[bot] made their first contribution in #3174
Full Changelog: v4.16.0...v5.0.0