{"$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"]}]},{"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":"D20","name":"ADR Quality","shortDescription":{"text":"ADR Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D20"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D23","name":"Boundary Type-Coupling","shortDescription":{"text":"Boundary Type-Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D23"},{"id":"D24","name":"Comment Value","shortDescription":{"text":"Comment Value"},"helpUri":"https://codehealth.canine.dev/dimensions/D24"},{"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"]}]},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29"},{"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"]}]},{"id":"D31","name":"IaC \u0026 Container Security","shortDescription":{"text":"IaC \u0026 Container Security"},"helpUri":"https://codehealth.canine.dev/dimensions/D31"},{"id":"D33","name":"JS/npm Dependency Vulnerabilities","shortDescription":{"text":"JS/npm Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D33","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}]},{"id":"D34","name":"Knowledge Freshness","shortDescription":{"text":"Knowledge Freshness"},"helpUri":"https://codehealth.canine.dev/dimensions/D34"},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D38","name":"OSV Dependency Vulnerabilities","shortDescription":{"text":"OSV Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D38","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}]}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"CpfValidation.Validar (cyclomatic 19): CpfValidation.Validar has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Core.Domain/Validations/CpfValidation.cs"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"26a2918097527eed2d2cdc60b5c1fc08d510a194dc1553ea7d12e7afcb67a305"}},{"ruleId":"D2","level":"warning","message":{"text":"CpfValidation.Validar (cognitive 21): CpfValidation.Validar has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Core.Domain/Validations/CpfValidation.cs"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"75d070498d40ce5e5bb8eb11f0cca1cc2ac6c11b2c4fbd1cf7f2838dba51e80b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): server/src/Core.Domain/Validations/CnpjValidation.cs:7-18 | server/src/Core.Domain/Validations/CpfValidation.cs:7-18"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Core.Domain/Validations/CnpjValidation.cs"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"65762f9f298bec160a23eb53faa87f78f3cdd330c196a544a09f774654fff4a0"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: Clientes.Commands: Clientes.Commands: abstractness 0.00, instability 0.17, distance 0.83 \u2014 zone of pain \u2014 concrete and heavily depended-on, so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"a5702a64ab610bf13879ddb58b8397f5b6853e49579f5205b25ddf959082258f"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: Transferencia (LCOM4 4): Transferencia\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Movimentacoes.Domain/Transferencias/Transferencia.cs"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"89bc4882c4da60f2e9b88400b2950aa11c8852084284c667712504fc8e2abeee"}},{"ruleId":"D8","level":"error","message":{"text":"No automated tests: No automated tests \u2014 the solution has no test code. Untested code is the largest single risk to changing it safely."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"3132564c6310e5d01a231f252a02d5d2f5a542c0a8fa29a14c89693f1e3df871"}},{"ruleId":"D9","level":"note","message":{"text":"No tests found: No test projects found in the repository."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c9bf64cbb5a4ae13d6bcd01fa3bc8d2879d860c73bc67f176ee3c2cecb8adce3"}},{"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 104 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b4b49d961df742f0e507f4cc5c8094fb077ba0391a27fd015d18320865187719"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Core.Domain/Utils/Criptografia.cs"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"359c07301f9b940199408115bc82e113a271e3fe180a4924b8ec1292f46577ad"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Core.Domain/Utils/Criptografia.cs"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"359c07301f9b940199408115bc82e113a271e3fe180a4924b8ec1292f46577ad"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: 3 project(s) carry only a thin slice of real code (e.g. \u0060Agencia.Infra.CrossCutting\u0060 with 13 significant line(s)). The mean analysable-surface weight is 89 %, lowering Solution Shape by about 0.8 point(s). Consolidate thin projects or grow them into substantial, well-scoped assemblies."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"dd0b92fd965c2065080f16843920964ee00f7696ea03d87cdf61aed4cd2c746a"}},{"ruleId":"D19","level":"note","message":{"text":"The architecture outline lists components like \u0027Components \u0026 Responsibilities\u0027, but the visible text only describes the technology stack, not the responsibilities or lifecycles of each bounded context.: Add a brief Components \u0026 Responsibilities section covering how each bounded context (Agencia/Clientes/Movimentacoes) is structured and its lifecycle."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"README.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b643ae803eaa8316dd2bd4facbed96db8103cbebb49aecdf95d8fc5a627c208"}},{"ruleId":"D20","level":"note","message":{"text":"No ADRs found: No ADRs found at common paths; consider documenting architectural decisions in Docs/ADL/ or similar."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d2bea044ff79d7d275f5a91a6e2f548586178eaf480274c33960ad020c854631"}},{"ruleId":"D23","level":"note","message":{"text":"Bounded contexts not declared: At 4200 LoC across 15 projects the codebase is large and multi-module, so explicit bounded contexts are needed. Declare architecture.contexts (\u22652) in config to assess cross-boundary type coupling."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1c7e276c9c682731f01819ed5378b90ca320cde1b583c90920172911598362b3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Talvez enviar e-mail de confirma\u00E7\u00E3o para o cliente e um para avisar a ag\u00EAncia?\u0022 \u2014 delete - the email-sentiment decision is already in the code; this is a vague \u0027maybe\u0027 comment with no rationale"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Clientes.CommandStack/Clientes/Handlers/ClienteEventHandler.cs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"6873f6e9165abbc942f390abaacaa6438a0702454462b25f0ae9059b377c5944"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Talvez enviar e-mail para o cliente informando que ele foi recusado?\u0022 \u2014 delete - restates the same intent as the prior, adds nothing"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/src/Clientes.CommandStack/Clientes/Handlers/ClienteEventHandler.cs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"6873f6e9165abbc942f390abaacaa6438a0702454462b25f0ae9059b377c5944"}},{"ruleId":"D30","level":"error","message":{"text":"High CVE: MongoDB.Driver 2.9.2: MongoDB.Driver 2.9.2 (direct) has a High advisory; affects 15 projects \u2014 one upgrade fixes all. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"3176ab69a9f2025038c539f1220b59dded1e6bd710abc4b9f025d9ee766bee4f"}},{"ruleId":"D30","level":"error","message":{"text":"High CVE: Newtonsoft.Json 12.0.2: Newtonsoft.Json 12.0.2 (direct) has a High advisory; affects 15 projects \u2014 one upgrade fixes all. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"84751b0f575da4b94e3e57be8e8cae7a514ee01700a99e287c13e927bad802c8"}},{"ruleId":"D30","level":"error","message":{"text":"High CVE: AutoMapper 8.0.0: AutoMapper 8.0.0 (transitive) has a High advisory. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"322c04cc567fb823f253ebbb1c3ecb268a3cdc1f4d3819b255de20dc60397240"}},{"ruleId":"D30","level":"warning","message":{"text":"Medium CVE: SharpCompress 0.23.0: SharpCompress 0.23.0 (transitive) has a Medium advisory; affects 15 projects \u2014 one upgrade fixes all. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d0a77efe3b4e647fe8429610599281dc3edd0b6e584000a679d33e8d63e029ca"}},{"ruleId":"D30","level":"warning","message":{"text":"Medium CVE: SharpCompress 0.23.0: SharpCompress 0.23.0 (transitive) has a Medium advisory; affects 15 projects \u2014 one upgrade fixes all. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d0a77efe3b4e647fe8429610599281dc3edd0b6e584000a679d33e8d63e029ca"}},{"ruleId":"D30","level":"warning","message":{"text":"Medium CVE: Microsoft.AspNetCore.Authentication.JwtBearer 3.0.0: Microsoft.AspNetCore.Authentication.JwtBearer 3.0.0 (direct) has a Medium advisory. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"84d40cba44f569702056de45ef79f865bf003d2bb13addf1779d2df267f7fc46"}},{"ruleId":"D30","level":"warning","message":{"text":"Medium CVE: Microsoft.IdentityModel.JsonWebTokens 5.5.0: Microsoft.IdentityModel.JsonWebTokens 5.5.0 (transitive) has a Medium advisory. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"bccb485627720960277b28cb771b4885b4537495e5c581b83b7587ef23719d80"}},{"ruleId":"D30","level":"warning","message":{"text":"Medium CVE: System.IdentityModel.Tokens.Jwt 5.5.0: System.IdentityModel.Tokens.Jwt 5.5.0 (transitive) has a Medium advisory. https://github.com/advisories/[GHSA redacted]"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1f32383ce7aeb37746d894206801fd15e2b297cd7b5835044cf5c73e6a51545e"}},{"ruleId":"D31","level":"error","message":{"text":"High IaC: DS-0002: Image user should not be \u0027root\u0027"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/Dockerfile"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"54b6f517a85198f2db0493893eff27b171578bcf03cf87872c9a3f82539b7da5"}},{"ruleId":"D31","level":"error","message":{"text":"High IaC: DS-0002: Image user should not be \u0027root\u0027"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/Dockerfile"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8780e3c2d62c4087aa3e26d93854725b6901274ca2890c75350037c9aa9797bd"}},{"ruleId":"D31","level":"note","message":{"text":"Low IaC: DS-0026: No HEALTHCHECK defined"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/Dockerfile"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"48be8e87dd77ee61b73c4604bca52d0fe85098e86e4a43fcac32cde135b08757"}},{"ruleId":"D31","level":"note","message":{"text":"Low IaC: DS-0026: No HEALTHCHECK defined"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"server/Dockerfile"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2751613271015710cbd5ea48e057ef2f6b936e6cce35e56e05dff1fa381bb4d"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: @babel/traverse: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5faf6fe50985a1e847239ff37a02583ed3420492ff7c1ab4cdd6eaabac82ddd4"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: cipher-base: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ded17e7e8c52382fcbf9d88996ead6547bdee72118e3eb63ce296cca1079f477"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: elliptic: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0666304abfa6f3d435ef4734bf7955a3c1b7077d8cf49425f06421988128b58a"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: eventsource: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"76d80d3a69d607f979ef610846e160ad95a87b508c17a8372c8b88d603a0b7ab"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: form-data: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd9f3a9d9daed1c1ec8e57a5d7870ae364a0573e4c3883e34cf7b6c1a7c9950a"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: fsevents: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f1ea3dde3a49fc18fe14a5d54f94e196646152413adee16ce72b6521546ce80"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2d20bd5f14d715a6a623adafbe5abc07be66551d158bf0f2e61a74e220fb835"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"16365bee13fe1267c495bfe9f79bc31ca17194753c2914d8a1cc2c7041b4ef65"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ffbee00d71a57ef70672ab059299e8146d73a65f63ffd737e562acbd87a1f8f"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: json-schema: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c4d8f9a47efee1e355318f422c875fb90a46a3e5e2561ec2b90e7031fd2cd54"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: loader-utils: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a24ae781db1206407da92c0aebe2b26b3bd2ec7178e1ca230253109fb812a83c"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: minimist: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f81c202a138c99e48929237d1754555c8e75276cbf0de85a37cbbbcfabac2b2c"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: pbkdf2: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1865ceed7e1021fb1366dd4d0c6347bc6afbef4f15c8626ee9d6e89e57db6ec9"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: pbkdf2: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8bbbfd4cdbb6a3170f67d64f2e66f6cc6790af90cfead3f7dbe3bbdf225c5ca"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: sha.js: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"41bf58f1b9eb56580304196151328460977a1cec56e3069a506d6f155dfc57fa"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: socket.io-parser: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"df787fd2f983b8673248a18364e90c3545f16b3bfdb30c0cc67f5ae5e56834d1"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: tree-kill: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c8c675d98fdd2ff8c2017f44411794b0d0df4dede950fe522d3680d0595aab7"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: url-parse: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"24b25a2f7efa0a8140eb3c7649da89b01c3a3154ea2b84afdcf82f440d2e09dc"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: xmlhttprequest-ssl: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b27d2b4ebad5f7c74c407156c7ecf496bf7278f1251e21730a49d4f4c5193906"}},{"ruleId":"D38","level":"error","message":{"text":"Critical CVE: [GHSA redacted]: xmlhttprequest-ssl: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff5f491c1bfe541f7298bb1639125cbcfe6165576fa443d45403ce1bf49882e0"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/common: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bacc03c00f3d535693be6d57fc3507f9517f66d9e60c79a03f1bb98414d8d804"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/common: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"684c5248945e3ee724d5fa62112b6461d4064b5fcea199a9652462c7d78f13d3"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/common: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"86d04cc762cb8ebaf2cb70c884462e9bf01ef0c6b37e546e9504e474f2cda53b"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/common: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b4c02528a65502565b5f060e20e2cae0bf989883d3ad2446919ca2e13fe4568"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/common: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"567a62403292e0181c2ebc4117a0711fc45d0979c0d54759cfb81149fea404f5"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/compiler: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3545a48ac39664ed38609aabc42aa10d56c56ea2765ac11174b9f43226111314"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/compiler: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca863a0b583b1a4156af0cf0904d8628052b7fdd7dd91608776c272ae0a3bd73"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/core: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dd520cab0d654fea9ec9e97a66bed77076d1a2093b40d18113e4d7b81293cd2"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: @angular/core: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bac78b1ac7e774172ee7672961ee2236960623190a0462a90fa86bc8b6cbbb9"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: acorn: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"56759609d416bf989831a5f4ad856e94626e5ac6dd8c6c678bb5cce4039d9d09"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: ansi-html: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"27c22b2590af6e460a5944fb2b991f671b7da28b51d4d02f649a2812f0e4843c"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: ansi-regex: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0df470a3aa4220b2b2ba384ed9b5408e200c2a1ed3a96e425efe6554e822fed"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: async: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1c156b7f547407fcdb6ce7662d40e59d6c81e9908efaffca09a325804309672"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: body-parser: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4aa3c5e636493cd90c08d631b7198cf0f345fede3c0d4cf774207eae1660967"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: braces: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5966d6ff921e03a38ce38f64ae14a9fc0b8cbe2de1508666549af52cfbc49312"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: browserify-sign: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e4678b7e52730beea31400efb73d1ab5e284b5b48fddec2d62586e76e802566"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: cross-spawn: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ae361896f227fcdab0af321d099fec6014fc340b851920b2cdb2d3bf1730e49"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: decode-uri-component: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1749269c379c0f229926b8b7eccccb27b86afa3897a002aa86d77f1b78b95a1e"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: dns-packet: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"777fc4b8423b59f64fd29af8f6b0037fdbafa68a32507a74b4e43ca348371d36"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: elliptic: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c1f58df3ded6f88a921cfd076939619e04d31268429de54ce582b0a046cb8f8"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: engine.io: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"11b57efcb859fd92973869bca964310eab3f8f80dbf031efefa3a27eeeaef133"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: flatted: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c800e247c88dab031dc6cf4399ef5996a45e3e4776f2f6829a993b2850cbb23"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: flatted: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ede031193b16de2dde5ac4b486db18de6f4a38b61d545742eda71a2f9f000f1"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: follow-redirects: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1efc6c675f8d6a531a7adfce98bcaef450b3da408f1565063336376ea6d09e09"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: form-data: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bda5b151cf404fc5ff3cdc4aa32c39ec7a50149ca7f2fd21d6eb49f761c87f6e"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: glob-parent: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7837cab84b8b5b6eafcdd1f4cc104fc4dd54f8d7a476c3ab4ddac7a9c398758b"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"17c4ca7177b2a3ac1d72acb6be6cb8027561740dfb83dd7b6fb6a85831995149"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f3281f206c19979b6e40fb52f105c90c3f17b8b74d309806d836cc744134d0c"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2252ac4b2c14f82615d6053b016d0d169b8b39d54868a36b1dbcd4f6ddf0f24c"}},{"ruleId":"D38","level":"error","message":{"text":"High CVE: [GHSA redacted]: handlebars: [GHSA redacted]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"clients/angular/package-lock.json"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba5a44ad70d4b96faebe6578a018cdf477690fb29dab62a305a89b856e92a5c8"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-1395","name":"Dependency on Vulnerable Third-Party Component"},{"id":"CWE-798","name":"Use of Hard-coded Credentials"}]}],"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":0,"secretScannerRunsExcluded":0}}}]}