RATATOSKRATATOSK
ログイン

Kubescape

v4.0.17Security
2026年10月28日

ACTION 1CHECK 5OTHER 151

MCP、スキャン、レポート、出力機能を拡張し、正確性や決定的な動作、入力検証、性能を改善した保守リリースです。設定では `accountID` に UUID が必要になり、CSV 系の出力や変数参照に関する安全性も向上しています。

要対応 (1)

  • breakingaccountID の UUID 必須化

    config set と config validate で、accountID に UUID を指定する必要があります。

影響確認 (5)

  • securitysummary CSV の数式インジェクション対策

    summary CSV を生成する場合に適用されます。

    summary CSV 出力に含まれるスプレッドシート数式のインジェクションを無効化します。

  • securityCSV 出力の数式インジェクション対策

    CSV を生成する場合に適用されます。

    CSV 出力に含まれるスプレッドシート数式のインジェクションを無効化します。

  • security変数参照による URI 認証情報の露出防止

    URI の構成要素が変数参照の場合に適用されます。

    URI の構成要素が変数参照の場合に、認証情報が露出しないようにします。

  • securityCSV レポートの数式インジェクション対策

    CSV レポートを生成する場合に適用されます。

    CSV レポート出力に含まれるスプレッドシート数式のインジェクションを無効化します。

  • securityVAP の CSV 出力における数式インジェクション対策

    CSV を生成する場合に適用されます。

    CSV 出力に含まれるスプレッドシート数式のインジェクションを無効化します。

その他の記録済み変更 151 件すべてfixes 113 · additions 26 · value changes 6 · constraints 4 · defaults 1 · removals 1

