{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D3","name":"God Classes","shortDescription":{"text":"God Classes"},"helpUri":"https://codehealth.canine.dev/dimensions/D3"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D5","name":"Coupling","shortDescription":{"text":"Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D5"},{"id":"D6","name":"Cohesion (LCOM4)","shortDescription":{"text":"Cohesion (LCOM4)"},"helpUri":"https://codehealth.canine.dev/dimensions/D6"},{"id":"D8","name":"Code Coverage","shortDescription":{"text":"Code Coverage"},"helpUri":"https://codehealth.canine.dev/dimensions/D8"},{"id":"D9","name":"Test Distribution","shortDescription":{"text":"Test Distribution"},"helpUri":"https://codehealth.canine.dev/dimensions/D9"},{"id":"D12","name":"Dependency Hygiene","shortDescription":{"text":"Dependency Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/D12"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D14","name":"License Compliance","shortDescription":{"text":"License Compliance"},"helpUri":"https://codehealth.canine.dev/dimensions/D14"},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"id":"D17","name":"Explicit Debt","shortDescription":{"text":"Explicit Debt"},"helpUri":"https://codehealth.canine.dev/dimensions/D17"},{"id":"D18","name":"Solution Shape","shortDescription":{"text":"Solution Shape"},"helpUri":"https://codehealth.canine.dev/dimensions/D18"},{"id":"D19","name":"Documentation Quality","shortDescription":{"text":"Documentation Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D19"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D22","name":"Internal API Consistency","shortDescription":{"text":"Internal API Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D22"},{"id":"D26","name":"Project Cohesion","shortDescription":{"text":"Project Cohesion"},"helpUri":"https://codehealth.canine.dev/dimensions/D26"},{"id":"D27","name":"Navigability","shortDescription":{"text":"Navigability"},"helpUri":"https://codehealth.canine.dev/dimensions/D27"},{"id":"D28","name":"Secrets (history)","shortDescription":{"text":"Secrets (history)"},"helpUri":"https://codehealth.canine.dev/dimensions/D28","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29","relationships":[{"target":{"id":"CWE-79","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-89","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-94","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-77","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-79","CWE-89","CWE-78","CWE-94","CWE-77"]}},{"id":"D30","name":"Dependency Vulnerabilities","shortDescription":{"text":"Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D30","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"]}},{"id":"D31","name":"IaC \u0026 Container Security","shortDescription":{"text":"IaC \u0026 Container Security"},"helpUri":"https://codehealth.canine.dev/dimensions/D31","relationships":[{"target":{"id":"CWE-1032","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-732","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-16","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1032","CWE-732","CWE-16"]}},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D39","name":"IL Efficiency","shortDescription":{"text":"IL Efficiency"},"helpUri":"https://codehealth.canine.dev/dimensions/D39"},{"id":"D40","name":"Network Egress Confinement","shortDescription":{"text":"Network Egress Confinement"},"helpUri":"https://codehealth.canine.dev/dimensions/D40"},{"id":"D41","name":"Kernel \u0026 Syscall Confinement","shortDescription":{"text":"Kernel \u0026 Syscall Confinement"},"helpUri":"https://codehealth.canine.dev/dimensions/D41"}]}},"results":[{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: IngosAbpTemplate.Domain.Shared: IngosAbpTemplate.Domain.Shared: abstractness 0.00, instability 0.00, distance 1.00 \u2014 the shape a shared-kernel / building-block library has BY DESIGN \u2014 concrete and widely depended-on is what makes it useful, and this dimension does not penalise it (the distance is reported for completeness, not as a defect). Worth a look only if it has grown past one coherent kernel into an everything-bucket."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1d20b18571724cd43788ed93330e8de89ec47cdbf17c6d2d1b63f3cd8c028145"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: IngosAbpTemplate.Domain: IngosAbpTemplate.Domain: abstractness 0.00, instability 0.25, distance 0.75 \u2014 zone of pain \u2014 concrete and depended on by 3 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b8538e2c1819518009bdbe1ed1998bfe8895d759aa233655b75ee2ccde4bcadc"}},{"ruleId":"D8","level":"note","message":{"text":"No tests \u2014 template/sample: This repo declares itself a template / kata / sample; tests are deferred to the application built from it, so coverage is not scored here."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e5ca94717741d80f619caad143078fae4342c89e6107210846d2f8d1d28343db"}},{"ruleId":"D9","level":"note","message":{"text":"No tests found: No test suite could be collected \u2014 nothing here references a test framework (xUnit, NUnit or MSTest), so there were no discoverable tests to count. Tests written as plain executables or shell/PowerShell harnesses are not collectible this way and are not scored here."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c9bf64cbb5a4ae13d6bcd01fa3bc8d2879d860c73bc67f176ee3c2cecb8adce3"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.BackgroundJobs.EntityFrameworkCore: Volo.Abp.BackgroundJobs.EntityFrameworkCore 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"38d3b13c4d2641d8715cf5806ec7606a9c315f5420a5617f571cc62c00ba4e31"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.AuditLogging.EntityFrameworkCore: Volo.Abp.AuditLogging.EntityFrameworkCore 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"43d28ae9b76c810b4743082662fa27d84b1f9a3d069637a1e5c22cbab621622a"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.EntityFrameworkCore.MySQL: Volo.Abp.EntityFrameworkCore.MySQL 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"5bb5fbf606eeb24624f1ad7623b51b360415467734b20c083bc18865ca22ca52"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.EntityFrameworkCore: Volo.Abp.PermissionManagement.EntityFrameworkCore 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e0d78819be26b26fadf58682f1b871f3037ac0ce5f953018e5cf6298ddbcd304"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Emailing: Volo.Abp.Emailing 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"08632b9cab372ab3af8f6814c1f9b83d45987517185b356b5b86c486ab366a20"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.BackgroundJobs.Domain: Volo.Abp.BackgroundJobs.Domain 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"da6f00538c20b2f305763329a2d84d258dd948107b1a0b99719fa43e66723801"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.AuditLogging.Domain: Volo.Abp.AuditLogging.Domain 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"4cef092d2f1ee611c950cca39d35968dac398fb7812b303ebb0cfc86f0e69448"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.Domain: Volo.Abp.PermissionManagement.Domain 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"a8f8f0098a4dd742ae696699d2df31d82a31859c06e632a7ca737c53369f7f3b"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.BackgroundJobs.Domain.Shared: Volo.Abp.BackgroundJobs.Domain.Shared 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"849d3b68a47d785e2e2fff1f37d8a38b0e385cb63488b79f41d0292a3af6cb3c"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.AuditLogging.Domain.Shared: Volo.Abp.AuditLogging.Domain.Shared 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9a486872b2e92084da49e2b264f74ff3bcfcaffeefd4065d86991c5285010e3c"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.Domain.Shared: Volo.Abp.PermissionManagement.Domain.Shared 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"a9d37328b640f9937f044bb513d4ca11313e336e36da56dde599367bdca853fe"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Validation: Volo.Abp.Validation 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"bfbf2b0a75034648f6e447ec09e8570fa9565a92aad2202696143bdf04ea43d4"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Ddd.Application: Volo.Abp.Ddd.Application 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"69bb6015d51f9be1d828c1d0dc264b4a05a69692c8c437aa0e58133c0e51ec8c"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.Application: Volo.Abp.PermissionManagement.Application 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"8aba22c190583af32817ae9e6fe517eec610fcc32f77c3ae0cceaacb8a77682f"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Ddd.Application.Contracts: Volo.Abp.Ddd.Application.Contracts 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"5289c1891bf3aea4ee65ea6a5766edabb1235e5220109800045d7a7037cc0431"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.ObjectExtending: Volo.Abp.ObjectExtending 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"afb61263e10b091d07a3c748475a4b2116794baf1caf40ff479dc8a10f9c3a3c"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.Application.Contracts: Volo.Abp.PermissionManagement.Application.Contracts 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9d0f38d9340d53b5f39aa9cdd4f565ad0fd5525b87f2709ba54cd4e7d44863ba"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Autofac: Volo.Abp.Autofac 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"f7850df8d2f215b45e2e1d5e78a8d75e5b87eb9fb9eba0558ff572849d20d953"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Caching.StackExchangeRedis: Volo.Abp.Caching.StackExchangeRedis 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"354012aed476c5d0daeefc09b2c1c03efcc2d3a0550046bdddc1f7fc609f8195"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.AspNetCore.Serilog: Volo.Abp.AspNetCore.Serilog 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"56ce9b2b5b3c85efec8d1baec2773ff150704cde7255698e155a36ced6271f44"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.PermissionManagement.HttpApi: Volo.Abp.PermissionManagement.HttpApi 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"618f0c59e6a67993fd0d3c121953fc3fc4042c7204e38ea0cebe842195378f2e"}},{"ruleId":"D14","level":"error","message":{"text":"Banned license: Volo.Abp.Swashbuckle: Volo.Abp.Swashbuckle 4.4.3 is licensed LGPL-3.0-only (banned by policy)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e7b24320bfa3b8aa5dfe5d7ba4203d9ce33005b424aa923e940f451f84c32d1e"}},{"ruleId":"D16","level":"warning","message":{"text":"single-maintainer \u2014 knowledge-concentration (bus factor) risk: single-maintainer \u2014 knowledge-concentration (bus factor) risk (1 author(s) across 42 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b4b49d961df742f0e507f4cc5c8094fb077ba0391a27fd015d18320865187719"}},{"ruleId":"D17","level":"error","message":{"text":"NoWarnInCsproj: NU5128 \u2014 this warning is switched off for the WHOLE project, in every file it builds, including code written years from now: nothing at the call site records that the rule was ever silenced, so the next reader has no reason to look here. Fix what the rule is reporting and drop the code from the list, or \u2014 if some occurrences really are legitimate \u2014 narrow the suppression to those sites and give each one its reason, so the rule keeps protecting the rest of the project."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Ingos.Abp.Templates.csproj"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"0386f595a91995477a2932d663c609fcf77a20c79f48e65cc6d905940e551e6a"}},{"ruleId":"D17","level":"warning","message":{"text":"Dead code: L: Method L \u2014 no references found in solution."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"templates/src/IngosAbpTemplate.Application.Contracts/Permissions/IngosAbpTemplatePermissionDefinitionProvider.cs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"047753e015ec337cbd6bc8f6369f469dc06d52091e27c0be12a8d7c008d9e232"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: 2 project(s) carry only a thin slice of real code (e.g. \u0060IngosAbpTemplate.Domain\u0060 with 27 significant line(s)). The mean analysable-surface weight is 86 %, lowering Solution Shape by about 1.13 point(s). Consolidate thin projects or grow them into substantial, well-scoped assemblies."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"dd0b92fd965c2065080f16843920964ee00f7696ea03d87cdf61aed4cd2c746a"}},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"fb267f2ab41c95615bf1fb1864a50cb936c7295ced6b7812fed0fd361697105a"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"36d920e5c19412bea921dacd31ff3eebbf3c029ce52d47f77f6afdec7e5d69be"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"78ed4a94f7838667d047615990a0373ebc00d71c8f67fd72adc7dac2fef99d9b"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"545ec352dd833d01b83eb1ad655fc194727c31bfff86b5cae45164f74c644888"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2ab6c36f9ba2959809d6b740f8a18ff7828f8fb8bf1e55a125029d888bdd3b3f"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"81d70374024ff22e11cf5598879a317ed70ee1bc2d998f8f8933659faa3ca8ec"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"363bbfd563ae437c4ff0ddfcd117af5f2024a73722dd03b9fde457545824b1eb"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f7d464568c88d64271f126613a57f26bcdd989572dbf03906d2dce2eee494123"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a10ea69cbcf8b8b6b6b7de09347abe5bb9eb6244ed1d33c76713427ed861fb36"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4096d068709535e6342e427c4e151c7e5bad607b61ed7f46acf4a0e1a7a7e48b"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"96036f70c6f78d6059d499149f822f370d8bbec91729fcfc13182ee63bff77a8"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7953c3655d7653d6ce2dc9d2d98eaca2141a12f20d53f4a641b569d95834a164"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"00e71f44da063023219d0f517c5179a7b73bb97ae3ac9a562686451a45570046"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"92d0c67a48719f03ee2d1d9c5f942f08d0d4d8cb8b9ad06176bfb1aa77caf5b5"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bf2433433d2e540d02d5689a74dc8738e1e2ca2337c849280f0718cb2b6992b4"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d6bbbe113fe6cff8de0ba458aebf96b34d81d376323e99dc81e25924b4fadea7"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"03b31df8570933308505a1624e4fd5ee0390537c65b94f5898a4ad85f2c0b177"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7cf85abffe732f2645ef95a624d6badc26f0263616284d6a4cc46ca8e983031d"}},{"ruleId":"D30","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b96b7173c4377d5bea4d6fd7b52323631c631c44172b743bec6f266c10a4e538"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"94f527b0be3fac994740a7c9bb60b75f384a78937463508bc170df77a55f9b4d"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"38f5440d13f63176ec1e0dcec721fbf2dab05d4509efc6bfe4463b0a30a92dc2"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"22561fde078a57987570d0af380159dad2867feb829d5d6291492e5b4c4e4af8"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"61be9e22cf99da4164635d5f03723b239641056c379ebd2d99a67e40a32ee39a"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"302585f5569c755b05ec019c495fad90da7acecd3608a1876f10165de8d80d39"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"53ac12a78ad0a5821206006a8a3ae6ed4b8df689d97ee6f166002a58f55acb06"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b6a1910baf26ab7f13dbc3b5d211204572f5b65f0406ebcf935b6f8255e7e97d"}},{"ruleId":"D30","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1b64b1a9ae35803f0bda185e2755dac4fcb0de2707a8c83832fac84091ef78fb"}},{"ruleId":"D31","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6f3eedc9ddf9607f6b5c18cbe741b3bfd07f1f79a5bd9ae624e90e06c64f656a"}},{"ruleId":"D31","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"48a89fa08408a2f1259a84e33b28ca03d89f687e0e9b07534091083f2afcaeb1"}},{"ruleId":"D40","level":"note","message":{"text":"No network policy: No Kubernetes NetworkPolicy (or Cilium policy) found. Without one, every pod can talk to every other pod and reach out to the internet by default. Add a default-deny policy and open only the flows you need."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"295828650a2aaa1b03ae9b32ae6843a0c38011e5a70b1926442c4fa7187de5f0"}},{"ruleId":"D41","level":"note","message":{"text":"No seccomp profile: Workloads do not set a seccomp profile (RuntimeDefault or a Localhost profile). Seccomp blocks the syscalls a container never needs, shrinking the kernel attack surface a container escape would use."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"3f418e9f76c3ac90484e0e94a454bfe9b08e914e1cdd218e1fc9e3b261a3bf6e"}},{"ruleId":"D41","level":"note","message":{"text":"No AppArmor/SELinux confinement: Workloads declare no AppArmor or SELinux profile. A mandatory-access-control profile confines what a compromised container can touch on the host, complementing seccomp\u0027s syscall filter."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e83fbc31033373d6c51983ed230eb4ba61f7775ed02afb30f5fc1840bde01d4f"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","informationUri":"https://cwe.mitre.org/","isComprehensive":false,"shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-1032","guid":"5f21e517-68aa-a650-9a25-5771ef024637","name":"OWASP Top Ten \u2014 Security Misconfiguration category","shortDescription":{"text":"OWASP Top Ten \u2014 Security Misconfiguration category"},"helpUri":"https://cwe.mitre.org/data/definitions/1032.html"},{"id":"CWE-1357","guid":"e4d2e772-757e-0a5c-bd7d-77052949d866","name":"Reliance on Insufficiently Trustworthy Component","shortDescription":{"text":"Reliance on Insufficiently Trustworthy Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1357.html"},{"id":"CWE-1395","guid":"800e09e7-c11a-8654-9fa6-86f398995fed","name":"Dependency on Vulnerable Third-Party Component","shortDescription":{"text":"Dependency on Vulnerable Third-Party Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1395.html"},{"id":"CWE-16","guid":"659db3ea-affc-8453-8add-c1218fbfcb92","name":"Configuration","shortDescription":{"text":"Configuration"},"helpUri":"https://cwe.mitre.org/data/definitions/16.html"},{"id":"CWE-259","guid":"ae9ad959-fbb6-9d5e-892d-3dca66da0b69","name":"Use of Hard-coded Password","shortDescription":{"text":"Use of Hard-coded Password"},"helpUri":"https://cwe.mitre.org/data/definitions/259.html"},{"id":"CWE-353","guid":"09d7e902-d4ee-f05d-ae6c-0a1554d0c18f","name":"CWE-353","shortDescription":{"text":"CWE-353"},"helpUri":"https://cwe.mitre.org/data/definitions/353.html"},{"id":"CWE-732","guid":"1da27e8f-b330-7650-ab63-bd61953eae5d","name":"Incorrect Permission Assignment for Critical Resource","shortDescription":{"text":"Incorrect Permission Assignment for Critical Resource"},"helpUri":"https://cwe.mitre.org/data/definitions/732.html"},{"id":"CWE-77","guid":"332c8ade-6612-9f56-a06b-d8d90b1a8750","name":"Command Injection","shortDescription":{"text":"Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/77.html"},{"id":"CWE-78","guid":"2e31ceaf-c7ae-2e5e-9661-cfb1362789cf","name":"OS Command Injection","shortDescription":{"text":"OS Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-79","guid":"fd45580b-e8c4-fc5e-8c2f-aa8fab0b4dbf","name":"Cross-site Scripting (XSS)","shortDescription":{"text":"Cross-site Scripting (XSS)"},"helpUri":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-798","guid":"5e8f057d-fee3-995a-a0cb-9fc5b0d174d1","name":"Use of Hard-coded Credentials","shortDescription":{"text":"Use of Hard-coded Credentials"},"helpUri":"https://cwe.mitre.org/data/definitions/798.html"},{"id":"CWE-89","guid":"6d08fdad-37eb-c150-bbf0-d7d946863407","name":"SQL Injection","shortDescription":{"text":"SQL Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/89.html"},{"id":"CWE-937","guid":"16f316ae-415c-b354-a59b-1f7905f756e9","name":"Using Components with Known Vulnerabilities","shortDescription":{"text":"Using Components with Known Vulnerabilities"},"helpUri":"https://cwe.mitre.org/data/definitions/937.html"},{"id":"CWE-94","guid":"75e7f50c-6c2f-dd52-bf40-bf6c52b861fd","name":"Code Injection","shortDescription":{"text":"Code Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/94.html"}]}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":29,"secretScannerRunsExcluded":0}},"redactionTokens":["A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."]}]}