{"$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":"D7","name":"Architectural Integrity","shortDescription":{"text":"Architectural Integrity"},"helpUri":"https://codehealth.canine.dev/dimensions/D7"},{"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":"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":"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":"D25","name":"ADR Conformance","shortDescription":{"text":"ADR Conformance"},"helpUri":"https://codehealth.canine.dev/dimensions/D25"},{"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":"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":"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":"D36","name":"Supply-chain Provenance \u0026 Signing","shortDescription":{"text":"Supply-chain Provenance \u0026 Signing"},"helpUri":"https://codehealth.canine.dev/dimensions/D36","relationships":[{"target":{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-494","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1357","CWE-494"]}}]}},"results":[{"ruleId":"D8","level":"warning","message":{"text":"Coverage not measured \u2014 test suite did not build: Coverage NOT MEASURED: the repo\u0027s own test suite did not build (a C#/MSBuild compiler error in the test code), so no coverage could be collected. It is excluded from the score rather than counted as a near-zero defect. Fix the test build, or commit the Cobertura/OpenCover/lcov report your CI already produces, and real coverage will be measured."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"8beb176c604706486df63d2215f767f50520c8d949b1d464345de14ded442c69"}},{"ruleId":"D9","level":"note","message":{"text":"No tests found: No test projects found in the repository."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c9bf64cbb5a4ae13d6bcd01fa3bc8d2879d860c73bc67f176ee3c2cecb8adce3"}},{"ruleId":"D20","level":"warning","message":{"text":"No consequences/trade-offs section describing the cost of running a bridge ecosystem (e.g. maintenance burden, API integration effort) and what happens if bridges break: Add a Consequences section covering operational costs, the need for ongoing bridge development/updates, and fallback options when no bridge exists"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/01_General/01_Project-goals.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"70c69c47d383a985a53563b31336fffe6b64cd3b3370445ab9932bb8b9be4aa3"}},{"ruleId":"D20","level":"warning","message":{"text":"The decision is a list of contribution options with no explicit decision (what counts as \u0027contribute\u0027) and no consequences/trade-offs: State the concrete decision (e.g. what counts as contributing to RSS-Bridge) and its consequences (e.g. how contributions are reviewed, accepted, or rejected; the value of community input vs. maintainers\u0027 decisions)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/01_General/02_Contribute.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e7eb639f5f58da1e07dd78339a8d551165a3db6520822eef6d24f4a84051500"}},{"ruleId":"D20","level":"warning","message":{"text":"Only the decision \u0022PHP 7.4 (or higher)\u0022 is present; no context/problem and no consequences/trade-offs: Add a Context section explaining why PHP 7.4 was chosen over newer versions and a Consequences section on migration effort and compatibility"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/01_General/03_Requirements.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4f99d3afe68cce7fadb9166c9fa17beeabe802d859382e8ad7b70e42c5d714e"}},{"ruleId":"D20","level":"warning","message":{"text":"Only welcome and a one-line RSS feed description are shown; no context/problem or decision is visible: Add the problem motivating this (e.g. need for Twitter bridge/rss feed integration) and the explicit decision (how Atom feeds are generated/advertised) with consequences"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/01_General/04_Screenshots.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b830233f544c62f4221cab39274b42deb4f2ab03211b83580ff8390368f8a80"}},{"ruleId":"D20","level":"warning","message":{"text":"The visible content is a bare table listing public RSS-bridge instances with status and contact, offering no context/problem or explicit decision; the body ends in clip marker mid-table row: Add a Context section explaining why an RSS bridge instance exists (e.g. feed aggregation, reliability) and a Decision section stating what the bridge\u0027s purpose is, plus Consequences noting operational/monetary trade-offs"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/01_General/06_Public_Hosts.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3eaac1a060f692ba9f2020071dfb58b4655b7dab7dce13bb9043d39281eae213"}},{"ruleId":"D20","level":"warning","message":{"text":"Title \u002701_Installation\u0027 is a stub; no context/problem and no decision body visible within the link: Replace with an explicit problem statement (e.g. why installation of RSS-Bridge matters) and a concrete decision (e.g. which OS/arch it supports or required dependencies), plus consequences/trade-offs"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/01_Installation.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"79a0d20d33961f9b55e860ca766ea3aa365f08f5f4aee15b6f8a1a1a56ebf1b9"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only the title \u002202_Updating\u0022 is informative: State what needs updating (e.g. outdated design system, deprecated API) and its impact, then document the changes made and any new trade-offs"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/02_Updating.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"71c60bd233dcddd7c31ad0c74bebfcf45c09ad6246da836452ee0b355438ad1f"}},{"ruleId":"D20","level":"warning","message":{"text":"Title is a numbered document reference rather than the decision (no decision statement): Rename to something like \u002704_Heroku_Deployment\u0027 or add a one-line Decision line stating that RSS Bridge can be deployed on Heroku for free with the specified interval choice"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/04_Heroku_Installation.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cab4d8515130f255d82390d7f8cff01fe1c1a80f0a3153456752a27edd998cc9"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; the body is a bare configuration dump with only enable/disable examples: Add why whitelisting bridges matters (security, compliance) and the consequences of enabling all/allowing untrusted ones"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/05_Whitelisting.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d6d39718c5f261e2119e18d5d2aa662b3a40a3bf0c48b126ab3c5ad574f010e"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences; only a bare list of auth types with a documentation link: State the problem (e.g. securing API endpoints) and the decision (which auth type is used where), plus any trade-offs such as token storage or rate limiting"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/06_Authentication.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc6caf6b7d5562af099b55e44df930aa021aa496d52de4b72eec5bfd458d3f0b"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is primarily configuration-section documentation (parameters by type with values and descriptions), with no context/problem framing or consequences/trade-offs: Add a Context/Problem section explaining why RSS-Bridge needs custom configurations and an Admin Consequences section on the trade-off of requiring login for all requests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/03_For_Hosts/08_Custom_Configuration.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd3c858dc07ec1c4befa8361c5d3e8eae24bb98bac35a727a3b2c25a0c7731c5"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a boilerplate template with no context/problem and no explicit decision; it repeats the same policy across four identical lines (fix one issue per PR, coding style, commit naming) rather than conveying any real ADR: Replace each repeated rule with an actual Context/Problem section explaining why this decision matters and a Decision body stating what is fixed/how it is done, plus Consequences"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/04_For_Developers/02_Pull_Request_policy.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"723d06a7af15d9588de8e9bc464b5f7e87a21aa608a86cc40cbb6e1505fd3cfe"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only a bare listing of folders with links are present: Add a Context section explaining why the folder structure matters (e.g. separation of controllers, bridges, caches) and a Consequences section noting that vendor files must live in a separate repo and not be conflated with RSS-Bridge"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/04_For_Developers/03_Folder_structure.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7824e8be8a51da24f4916a8fa3ee8b06b4b4204ece249f59fa3ac6e976a81793"}},{"ruleId":"D20","level":"warning","message":{"text":"Decision is a one-line removal with no context (why caching was removed) and no consequences/trade-offs: Add the problem that caching caused stale data or performance issues under load, and document the trade-offs of removing it from production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/04_For_Developers/05_Debug_mode.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e85016ac5ee723a0b8be3f3b353eaab2416acb85958dd0bbcff3dd1e60be166"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is an endless repetition of \u0027How to get started\u0027 and \u0027This will give you an example workflow\u0027, with no context/problem and no explicit decision; the only substantive content is a numbered codespaces walkthrough that reads like a How-To rather than an ADR: Replace the repeated \u0027How to get started\u0027 boilerplate with a Context section (why Codespaces matters for RSS-Bridge development) and a Decision section stating the adopted tooling, plus consequences/trade-offs"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/04_For_Developers/06_Github_Codespaces_Tutorial.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f52a1636bf38a76352b2136d27d012afb438659aa173ab50f0b6ed3c3cd57e8f"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem (why a development environment setup) and no consequences/trade-offs: Add why this setup matters (e.g. rapid doc edits without local server) and the trade-offs of using docker-compose over manual editing"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/04_For_Developers/07_Development_Environment_Setup.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"35f5fc4639131a97c7f730463bb2aceca1acc946b3cb01ef36e95fd649eb4776"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; the body is a boilerplate code example with only one line of rationale: Add why bridges are needed (e.g. to consume external feeds like BearBlog) and the consequences of adding new bridges (maintainer burden, CI/CD cost)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/05_Bridge_API/01_How_to_create_a_new_bridge.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c89af393e45332e8f0a79e2c9cebff39a0357630a169f71137ee524287a4667b"}},{"ruleId":"D20","level":"warning","message":{"text":"Context/problem and consequences/trade-offs are absent (only four-steps process description with no problem framing): Add a Context section explaining why bridges exist (e.g. decoupling feed data from presentation) and a Consequences section on trade-offs such as the optional caching timeout requiring careful configuration"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/05_Bridge_API/02_BridgeAbstract.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"15d8896aad740177d2af8cdc0202832f9a227360f2953cb1436922e952b3f225"}},{"ruleId":"D20","level":"warning","message":{"text":"No real context/problem and no explicit decision (which feed types to support, what data to extract) are stated; only boilerplate template present: Replace the empty MySiteBridge class with an actual bridge that addresses a concrete problem (e.g. parsing feeds hidden by normal means as in usage example), including a rationale for the decision and consequences"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/05_Bridge_API/03_FeedExpander.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f44955b6cd863e51fa83b481e35f9bd9069aa614852b5da46340fb5e745f0a15"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a class-constant reference with no context/problem and no consequences/trade-offs: Add a Context section explaining why XPath-based bridges are needed (e.g. existing BridgeAbstract constants plus the new feed-title/icon/enclosure constants) and a Consequences section covering trade-offs such as requiring an HTML/XML source URL, parsing complexity, and encoding handling"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/05_Bridge_API/05_XPathAbstract.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f772d94e7725a3701bff5256f910abbe665c3cf5998695c901402723914da68"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only a one-line file-creation instruction with an example: Add the problem (e.g. high-latency cache) motivating the new cache type and its trade-offs such as memory usage or configuration complexity"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/07_Cache_API/01_How_to_create_a_new_cache.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"93a4420d27600c8358fc27c06c22949e59f88f258b1caf399b6a81c4c4ef5544"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only the interface declaration is shown: Add a Context section explaining why a unified CacheInterface is needed (e.g. decoupling persistence/cache) and a Consequences section on trade-offs such as TTL management complexity or cache-invalidation friction"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/07_Cache_API/02_CacheInterface.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a5a5a6367eafbac2c59d6f1df9ffbeec81e47240697ba882d934ac00b7bd27c"}},{"ruleId":"D28","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":"3095db246528b2f1874ce9e018b0f97a5980e0188fb51ae3e6ba2e598d3cb743"}},{"ruleId":"D28","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":"bb7a3a6ea249e17714d209839684976050d96db8267c5ea227364bc60914d535"}},{"ruleId":"D28","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":"4ad435725d368f2f1315e6f5d318e78108e77e2708f929c588478444d42673bb"}},{"ruleId":"D28","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":"624f7898fc177c70977c52380ed0ac448fed8361db6d146c632bc6c78518c754"}},{"ruleId":"D28","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":"624f7898fc177c70977c52380ed0ac448fed8361db6d146c632bc6c78518c754"}},{"ruleId":"D28","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":"de21390336dade201b3c107dda6f452d13f10546020e646bae943d4c5c5ce59a"}},{"ruleId":"D28","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":"c0b7af66547e3dfd122bd4e07c61fce59fa217b1f596806df88928affdcd9353"}},{"ruleId":"D28","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":"bb7a3a6ea249e17714d209839684976050d96db8267c5ea227364bc60914d535"}},{"ruleId":"D28","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":"7d8672550149e12ffb218f9f21b6dc681b042eec707b5232bfb4829c4b75a6eb"}},{"ruleId":"D28","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":"e6e1185734229d7d3a7a5ba3d1f41db9367f9cdd0683bb113fb2c67ca57f689c"}},{"ruleId":"D28","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":"de21390336dade201b3c107dda6f452d13f10546020e646bae943d4c5c5ce59a"}},{"ruleId":"D28","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":"7d8672550149e12ffb218f9f21b6dc681b042eec707b5232bfb4829c4b75a6eb"}},{"ruleId":"D28","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":"4280bdb5466394ffeed173baa49956058bf73058fa0f03d56986d30525f2bc9c"}},{"ruleId":"D28","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":"4280bdb5466394ffeed173baa49956058bf73058fa0f03d56986d30525f2bc9c"}},{"ruleId":"D28","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":"4280bdb5466394ffeed173baa49956058bf73058fa0f03d56986d30525f2bc9c"}},{"ruleId":"D28","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":"3cdfd7beb31b791ae18dcb425e21eb157c842e7bbcd522cc330573c1a6538db1"}},{"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"2f8af39c1eb6c4874919696bcb757933a1584771535c7f784261055a684613b1"},"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":"bb25aabff75bb6240860bfc935c9aaa0f3461a0d935a21aca582706a907cc8bf"},"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":"bb25aabff75bb6240860bfc935c9aaa0f3461a0d935a21aca582706a907cc8bf"},"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":"bb25aabff75bb6240860bfc935c9aaa0f3461a0d935a21aca582706a907cc8bf"},"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":"152c09058afb3186c12557802232c126d48550e967c5ca7482dd76f2bc3e0d1e"},"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":"152c09058afb3186c12557802232c126d48550e967c5ca7482dd76f2bc3e0d1e"},"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":"152c09058afb3186c12557802232c126d48550e967c5ca7482dd76f2bc3e0d1e"},"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":"152c09058afb3186c12557802232c126d48550e967c5ca7482dd76f2bc3e0d1e"},"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":"152c09058afb3186c12557802232c126d48550e967c5ca7482dd76f2bc3e0d1e"},"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":"2fbcfd5937afa25c571c6cb12a48ecd990824e8a13d575ebd0e3ac080ef4d7f6"},"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":"2fbcfd5937afa25c571c6cb12a48ecd990824e8a13d575ebd0e3ac080ef4d7f6"},"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":"2fbcfd5937afa25c571c6cb12a48ecd990824e8a13d575ebd0e3ac080ef4d7f6"},"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":"2fbcfd5937afa25c571c6cb12a48ecd990824e8a13d575ebd0e3ac080ef4d7f6"},"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":"76e3acee51603dd92c9445f4591bb98d953e133a211ba9a3f414bc98f8e53ea5"},"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":"76e3acee51603dd92c9445f4591bb98d953e133a211ba9a3f414bc98f8e53ea5"},"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":"76e3acee51603dd92c9445f4591bb98d953e133a211ba9a3f414bc98f8e53ea5"},"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":"76e3acee51603dd92c9445f4591bb98d953e133a211ba9a3f414bc98f8e53ea5"},"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":"76e3acee51603dd92c9445f4591bb98d953e133a211ba9a3f414bc98f8e53ea5"},"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":"1ddd4a3eacb5abc26b76d406ddb70aae9070bf3a368b86a2ade443eb3e11ee6d"},"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":"1ddd4a3eacb5abc26b76d406ddb70aae9070bf3a368b86a2ade443eb3e11ee6d"},"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":"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":"30b40da5c76d9d185d53279aad925a50e82e4dd82135a8f3f0f1ee6249218dbc"}},{"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":"a77b03ac98820e72137d6187bcaeacc19cfcddf51c0406a831b8a1d44ce3229f"}},{"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":"fe2d688610b51e0a5a02c7c5dd1724a4986e40f2689fb84510e2ec0164c27d6a"}},{"ruleId":"D31","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":"5b2f1b5b384bf8530f061918d9cac8c61532d15e1183ddeeec6808dbab9e9600"}},{"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":"b33478d526b4b75f2d1effac71d00f20d80ae6679f585c0aa406adc1aaa29f92"}},{"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":"1f51a163f26d94ce6b6f473117dde579d091c8cbf9e59810475c94d9fc921120"}},{"ruleId":"D36","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":"1b213f6eedd4b140d0bc37bdf1496f72811a643f34064f12518b32e9e83bcfc7"}},{"ruleId":"D36","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":"0e17f71490e4d120a48b2b2881ab866c93b272bef2febb673a3e8e42b2c288ab"}},{"ruleId":"D36","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":"eb00976a698a5d68999b7ee6d27206fd374e916853e7ff1ead5eed42386f043f"}},{"ruleId":"D36","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":"90f83b4fa27db32740afe9540c905f3c0499caed87f61049a8a903ecc95b41c3"}}],"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-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-494","guid":"b8a65e0d-e459-4a55-a931-fc1136482375","name":"Download of Code Without Integrity Check","shortDescription":{"text":"Download of Code Without Integrity Check"},"helpUri":"https://cwe.mitre.org/data/definitions/494.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-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":51,"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."]}]}