fixes (113)

  • * bed990c8c36d03b1cd2f171e8b85be0bcad071ca Fix/cel variable cycle detection (#4315)
  • * 94760feb32797a3a106c58522edf2919a9376e8b Fix/rbacgraph workload controller serviceaccount (#4181)
  • * 233a5c8b4eb1fd9db12773cee33444e5afe151de Fix/runtime profile drift safety (#4169)
  • * 6acf0bbdb41e07ab27888665095965c4fa4ce895 Fix/scan reject include and exclude namespaces (#4194)
  • * 60e6fcf46cd09c6e3c92221e9d7f9ddb8ea55b7d fix(analysis): honor automatic namespace name labels (#4174)
  • * 512c1305e0f097a308535cb7c89fb9f5cad6f402 fix(attackpath): preserve ServiceAccount index snapshot semantics (#4295)
  • * a9ca4015c435818973df607a0c00abfaa6c1a891 fix(cautils): carry delete/review paths and fix command into v1 reports (#3985)
  • * 2d37c41e5df5499ac427cc929c29ee2b5a13e368 fix(cautils): correct account ID error typo (#4330)
  • * 5ee2e31f5702ccfe9c3438b99f697474072c1fad fix(cel): apply a scoped binding's paramRef to the objects it binds (#4278) (#4279)
  • * f98d84ce46650c0da317797be69711b9dac6fa32 fix(cel): normalize namespaceObject nulls like the typed decode (#4303)
  • * b393a028179e58156f1a0cfb081993186d44f678 fix(cel): treat empty yaml fields as unset (#4289)
  • * 67e5f136919b003eb5f9c84bc443d35dabb7b55f fix(cel): use namespaceselector for binding scope matching (#4326) (#4327)
  • * 4639ef2cc9ea9ee25ce35d9d17a3b8c2bb01dd6e fix(cel): warn on validation evaluation errors (#4337)
  • * 6f51c4a24a6838458e79401b6cd95da2979c28c7 fix(cli): name the flag and valid range in out-of-range threshold errors (#4343)
  • * a6d9db447d0ad6a1f3a2ee1d0fb30d558618221f fix(cmd): propagate root context and cancellation to subcommands (#4079)
  • * 73337910bb551bdf658681d63eca4cf179330a51 fix(completion): honor command output and return write errors (#4189)
  • * fc205ca7a58769fb830f90f8b7f4e7d199869cbb fix(config): report a failure to delete the cached config (#4384)
  • * d455fec79ea847b55117fc8a56af376342962ea0 fix(core): match imagePullSecret registry keys the way the kubelet does (#4396)
  • * 583c2d7c91ca37ff7106559c71c92591488bc539 fix(diff): bound and validate report file reads (#4180)
  • * 0044760a4b9d18871d2df7dc9de5518696012491 fix(diff): dispatch unreadable report pairings with vulnerability reports to vulnerability loader (#4411)
  • * 57521776799730c8b71a19ae998c0ce7bda03a3b fix(diff): distinguish vulnerability package namespaces (#4407)
  • * 4bbc84253f033295b81a66124ce42f503acc402c fix(diff): only treat coverage gaps that affect the control as inconclusive (#4258)
  • * a0b30e6c980a8c776eeb6a5b41bb6a07a5c5e4dd fix(diff): write a diff file inside a --output directory (#4172)
  • * b7035113a04ce7c1d12eec884e2c89c0a2e04d57 fix(exposure): apply framework-scoped exceptions in per-resource output and fix (#4219)
  • * b0415d39a9e7f09f47933e5adb387ecda6742e76 fix(exposure): include active Gateway request mirrors (#4175)
  • * f8daefeebfa496019b35313be026a617fdceeed8 fix(fleetscan): detect case-insensitive output path collisions across contexts (#4357)
  • * cb139aed05b305cfcd5b0b6c35daa9dada0954c0 fix(getter): resolve control section numbers in GetControl (#4263)
  • * 667900521619172f517800a3a4124cc5ef7911a8 fix(gitlab-sast): report scan coverage gaps in scan.messages (#4206)
  • * db78f2539b02eca751f7aaa155443f28a31f6de5 fix(helm): scan only vendored chart dependencies (#4020)
  • * 453576661ccc817fc2897d73bdda2cc7bb760fcc fix(httphandler): keep storing posture results after a build error (#4241)
  • * b6b9566e3c835dd230f2392623d8dc47004a3066 fix(httphandler): remove markdown and exceptions results on cleanup (#4254)
  • * 764442a7499866af35dda29fe542e1772c1da904 fix(imagescan): clear Azure session state when login fails (#4282)
  • * 4ad3285c4f837243e0c47824b9084dca3489121a fix(imagescan): clear ECR session before login attempts (#4292)
  • * c1a2c90e634ee32e0a8e50b0a9419b3dde8c548b fix(imagescan): clear GCP session before validating a new login (#4297)
  • * 09d0f50e1aebbfb24f94445902eb2f18ede07a34 fix(imagescan): clear GitLab session state when login fails (#4286)
  • * 0d3055447a5157ac42e1f6d9530eb2a593fa58fb fix(imagescan): clear Harbor session state when login fails (#4302)
  • * b5bff4be39926a7846d989f052271ee1b52ff29b fix(imagescan): exclude closed ECR enhanced findings (#4294)
  • * c381e1e22b43b3adbe60348611ed97388b002e27 fix(imagescan): identify GCP vulnerabilities by their Grafeas notes (#4283)
  • * 48cff2b70e52e7ef36dd9f8b20dc483cc58709e7 fix(imagescan): keep untriaged findings at unknown severity (#4409)
  • * 5532425b81cb7614f5210662386c8cea61bb9b00 fix(imagescan): reject incomplete Harbor vulnerability reports (#4284)
  • * 74539dbeb6287ecefc65d9b8174c7a1b627387d8 fix(imagescan): report incomplete Azure vulnerability results (#4416)
  • * 2959d982fd75710151d47de4059fd1fb2ff101dd fix(imagescan): report incomplete GCP occurrence results (#4415)
  • * 130bd09b37935c54b8ac0de317f24cf5a000c9a2 fix(imagescan): retain partial GitLab vulnerability data (#4204)
  • * 2ecf64227f48a2096eae2c6f94f0e1750c80b189 fix(list): reject an unknown --framework instead of listing nothing (#4382)
  • * c39cfc8359df63309eb234d161501d030544c486 fix(list): validate controls config target (#4422)
  • * 508f2384f3004c5224b443ed683eff11eb2c1004 fix(list): validate format flag upfront before querying policies (#4383)
  • * 018c1736cb80efc91e90eb729ae5fdbd9d3a6f0d fix(mapreconcile): account for equivalent exclusion rules (#4235)
  • * 7d92c169e58536032490ac6c9abed116cc325c79 fix(mapreconcile): infer immutable namespace-name labels (#4417)
  • * 2dc2663a71e1a57cf8514d528353168a394e8b64 fix(mcp): handle marshal errors in advanced tools (#4262)
  • * 3beddbc3b31a7eb56eb2892153bc9630f6589496 fix(mcpserver): add missing workload kinds to advanced tools (#4223)
  • * 955138fa1ed8b908cf593025a74e1336a3fd1318 fix(mcpserver): classify RBAC escalation list failures (#4317)
  • * fba406bf6221ef5a7e518929270ea18191553c12 fix(mcpserver): classify advanced tool API errors correctly (#4322)
  • * 80f68203d3494271b190a0b2993fca8c91a69a6a fix(mcpserver): classify errors in list admission policies (#4387)
  • * 5f81a18b33bb9e81c2890f8432e1c5c8e6f88cee fix(mcpserver): classify forbidden and timeout errors in analyze_mutating_admission_policy_impact (#4318)
  • * 92e6fa9eda0e3ecbfba9eee73dba38885d530a27 fix(mcpserver): detect secrets in ConfigMap binary content (#4265)
  • * 0385707ec105bfc7b2bb4183d439d49949db91d6 fix(mcpserver): find the namespace by name in get tools when none is given (#4306)
  • * 7d8d968caa5c6a3c255105058981b43a62b04d10 fix(mcpserver): keep vulnerability package URLs distinct (#4313)
  • * 137d07d0605e198a50b772b2b1229abaaefef3c2 fix(mcpserver): shut down the SSE transport gracefully on SIGINT/SIGTERM (#4178)
  • * 3c815b3c198864abb2e7257df3257cceabba542d fix(mcpserver): support patch_type in dry_run_remediation (#4321)
  • * 87f16a6296f82ec29e9e9dab915fe7ffdb397752 fix(mcpserver): switch scan response to cautils.ResourceStatus (#4350)
  • * f7cd3a9b3517f4ca0de3c0defc1a94b639b8d58a fix(mcpserver): use structured argument helpers in analyze_rbac_escalation_paths (#4221)
  • * 081b11d8abd0811a20651f9ffe8eb4b46c016798 fix(mcpserver): validate mutating policy impact arguments (#4197)
  • * acd1322751be3bdd93a40c092e22d31dd5a9efe7 fix(patch): allow omitted format flag in patch command (#4345)
  • * 2e5d64bdadfb5c3e84b71334f2011cd6df234fce fix(policy): load YAML fixtures regardless of extension casing (#4421)
  • * 806933db00fdc376a7c443a3702949b5e643f5e1 fix(policy): sort equal-path fixes by value during fixture comparison (#4388)
  • * 5e4e7c853881389d0d2b687248420d997d3bfb87 fix(predict): report the running kubescape version in PSS SARIF output (#4419)
  • * 125740818397385b3b28469d9688717a1496fe4f fix(printer): break attack tree score ties by resource ID (#4296)
  • * f5e8b008d5b1bfed24b133a1489f51131cfcbc89 fix(printer): ensure deterministic output ordering in pretty and markdown printers (#4190)
  • * 28ea38505154dda46ee6870c8d14a13220829cc3 fix(printer): fallback to Source.Path when RelativePath is empty in JUnit and resource table (#4222)
  • * ff2a474af5d7a947e45cd1e5bb781ff55f4f12a4 fix(printer): fix HTML report table syntax and ensure deterministic resource ordering (#4173)
  • * 7fdeb9dbc17b68caba175a449507ff61aac91c72 fix(printer): keep parent components of a --output directory (#4177)
  • * b76920243a88d6cb568196bcf267e18385c09f82 fix(printer): preserve symlink parent paths in GetWriter and GetWriterNoStdoutFallback (#4233)
  • * 8e6726d1b217d7e87ba395f8a3b3f5d559020a36 fix(printer): reject mixed GitLab posture and image reports (#4157)
  • * 509ec235ee289d89b00b46c0c280f0a5b2628420 fix(printer): resolve JSON/YAML evidence from delete and review paths (#3984)
  • * a1c110aa4bbeaffa900752515253c4aeb516e08e fix(printer): return GitHub Actions output write errors (#4156)
  • * 0e5db029e5a23ab23584889bf32cdfa3910fdfbb fix(printer): write the default report inside a --output directory (#4166)
  • * 81e6a13988e65bf7887fd4e266de35e570d81edc fix(prometheus): emit control, framework, and multi-image metrics in deterministic order (#4287)
  • * 33f04a941b9ddc816c1f59304d1478e925d9487b fix(prometheus): emit resource and image metrics in deterministic order (#4285)
  • * c668dba9472dedf3e051ad3d9d16867625f509e9 fix(pss): decode local manifests case-sensitively (#4331)
  • * 65c6ea31ef27d02ef3dafd76a8991a04990d5ca4 fix(pss): evaluate every workload in local JSON streams (#4237)
  • * 244e836611c32b45d4273c1a549e48072d0c4a90 fix(pss): evaluate local ReplicationController and PodTemplate manifests (#4391)
  • * 7806de9940e4891311a02d056dba48e1e96f4896 fix(pss): follow workload list continuation tokens (#4205)
  • * d00573291fb49ec569f148da0106974f610566a1 fix(pss): preserve distinct child workload violations (#4266)
  • * 3f54029beb474847dccc3e2e8dd2d32e9a78fef0 fix(pss): preserve workload namespaces in prediction reports (#4312)
  • * 1f12120be7efac5954bf6aa29351c053f4617484 fix(pss): reject empty container specs during decoding (#4276)
  • * de2ae28860afb1040b41f203e588321985fe43e3 fix(pss): reject malformed Kubernetes List members (#4311)
  • * e4a2b72851a61737b91ce138ae57908b8663333b fix(pss): scope owner deduplication to the workload namespace (#4293)
  • * 70e29c1fe7f69b8808bef1f4990a47d4cb9c15f7 fix(rbac): separate impersonation targets from permission grants (#4176)
  • * 6ddc0f37fd4c5057d226643f39c0e141d1842487 fix(report): emit v1 ControlReports and RuleReports in deterministic order (#4185)
  • * 709280a3d0f461309b44ad5a5d98b33ee59bf321 fix(reports): preserve int64 values during anonymization and decryption (#4408)
  • * d4f079bbcb1d0a9824cb9b7c7a675e3184a5f26d fix(resourcehandler): collect APIServerInfo on every cluster scan (#4272)
  • * 3927b797babc61d38ddc51ec341bad0cd8446e39 fix(resourcehandler): preserve independent manifest sources (#4335)
  • * baa50edf3bb38cfe5c41848730e9199c9f790d07 fix(resourcehandler): resolve a wildcard version to the registered one instead of an empty one (#4290)
  • * 48952bda362e1abc704d4c778b7787248e7359d2 fix(scan): check every output path before opening any report file (#4342)
  • * 773f28ec61f80f29a65896a8e3c2ba7cfe8c72ee fix(scan): detect output path collisions when output is whitespace or directory (#4307)
  • * 26b2d357e67f225935adebeefc803682d89271e8 fix(scan): do not dereference a nil envelope returned by NewObject (#4325)
  • * 1c6f9abe4c591f761986b8c9e902ebfbac266b5a fix(scan): exclude computed status lookups from incremental caching (#4236)
  • * b9fb80c61fe0f5140ea9515628803ccbcafd16d9 fix(scan): reject a whitespace-only --format (#4354)
  • * d32d8ca9a68306b8d3f03045c511fe5750ad9331 fix(scan): resolve exclusion roots above wildcard directories (#4348)
  • * 6dbe65bc47b7bc9a3b01d85ee80fbcc42364a424 fix(scan): validate empty and whitespace-only policy names in framework and control args (#4424)
  • * a490ed9c0ce33dd4a43d6796032eee3ea5240c02 fix(scan): validate items only in Kubernetes list envelopes (#4351)
  • * 36edcbd5372c1fff778d0d017dbe68f38afc083f fix(scancache): isolate cached control verdicts (#4203)
  • * 6239750b7c972e8171bfc10742c5b20766a959e4 fix(storage): delete posture records the latest full scan no longer reports (#4267)
  • * 9560b80e31099d98fae8260634443aec6c8b6019 fix(v2): add nil safety guards for vulnerability metadata (#4339)
  • * 8288ae571771fe7de75a0d0f73d2e078ed1873de fix(v2): add nil-safety guards for summary and report objects (#4328)
  • * 46ccc146764a9d83b3615c048381b491c9172a39 fix(vap): use GetWriterNoFallback in writeOutput (#4268)
  • * b948f861a8467d05dc7d2838505c926cb45f1789 fix(vapreconcile): evaluate control status with framework awareness in coverage (#4359)
  • * f8ac0d164dec88b1fa937963768f4363c1098b56 fix(vapreconcile): honor policy selectors in resource coverage (#4291)
  • * 605a496d988315727943f056693750d6822548c1 fix(vapreconcile): resolve immutable namespace-name selectors (#4277)
  • * e68ab6dcc6cd7c6a39592e91050d7f88914ea923 fix: isolate framework-scoped exceptions in scan results (#3867)
  • * f99ced514203d3d9d85cd3c045e50751573ab9e0 fix: keep scores below 100 from printing as 100 (#4244)
  • * 009338452f7d68dde937ecd88dce152f0aab46ab fix: reject extra fix command arguments (#4256)
  • * 62e62ff736b0b137300b07fbc97d8cdd55c2bd9d fix: trim whitespace in severity thresholds (#4240)

additions (26)

  • * 5a9d63bcc6cc42a6fe1b2056c035fbfbce723613 Feat/mcp apply remediation report items from posture reports (#4163)
  • * f3baa42e2bd644c45f6fdb2aa105fdfc4d46aa02 feat(attackpath): Phase 1 – shared input adapter and resolvers (no CLI changes) (#3944)
  • * 57b15bd971848dd335ada41bd2e23ae050361905 feat(clustercomponents): build a normalized inventory of cluster components (#4216)
  • * 4319ba413347d2666acea0ff8d3a2ce156181706 feat(diff): add semantic ANSI color highlights to image vulnerability diff output (#4376)
  • * 8ade5fcdd620723183fd445d54279b691bd187e6 feat(diff): add semantic ANSI colors to human-readable output (#4310)
  • * d5e05562f3b7c86caa23fb5fb3e1b0162ccbfa33 feat(exposure): evaluate Gateway API ReferenceGrants for cross-namespace backends (#4217)
  • * fb0cc235016c752adeb8ade7f35e539b52c4dd72 feat(fix): add Helm --output-post-renderer and harden overlay staging & boundaries (#4393)
  • * 404dd3519d5d0eab115fadc7182a3bddbfa2b01b feat(fix): emit Kustomize JSON6902 patches for Helm-rendered resources (#4034)
  • * 7f277d4f1fe57ec90766bda0f32d4bf39cc45888 feat(fleet): graded exit codes for fleet runs (#4184)
  • * c5c79f41bf115c37f856e594509f5d13151be172 feat(fleet): read fleet settings from a config file [lfx 2026] (#4288)
  • * 178654652fc78eba48cfbf0a7ae25f2a107e5d5d feat(imagescan): expose package-list matching for non-image scans (#4215)
  • * 43022aa310eb3b0e5adb66d20d47d70d8b193313 feat(k8scveindex): attribute Kubernetes CVEs to components using the official feed (#4225)
  • * 3caf513d66a2501a5ad0114d32bbd6e553280c7b feat(list): add semantic ANSI colors to list tables and configurations (#4324)
  • * da0d55de26995bcd7e03da37fe2f979e3eed2369 feat(mcp): add include_identity to analyze_vulnerability_exposure (#4191)
  • * 11b6cfff20d41b4d09a730c03ed7c1fe0d511f50 feat(mcpserver): add create_admission_policy_binding tool (#4260)
  • * 32da7c733db298b2f3af4163772f1514ab2d0685 feat(mcpserver): add list_configuration_security_scan_summaries (#4301)
  • * 3daca05db256de184c39740cdc69cd1b514cf3ac feat(mcpserver): add list_sboms and list_sbom_packages tools (#4229)
  • * 46d70144351ec41a00b331f156334805af38526d feat(mcpserver): add validate_scan_selection and share control resolution (#4281)
  • * ce7ffee4ccaa5050c7faf0f975ed0703ec4be41d feat(mcpserver): filter and page list_vulnerabilities_in_manifest (#4187)
  • * bc0d49635ac80ee22b2e9134aa34eaeceecb9896 feat(mcpserver): filter controls in get_configuration_security_scan_manifest (#4199)
  • * 5ed7634a3237214b5826abbf6cac363362e73336 feat(mcpserver): filter list_controls by framework (#4212)
  • * 76defa3b7123ec113549c5597b84aec13ceb0c42 feat(mcpserver): paginate list_controls responses (#4389)
  • * d338e4573f84650352823e68c654ffe7f0e66641 feat(opa): let C-0236 look up signatures in a configured Rekor (#4403)
  • * f797d06e05f3df0d5fd888386ff5fa7dbcabc2c4 feat(policy): add semantic ANSI colors to policy test and init commands (#4361)
  • * eb7028f567a19dd7339a419c78c70df5f0c59811 feat(printer): show CISA KEV and EPSS in image scan output (#4207)
  • * 1af7686de68645fd10a905c21a1d34bdda71cf98 feat(scan): add --notify webhook support for image scans (#4230)

value changes (6)

  • * 4f0d4f9f2ce99f77a3abf57bd3fb2154b43615ae chore(deps): bump github.com/kubescape/backend to v0.0.53 (#4259)
  • * f1b17fcde2beedf16de13483b0a10c04b1aad13a feat(helm): render charts for the newest Kubernetes version their kubeVersion allows (#4162)
  • * fce8115a2c49b1324e87005dae904269f0b39f8e feat(mcpserver): count unchanged findings in diff_reports and list them only on request (#4270)
  • * dd3df9aac7a829ab35064c5e595dd4c4c8352020 feat(sarif): keep exception audit trail in SARIF results (#4208)
  • * 2ced2f387bdb6298f195155cdd5b64fab4e39277 perf(core): skip redundant k8s dial in getInterfaces when account ID is provided (#4008)
  • * 0e6ca711388ae4ed664451759050632c7e48d757 perf(mcpserver): deduplicate concurrent secret exposure analysis (#4158)

constraints (4)

  • * b92d6c6b6e67ff5247e1d8f430057572604c042a feat(predict): read local manifests from stdin with "-" (#4418)
  • * 49a9b2bbd819558b8aa519fa826b3157160b44cc fix(diff): accept .yml extension case insensitively in diffOutputPath (#4238)
  • * d8f0778e7a7076a6e20bb6e7761ccd17a21d8d20 fix(download): match the --output .json extension case-insensitively (#4274)
  • * cd54dd835463973eb4cbfa8c9d9b4b9227dca6f4 fix(mcpserver): support dot-separated keys in secret exposure detection (#4308)

defaults (1)

  • * 46e58428d481db93487c7382ce4f32b6ef113c12 fix(mcpserver): list configuration scans in all namespaces by default (#4299)

removals (1)

  • * 172c1a7c418aacb13d7c6853246301e1eb4b250c fix(fix): drop a placeholder fix that shadows a concrete fix (#4183)
Kubescapeをスタックに追加

対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。

スタックに追加 →