{"$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":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"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":"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"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"]}},{"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"]}},{"id":"D37","name":"Vulnerability-disclosure Policy","shortDescription":{"text":"Vulnerability-disclosure Policy"},"helpUri":"https://codehealth.canine.dev/dimensions/D37","relationships":[{"target":{"id":"CWE-1059","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1059"]}},{"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"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"]}}]}},"results":[{"ruleId":"D2","level":"warning","message":{"text":"run (cognitive 18): run has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":".changeset/fix_changelogs.cjs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"2524ffbc14879b775b082aae4e54662af92a403e4625f0ff471fcfc88ac8c3c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 3): gradio/mcp.py:121-136 | gradio/mcp.py:156-170 | gradio/mcp.py:257-271"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/mcp.py"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"249f436895efadda90195146eff66ecc508708e104d45715d9b2f8ec8f5c6c82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): gradio/events.py:75-90 | gradio/events.py:110-125"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/events.py"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"90ac572844446edbee37ebc624458db5cfeba7d2dd0fe7b4d8be098c59dcf168"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): gradio/mcp.py:225-240 | gradio/mcp.py:324-337"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/mcp.py"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"988f30d3c842d0e54609a1f095cc6875c39998bf1501f350091338c210f59a5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): gradio/server.py:18-33 | gradio/server.py:34-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/server.py"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"d07175184196d36ac3dad5de159000dba9f28295dff646d88aff2256d16f2f55"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): gradio/templates.py:2-17 | gradio/templates.py:18-33"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/templates.py"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"297ed70b1d17ddbba613e7723653b6632cdd122a6d7ad85aa1baec56c973b0ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): test/test_workflow_api.py:1-15 | test/test_workflow_api.py:34-10"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/test_workflow_api.py"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0689ee21769f0c5d09fe83035f1372ed584542503413e28f3527cc9a69781674"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): test/test_routes.py:10-22 | test/test_routes.py:38-50"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/test_routes.py"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"173e9e81ea08df58f41c8c794a93e7379ae1fad5cd3d8b6e66c5447f70ecbfb0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): gradio/interface.py:88-99 | gradio/interface.py:124-1"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/interface.py"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"33a5c74e40945e663585454c245d101d55404ea27e5200c4d3911bf7c63cc8f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): gradio/queueing.py:19-30 | gradio/queueing.py:109-120"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/queueing.py"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"48e19e36d1374fc61964383b2863a18a1ced96621c7bd0e33ee4e00d4645bedf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): test/components/test_dataframe.py:18-29 | test/components/test_dataframe.py:72-83"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_dataframe.py"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"17ecbdbfaf30a5df489e5d4942fbc62b3076e24f84b45604ef3674b1b2efba0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): test/test_helpers.py:18-29 | test/test_helpers.py:40-51"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/test_helpers.py"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"6543f36a859461484ef1c3d160ef76d9495a1457c7082f205fd1660797f3685d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): client/python/test/test_snippet.py:8-18 | client/python/test/test_snippet.py:19-29"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"client/python/test/test_snippet.py"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"fab04e84cfbed1033f570e02b0311b5416d7959e9843e7e66e25631ae4e76f5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): gradio/blocks.py:38-48 | gradio/blocks.py:107-117"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/blocks.py"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"798ba7404881a3764757d3d48e0e6dc3a284131d050676502e5757c18e6edba1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): gradio/components/video.py:10-20 | gradio/components/video.py:31-41"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/components/video.py"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"92087f9d1e87d6cb232a6604c9895afb65e8ba0670c1b0cfe95928d079870de0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): gradio/routes.py:740-750 | gradio/routes.py:795-805"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/routes.py"},"region":{"startLine":740}}}],"partialFingerprints":{"codehealthFindingId/v1":"701b87bab0990eba968b96cece1bfd1f4fb4b63e13d32b06f2e2112258a2f11e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): test/components/test_file_explorer.py:4-14 | test/components/test_file_explorer.py:21-31"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_file_explorer.py"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2859e1ced2bf02d8211a23f4d87be6ae789c14ebbe11955ab70939801e9154a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): test/components/test_highlighted_text.py:25-33 | test/components/test_highlighted_text.py:34-43 | test/components/test_highlighted_text.py:68-76"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_highlighted_text.py"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"35deb9fdeacc612e0ae0d923a4ca0c42f968fa6e17cd186c1396e29f48d37e81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): gradio/server.py:57-66 | gradio/server.py:67-76"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/server.py"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"e504511fcb950910071537bfd2e13b4289ae18eeacc2d6ea50785a0b421c22b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): gradio/routes.py:991-999 | gradio/routes.py:1007-1015"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"gradio/routes.py"},"region":{"startLine":991}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c6ae0df241acdd65a8770fa43702878a67f44d3ab77a6f42a1a38a7914e9fd7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): test/components/test_video.py:3-11 | test/components/test_video.py:15-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_video.py"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"0938ad14275f3f2407821b1ecd9936ac2eb5d29daf3ccbc7492294a99b315870"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): test/test_blocks.py:15-23 | test/test_blocks.py:26-33"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/test_blocks.py"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac9ee135cc4481e83dc1b7ef863f3262ad29768b554aff93a008ca959576f458"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): test/components/test_dataframe.py:59-65 | test/components/test_dataframe.py:68-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_dataframe.py"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4a8a67fdfa0e05220e75f01024d2cb7f297221bf2e438c52aea5bfe0bf21fc5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): test/test_blocks.py:3-8 | test/test_blocks.py:9-15"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/test_blocks.py"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbd64b4634f4d9688d430ef8ac5eb5d03c720f92fb4c5fe50658980b05a764a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): test/components/test_chatbot.py:11-15 | test/components/test_chatbot.py:16-20"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"test/components/test_chatbot.py"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea831c93a5436c9e72215e09da1cdf28f256277ec8b7f1193b5c4e7765b031e1"}},{"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":"D16","level":"warning","message":{"text":"single-maintainer \u2014 knowledge-concentration (bus factor) risk: single-maintainer \u2014 knowledge-concentration (bus factor) risk (0 author(s) across 0 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b4b49d961df742f0e507f4cc5c8094fb077ba0391a27fd015d18320865187719"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a single \u0027## Installation\u0027 and \u0027## Building Your First Demo\u0027 block with no context/problem and no consequences/trade-offs; the title is informative: Add a Context section explaining why someone would want to build a demo (e.g. showcase/model deployment without hosting) and a Consequences section on trade-offs such as needing Python 3.10, virtual environments, and the cost of an API endpoint for production."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/01_getting-started/01_quickstart.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"51d57c97d5ac7c66db61e280b827f10fe2e2253aa833dcdff1c0362dcd7ae036"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only a flagging directory structure example with a passing \u0027flagging_options\u0027 argument is present: Add why flagged inputs matter (e.g. debugging model behavior) and the trade-offs of logging flagged data (privacy/security risk for sensitive input)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/02_building-interfaces/02_flagging.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f373011c6d85e6633cd4c59a1cfc55ae65cb40266ce9edb07bc323d2493c67eb"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a runnable Python code example with no context/problem framing or consequences; the title \u0022# Alerts\u0022 is a header rather than an informative decision: Rewrite the body as an ADR: state the problem (how to handle missing/process-fail inputs in a function) and the explicit decisions (raise Error, Warning, Info), then document trade-offs such as false positives from warning calls"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/04_additional-features/04_alerts.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac5bd709cd01738a1efe22330cead746726e228c2f37e950cb864220b5ea634d"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; only a one-line rationale plus code snippets with no discussion of why progress bars matter or what they fix: Add the problem (e.g. lack of control over how progress is shown to users) and the trade-offs (e.g. added boilerplate for custom progress bars, potential performance cost of tracking via tqdm vs a separate Progress instance)}"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/04_additional-features/05_progress-bars.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4dbdb6291066632a9983421172686fbbd607ccd18d2a71d494e5f66dea7b1e3"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a list of environment-variable entries with defaults and examples but no context/problem statement or consequences/trade-offs: Add a Context/Problem section explaining why environment variables matter (e.g. configuration without code changes) and a Consequences section covering trade-offs such as security risks from allowed_paths directories"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/04_additional-features/10_environment-variables.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"89c711fe7d7076f1ef6c99f789ca36907ab94ba355707f6028ba8f51f39f1ecb"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs; the body is pure usage example with links only: Add a Context section explaining why theme customization matters (e.g. brand alignment, accessibility) and a Consequences section on trade-offs such as performance overhead from custom CSS"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/04_additional-features/12_themes.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1557713b5cbd8f1845d438cb07fcc980d38f7391718d106f5692a8a4cbf9c35"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem and no consequences/trade-offs are stated (e.g. local vs hosted model cost, API rate limits) for the decision set out: Add a Context section explaining why LLM libraries/ APIs matter and a Consequences section covering trade-offs such as OpenAI key costs or SambaNova cloud dependency"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/05_chatbots/02_chatinterface-examples.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d0bf1f17994b1eade11289f8d6f00371206cdd1ac7399cba105f785602e5d1f"}},{"ruleId":"D20","level":"warning","message":{"text":"No context/problem (why a plot component API decision) and no consequences/trade-offs: Add an Context section explaining why the native Plot components were chosen over alternatives like matplotlib integration or external libraries. Add Consequences covering trade-offs such as dependency on Gradio\u0027s own plotting stack versus full data viz capability."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/06_data-science-and-plots/01_creating-plots.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c85af58072f4d0b82b6bb93bb8d60f606bf61a74c62494fdd8302135ab72642"}},{"ruleId":"D20","level":"warning","message":{"text":"Consequences/trade-offs of adding tables/stats (e.g. performance/complexity) are not visible before the clip: "},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/06_data-science-and-plots/03_filters-tables-and-stats.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7deccb92f16906af3c662aa271ba2ce158cd4ca26e5bc5d1eda58f89f4dc50a4"}},{"ruleId":"D20","level":"warning","message":{"text":"Consequences/trade-offs (e.g. dependency on SQLAlchemy, migration cost of changing engine drivers) are not visible before the clip: "},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/06_data-science-and-plots/04_connecting-to-a-database.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1929df939ce33bda7658aebc1297970ed7182aa130dc0a9f5bbcf9968080a432"}},{"ruleId":"D20","level":"warning","message":{"text":"The decision (model choice RT-DETR \u002B streaming with ZeroGPU, subsampling and resizing) is explicit but there are no consequences/trade-offs noted: Add a Consequences section covering trade-offs such as the need for Hugging Face Spaces deployment, the fixed 2-second chunk size vs variable frame rate, and the reliance on ZeroGPU quota"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/07_streaming/03_object-detection-from-video.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8c586385352eebd197a96418b41ba8f9ae8f89510bce494b1a28785563d7968"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is mostly installation and workflow steps (create/dev/build/publish CLI commands), with only a brief create-command description and a tip on component templates; there is no context/problem framing or consequences section: Add a Context/Problem section explaining why custom components are needed (e.g. reusing existing Gradio features, enabling third-party users) and a Consequences section covering trade-offs such as the need for Python/npm Node.js dependencies and the publish process"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/08_custom-components/01_custom-components-in-five-minutes.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5511a675262fea86f7c66888998a550fbcd8a2c7bf3a3f387323fb5761b9a34"}},{"ruleId":"D20","level":"warning","message":{"text":"The decision (what frontend files and props are required) is explicit but the consequences/trade-offs fall below the clip marker; whether context/problem is stated is not visible: Add a Consequences section noting that requiring Svelte/Gradio-specific props may make it harder to integrate with existing Python components, and that package.json exports override must be managed by hand"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/08_custom-components/05_frontend.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"39fb1b785e4f41bd36610bd2e44ba5b49958b9a0ce6dd3072366e03847dea552"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a runnable code example (gradio cc create PDF \u002B package.json install) and shows directory structure but does not state the problem/context or give any consequences/trade-offs: Add a Context section explaining why a custom PDF-display component is needed (e.g. document QA models require PDF input, no existing component), and a Consequences section covering trade-offs such as needing to install pdfjs-dist and managing dependencies"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/08_custom-components/07_pdf-component-example.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf5f39da5bc0ce9394bbf0767a0812f3c72c0108967f36eb7d714ae8352e8a7a"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a two-part series with only part 1 (project creation \u002B data_model) shown and no context/problem or consequences/trade-offs for the multimodal chatbot decision: Add a Context section explaining why a custom multimodal chatbot is needed over existing components, and a Consequences section covering trade-offs such as increased complexity, media handling limits, and the need for new UI/Svelte files"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/08_custom-components/08_multimodal-chatbot-part1.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"295204d6f6503eeaf35ad7739587be128215f48c8ebfea993826eccf47f6600d"}},{"ruleId":"D20","level":"warning","message":{"text":"The body is a runnable code example with no context/problem and no consequences/trade-offs (e.g. dependency on ffmpeg, model latency, private-space token handling): Add a Context section explaining why a video-processing web app is needed over static files, and a Consequences section covering trade-offs such as requiring ffmpeg, the queueing cost of public Spaces, and the need for a Hugging Face token."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/09_gradio-clients-and-lite/07_fastapi-app-with-the-gradio-client.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f01f36630db4a5bd7456e283c4057d692cbda8284e7008af2e5133b64a0638b6"}},{"ruleId":"D25","level":"error","message":{"text":"ADR not followed: gr.Workflow: The summary shows no public type named gr.Blocks or a nested Workflow inside it, contradicting the decision that Workflow must be created at the top level and not nested in Blocks. (guides/04_additional-features/18_workflows.md)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"guides/04_additional-features/18_workflows.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bee1bb5b9e6fc0c6f327aa42366af4371777433f94d5e88f208f657d32efe133"}},{"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":"cbfc1cd397dc5c2e72a06401c9d8d0ffcd6149691da626fa7b4cfe3e15dcdcbc"}},{"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":"ec174ad68d615d36e58eca54efe4f9f8ed8d645a6bdc135422893f866d03c705"},"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":"ec174ad68d615d36e58eca54efe4f9f8ed8d645a6bdc135422893f866d03c705"},"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":"ec174ad68d615d36e58eca54efe4f9f8ed8d645a6bdc135422893f866d03c705"},"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":"ec174ad68d615d36e58eca54efe4f9f8ed8d645a6bdc135422893f866d03c705"},"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":"ec174ad68d615d36e58eca54efe4f9f8ed8d645a6bdc135422893f866d03c705"},"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":"cb1dbe7163a67e1f1e4a28ca054717ea0f8945ddf9e175e9d86dd868e9eef14c"},"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":"df8343c2188d7212b99e5b6d2d3dff4ecbc4dff1a3667f3bc143c9422b91149a"},"taxa":[{"id":"CWE-78","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":"cb1dbe7163a67e1f1e4a28ca054717ea0f8945ddf9e175e9d86dd868e9eef14c"},"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":"3bcec04bf4c14454b9c8dfdf276177cc8f61d8bf80998a67be6a1a35abe17dd7"},"taxa":[{"id":"CWE-78","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":"cb1dbe7163a67e1f1e4a28ca054717ea0f8945ddf9e175e9d86dd868e9eef14c"},"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":"cb1dbe7163a67e1f1e4a28ca054717ea0f8945ddf9e175e9d86dd868e9eef14c"},"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":"d0f220af90e2bd02daa85cfb4d308d155c434fef4794aac4631d9b9bcb0e4580"},"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":"d0f220af90e2bd02daa85cfb4d308d155c434fef4794aac4631d9b9bcb0e4580"},"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":"038349e3bf1145fbac2098191e23cbb69c0cea589a172a7a66b099700c711df7"},"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":"ebe61993a232881ebfa4a6ed57d32c0821488a9d1c2d2bd6ed9c1da44a4218cc"},"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":"ebe61993a232881ebfa4a6ed57d32c0821488a9d1c2d2bd6ed9c1da44a4218cc"},"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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"72c0c3803608a346af411150b60b03568a09ae8726351a76bc5bbebdd2af4e17"},"taxa":[{"id":"CWE-78","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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"0f55eff4e6b56a0b6dca70e1b4087443385633a6923e29b8f9f7788b618a1290"},"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":"8b61cefc223639e85bcc32affd43ad28ab108a7fcd651453c5252bf09445cb3b"},"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":"8b61cefc223639e85bcc32affd43ad28ab108a7fcd651453c5252bf09445cb3b"},"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":"8b61cefc223639e85bcc32affd43ad28ab108a7fcd651453c5252bf09445cb3b"},"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":"8b61cefc223639e85bcc32affd43ad28ab108a7fcd651453c5252bf09445cb3b"},"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":"523f3736d934b47c6abc36ec3ee1a451e6ca097370bf5b10b8d1fd92fb5cfdd5"},"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":"523f3736d934b47c6abc36ec3ee1a451e6ca097370bf5b10b8d1fd92fb5cfdd5"},"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":"523f3736d934b47c6abc36ec3ee1a451e6ca097370bf5b10b8d1fd92fb5cfdd5"},"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":"523f3736d934b47c6abc36ec3ee1a451e6ca097370bf5b10b8d1fd92fb5cfdd5"},"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":"523f3736d934b47c6abc36ec3ee1a451e6ca097370bf5b10b8d1fd92fb5cfdd5"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"60b0c6067792b2af69eff873af2b875ad0c8aae166f60b1d4bf30bf0f787a887"},"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":"6cef0592b7196564a939c009ec614a79d432500cae8da7f55bb79ff98cd53c36"},"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":"6cef0592b7196564a939c009ec614a79d432500cae8da7f55bb79ff98cd53c36"},"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":"6cef0592b7196564a939c009ec614a79d432500cae8da7f55bb79ff98cd53c36"},"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":"d5224cccd07b7f57cb6906f1738c83a069193f393e314261cd75280a8294d199"},"taxa":[{"id":"CWE-78","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":"254269a5e2a0cd24332ac8f1153fe9b1e2edbb9079e88c4f3ed999956a57fb3d"},"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":"254269a5e2a0cd24332ac8f1153fe9b1e2edbb9079e88c4f3ed999956a57fb3d"},"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":"254269a5e2a0cd24332ac8f1153fe9b1e2edbb9079e88c4f3ed999956a57fb3d"},"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":"254269a5e2a0cd24332ac8f1153fe9b1e2edbb9079e88c4f3ed999956a57fb3d"},"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":"19915eedba3fef5f554be10a73c2df0466a2304f9dd6630aa17b420aeaa8499c"},"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":"19915eedba3fef5f554be10a73c2df0466a2304f9dd6630aa17b420aeaa8499c"},"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":"a8661027b96c3c68a0a589fcc088745e66be0ebff3dcfbd0c0da3131b15cce73"}},{"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":"d2c735c8713e2edfc4da5913f60fe228e44e5ca8e810e7d1c0d4a566407dd2b1"}},{"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":"dd5ae10cfb9d9da51aaf264eede370130461bdeaad13dc39a7353fa702c579ad"}},{"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":"86834d38aa2fff377607045f8d72fe47ec9ec30931ff3260d48d2a162467cac2"}},{"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":"392f32918e3f944c4e1e18386ea9f19ad50973ba43b594077376d1d3bae86054"}},{"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":"2ab994e2b8c38562a248cc5a57055c62a724f2c462ed9bfecacdf9cc448faa1d"}},{"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":"f356b883285bdcae91b238b9625769422355197cdcd3f6444f4446c74f145cab"}},{"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":"86ed51b39f6c134c498ea1ef57583f3c0ff3ca6e501dc96c8efbf847efcc5b60"}},{"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":"5c8d2c3eabfa8f92c16c1393a77cbe9d5e91a23cd0ab4d504d4521ef45325234"}},{"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":"8dbe9e68e97e2bde04bdd9a615b892b20d8b83578012c02b201fc3b445551e85"}},{"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"}},{"ruleId":"D38","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":"0f3ca3b2caf44aca5a3170e23cf52d36b6517e6f11ce96f9bd26b1ec6e8dd8f1"}},{"ruleId":"D38","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":"1ad767577e335093c7ea34740ca2e0397950e06d6a84b40651b71072bbc4238e"}},{"ruleId":"D38","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":"e4f9831da6374babe9c2b5f23dbaea242a7f39b4c6bcf760ceb78177d55b0a83"}},{"ruleId":"D38","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":"2ca788d8fe11c277aea89e72df19a6a24bc51a24601a20489d91e587ce41d235"}},{"ruleId":"D38","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":"2b371407990dde62dbcdfb429ebf5ac9a89195063ceb49592eeb33d09e5ae2ef"}},{"ruleId":"D38","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":"ab9205b4d3f5e6870fbad331e52deef96b3583908aef0183ed6c4a082221cde6"}},{"ruleId":"D38","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":"5120d845442010f7dfd94c99fb556274be164d3231b26821d8813e86f4ebdfe2"}},{"ruleId":"D38","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":"c3c3f5372f7b10710fb299a530bf6aa8dddbddfd3e70549f1d60d6bf2ca2ba1c"}},{"ruleId":"D38","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":"2307504d7b86035084085045f694abdd4f9622dcc6779c64f8eedf1c1917ee83"}},{"ruleId":"D38","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":"41956aaf9012011f939725ee2bb29eac57f8422166d4338286bde934e7f2ee8d"}},{"ruleId":"D38","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":"29f190dbac532ac7bb407b7b57be3e63f8c255ca3d570aa0942e29b2854f0f1d"}},{"ruleId":"D38","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":"4699baba71f2b9a632be150a28494484eca90a248c93785b894ad60599e4d230"}},{"ruleId":"D38","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":"803d915577903cbaa90f2d4709804b098750ba9160d8a733539d46aff2e23737"}},{"ruleId":"D38","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":"54516f776aa146fca01fe3b4fdea8bd12b13cc40d24f9752ed075fcdfeaab969"}},{"ruleId":"D38","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":"ab87fa47085f3ddf8095c69f2d22eba0fb043755b7c1ee3d437bc345e9fa3f3c"}},{"ruleId":"D38","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":"e0f0d3b7919d998486c2a0597a7bba1ee4630a29de5aec2e9e570dcc67017a03"}},{"ruleId":"D38","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":"396f8ec29f00122b1cd39576e851e5bf05200d3343ff2e2a6642e50e20e0a75d"}},{"ruleId":"D38","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":"8013fa1f7b15bc3402bbaf830d112297298ded7d36b12918dec4281cecef890f"}},{"ruleId":"D38","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":"f5183408516a24f125194dbb9e855472451c801484ac753232b352785c093c0d"}},{"ruleId":"D38","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":"7f7b22a93d27dfe978e6806d404fd7adaa348cfd5409192b4ffedc5b5713803e"}},{"ruleId":"D38","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":"e2349ae3f51305d0e9a3e648b4211541d6fb60994e06e15a54c538a025c4716e"}},{"ruleId":"D38","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":"fa5d1d8d68a34f3cd4557365f3ad377b946dc12f482f52428bffddebbf3d65f0"}},{"ruleId":"D38","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":"3105cf0726423b7b2e542a57ff67181e23a66970d3159413e1f579d291a036c8"}},{"ruleId":"D38","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":"1c88be2565da15a2ee4ed52c8a71ceded743180ef8e37e2ae8dc7c0b64176e5f"}},{"ruleId":"D38","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":"4febdccbc62c918a2b425437055dbc1c7ff20e6b8d9e0557a9889991cb0ae9cd"}},{"ruleId":"D38","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":"36a85081d3f9e572694bfd7faefe536f7060ef511d71e1ab01eecdaa31200268"}},{"ruleId":"D38","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":"cec2080af760271a2fcfe7c53f7331f65dedb29c715c6ab90e4276cc358057bf"}},{"ruleId":"D38","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":"bc25415142290251537713c87f0c85c1484f72172a997676f6a186cd6026a500"}},{"ruleId":"D38","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":"322cc5d1fdf34c0dc94215624ee901fb17f77b59ab319f1c215467c3bc142b8b"}},{"ruleId":"D38","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":"947f0fa263b2cbe018632a8e0e4ac7b26c463a9b46676f8f524f8e2e42acc600"}},{"ruleId":"D38","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":"1ea21a556d2f9e056d4390b01348cb707a0fbf5a2499cda95722d2deb3dd9438"}},{"ruleId":"D38","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":"fa8a50cc2990545a11be13f15f41f7c998dcb206b6a1b56c45e1dc91b0efdd44"}},{"ruleId":"D38","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":"eea6f61293987eadd46f89165f7a113f9b27756f965fd2e02f061c4a05b1caf5"}},{"ruleId":"D38","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":"19810759fd86a1cf26774d02f7b43df31815627c543890b4e83bb07cb2c40ef3"}},{"ruleId":"D38","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":"314308aafeef230e1fa71ee39bdd7af896bf82636e8f70ba46eec5437c35f5eb"}},{"ruleId":"D38","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":"21b6ebe0836b9e6daf7cfab0fd2c1592221496c9c5fc3dbd604d6a5ea9b90d3f"}},{"ruleId":"D38","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":"8b425a0f7760dd982bc82ecefacbd1e582e09c074072ea4b48562b3f625b7a4a"}},{"ruleId":"D38","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":"299de74beced0216b98e04eca99f92a6e9cf0de9c847422990d2d2c21ef7340e"}},{"ruleId":"D38","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":"b9f9e735a893fe3dfedddec89e295f3eee750d9ce1fbf0ac12eefd91e7a4accb"}},{"ruleId":"D38","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":"533e69534ac0e728198ce6febae590b59a8453394278924317272bc1a493c8a7"}},{"ruleId":"D38","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":"37af558c003648eb383cbc6e31ef397d5715dc12611ccc7c5b87527c13b9e6c4"}},{"ruleId":"D38","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":"b31155ae94dda90b25c01f9a71952179821d4bb9de6f8d43a2f5957c38d6fe25"}},{"ruleId":"D38","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":"d6556d26280376a1f828ec279af1e56ba9e5c53645f6b1d455e878b177331dee"}},{"ruleId":"D38","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":"4b96f2b776f7673bf5f1ca7f4912195cfc6daec01c9598fd9c2983d79f261413"}},{"ruleId":"D38","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":"9daeb4b522f8c898ab24346ca839746ada49600c30ab74e9d030e9907061cb06"}},{"ruleId":"D38","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":"f7d32256e812f8096a2750436f28a69b96070a7150ef2257567823edf2923f37"}},{"ruleId":"D38","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":"0c5db699239d36cfbb94e33b61a709d0dd2988e6f65813b2f99b2f1c046c096c"}},{"ruleId":"D38","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":"f0397226276d8838292a59cf8fb151ac62a6e27d1dcf206bdaf23a2a0728b219"}},{"ruleId":"D38","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":"0a490db6969450c1f213200080182b477c04938f60c39526ccb11955deb1f879"}},{"ruleId":"D38","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":"ec115cbe9484773d35536139782627a0af6c6ed4a623786dcde82ae85614c5bd"}}],"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-1059","guid":"a2381a08-60f6-9554-a8b8-f3018cfaaca5","name":"Insufficient Technical Documentation","shortDescription":{"text":"Insufficient Technical Documentation"},"helpUri":"https://cwe.mitre.org/data/definitions/1059.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-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-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":115,"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."]}]}