{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "SEC045", "name": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a latera", "shortDescription": {"text": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ cleared) are escapable: attackers use obj"}, "fullDescription": {"text": "For literal data structures: use ast.literal_eval(text) \u2014 only parses literals, raises on code.\nFor formula evaluation: use asteval or simpleeval (purpose-built sandboxes with allow-lists).\nFor Odoo: use odoo.tools.safe_eval(expr, locals_dict, mode='exec').\nIf you genuinely need to execute admin-stored code: require explicit super-admin permission AND log every execution with a stack trace."}, "properties": {"scanner": "repobility-threat-engine", "category": "injection", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "DEPCUR-GHA", "name": "GitHub Action `actions/github-script@v8` is 1 major version(s) behind (latest v9.0.0)", "shortDescription": {"text": "GitHub Action `actions/github-script@v8` is 1 major version(s) behind (latest v9.0.0)"}, "fullDescription": {"text": "`uses: actions/github-script@v8` is 1 major version(s) behind the latest published release v9.0.0. Old action majors run on deprecated runner images / Node versions and miss upstream fixes. This is the exact 'outdated GitHub Action' class Dependabot raises \u2014 and which Repobility had no coverage for."}, "properties": {"scanner": "repobility-dependency-currency", "category": "dependency", "severity": "medium", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "MINED111", "name": "Bare except continues silently", "shortDescription": {"text": "Bare except continues silently"}, "fullDescription": {"text": "Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED109", "name": "Mutable default argument in `feature` (list)", "shortDescription": {"text": "Mutable default argument in `feature` (list)"}, "fullDescription": {"text": "`def feature(... = []/{}/set())` \u2014 Python's default value is constructed ONCE at function definition time and shared across all calls. Mutating it in one call mutates it for every future call too."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "COMP001", "name": "[COMP001] High cognitive complexity: Function `convert_wav_to_pcm` has cognitive complexity 12 (SonarSource scale). Cogn", "shortDescription": {"text": "[COMP001] High cognitive complexity: Function `convert_wav_to_pcm` has cognitive complexity 12 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recu"}, "fullDescription": {"text": "Extract nested branches into named helper functions; flatten early-return / guard clauses; replace long if/elif chains with dispatch dicts or polymorphism. SonarQube's threshold for 'should refactor' is 15 \u2014 yours is 12."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "low", "confidence": 0.95, "cwe": "", "owasp": ""}}, {"id": "AIC003", "name": "Duplicated implementation block across source files", "shortDescription": {"text": "Duplicated implementation block across source files"}, "fullDescription": {"text": "Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations."}, "properties": {"scanner": "repobility-ai-code-hygiene", "category": "quality", "severity": "low", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "MINED043", "name": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data.", "shortDescription": {"text": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-319 / A02:2021 for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED041", "name": "[MINED041] Rust Unimplemented Macro (and 6 more): Same pattern found in 6 additional files. Review if needed.", "shortDescription": {"text": "[MINED041] Rust Unimplemented Macro (and 6 more): Same pattern found in 6 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-1188 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED059", "name": "[MINED059] Rust Expect In Prod (and 7 more): Same pattern found in 7 additional files. Review if needed.", "shortDescription": {"text": "[MINED059] Rust Expect In Prod (and 7 more): Same pattern found in 7 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "SEC128", "name": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake) (and 2 more): Same pattern found in 2 addit", "shortDescription": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake) (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "fullDescription": {"text": "Add `await` before each async call, or chain with `.then`. If you intentionally want fire-and-forget, prefix with `void` (TS) or assign to `_` (Python with `asyncio.create_task`) to make the intent explicit and survive lint."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED003", "name": "[MINED003] Rust Unwrap In Prod (and 127 more): Same pattern found in 127 additional files. Review if needed.", "shortDescription": {"text": "[MINED003] Rust Unwrap In Prod (and 127 more): Same pattern found in 127 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED066", "name": "[MINED066] Rust Panic Macro (and 83 more): Same pattern found in 83 additional files. Review if needed.", "shortDescription": {"text": "[MINED066] Rust Panic Macro (and 83 more): Same pattern found in 83 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED039", "name": "[MINED039] Rust Todo Macro (and 32 more): Same pattern found in 32 additional files. Review if needed.", "shortDescription": {"text": "[MINED039] Rust Todo Macro (and 32 more): Same pattern found in 32 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-1188 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED068", "name": "[MINED068] Rust Unsafe Block (and 159 more): Same pattern found in 159 additional files. Review if needed.", "shortDescription": {"text": "[MINED068] Rust Unsafe Block (and 159 more): Same pattern found in 159 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-119 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "SEC106", "name": "[SEC106] Block cipher in ECB mode (AES/DES/Blowfish): ECB mode leaks block-level structure \u2014 identical plaintext blocks ", "shortDescription": {"text": "[SEC106] Block cipher in ECB mode (AES/DES/Blowfish): ECB mode leaks block-level structure \u2014 identical plaintext blocks encrypt to identical ciphertext (the famous Tux image). Bare `Cipher.getInstance(\"AES\")` defaults to ECB on most JVMs."}, "fullDescription": {"text": "Use GCM (recommended): `Cipher.getInstance(\"AES/GCM/NoPadding\")`. Or CBC with HMAC. Always pass an explicit IV; never reuse it for GCM."}, "properties": {"scanner": "repobility-threat-engine", "category": "crypto", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "SEC013", "name": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows ", "shortDescription": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files."}, "fullDescription": {"text": "Use os.path.realpath() and verify the path starts with your expected base directory. Use secure_filename() for uploads."}, "properties": {"scanner": "repobility-threat-engine", "category": "path_traversal", "severity": "high", "confidence": 0.8, "cwe": "", "owasp": ""}}, {"id": "MINED036", "name": "[MINED036] Python Os System Call: os.system() invokes shell with no escaping.", "shortDescription": {"text": "[MINED036] Python Os System Call: os.system() invokes shell with no escaping."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-78 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED115", "name": "Action `actions/github-script` pinned to mutable ref `@v8`", "shortDescription": {"text": "Action `actions/github-script` pinned to mutable ref `@v8`"}, "fullDescription": {"text": "`uses: actions/github-script@v8` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"scanner": "repobility-supply-chain", "category": "dependency", "severity": "high", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "generic-api-key", "name": "Detected a Generic API Key, potentially exposing access to various services and sensitive operations.", "shortDescription": {"text": "Detected a Generic API Key, potentially exposing access to various services and sensitive operations."}, "fullDescription": {"text": "Gitleaks detected a committed secret or credential pattern."}, "properties": {"scanner": "gitleaks", "category": "credential_exposure", "severity": "critical", "confidence": 0.95, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/1089"}, "properties": {"repository": "embassy-rs/embassy", "repoUrl": "https://github.com/embassy-rs/embassy", "branch": "main"}, "results": [{"ruleId": "SEC045", "level": "warning", "message": {"text": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ cleared) are escapable: attackers use object introspection (().__class__.__mro__[-1].__subclasses__()) to reach os.system. CWE-95 (eval injection)."}, "properties": {"repobilityId": 106771, "scanner": "repobility-threat-engine", "fingerprint": "9df8d23afbb2442a106637bc4a46e109b225e55aec0d9a6a9626e89ea8acea4a", "category": "injection", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": ".exec(", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC045", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|injection|token|219|sec045"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-stm32-wpan/src/wba/controller.rs"}, "region": {"startLine": 219}}}]}, {"ruleId": "DEPCUR-GHA", "level": "warning", "message": {"text": "GitHub Action `actions/github-script@v8` is 1 major version(s) behind (latest v9.0.0)"}, "properties": {"repobilityId": 106740, "scanner": "repobility-dependency-currency", "fingerprint": "d4bbef7143a0fbc896da090916781a15e0f64a4e117455cfb4ac3e5c3a37217d", "category": "dependency", "severity": "medium", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"gap": "1 major version(s) behind", "signal": "currency", "cwe_ids": ["CWE-1104"], "package": "actions/github-script", "scanner": "repobility-dependency-currency", "ecosystem": "github-actions", "languages": ["yaml"], "latest_version": "v9.0.0", "correlation_key": "fp|d4bbef7143a0fbc896da090916781a15e0f64a4e117455cfb4ac3e5c3a37217d", "current_version": "v8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/matrix-bot-issues.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "DEPCUR-GHA", "level": "warning", "message": {"text": "GitHub Action `actions/github-script@v8` is 1 major version(s) behind (latest v9.0.0)"}, "properties": {"repobilityId": 106739, "scanner": "repobility-dependency-currency", "fingerprint": "f2362ac3a0c6c236733f649b68b80f193bbabba5ccb7e367d2a0c93f12446543", "category": "dependency", "severity": "medium", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"gap": "1 major version(s) behind", "signal": "currency", "cwe_ids": ["CWE-1104"], "package": "actions/github-script", "scanner": "repobility-dependency-currency", "ecosystem": "github-actions", "languages": ["yaml"], "latest_version": "v9.0.0", "correlation_key": "fp|f2362ac3a0c6c236733f649b68b80f193bbabba5ccb7e367d2a0c93f12446543", "current_version": "v8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/matrix-bot.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 106736, "scanner": "repobility-ast-engine", "fingerprint": "d605035a12b5a14aadcebf8cafccc137571affcf97271f762e9cbb30e4cbcd0f", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|d605035a12b5a14aadcebf8cafccc137571affcf97271f762e9cbb30e4cbcd0f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba6/convert_wav.py"}, "region": {"startLine": 52}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "Mutable default argument in `feature` (list)"}, "properties": {"repobilityId": 106735, "scanner": "repobility-ast-engine", "fingerprint": "db243f44bf00f6507b4dda5aab807597c34f4ca797f3c13bef2fa09cc5340dbf", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "mutable-default-arg", "owasp": null, "cwe_ids": ["CWE-1023"], "languages": ["python"], "observations_count": 64867}, "scanner": "repobility-ast-engine", "correlation_key": "fp|db243f44bf00f6507b4dda5aab807597c34f4ca797f3c13bef2fa09cc5340dbf"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/gen_config.py"}, "region": {"startLine": 10}}}]}, {"ruleId": "COMP001", "level": "note", "message": {"text": "[COMP001] High cognitive complexity: Function `convert_wav_to_pcm` has cognitive complexity 12 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weigh in. Breakdown: else=1, except=1, for=2, if=4, nested_bonus=4."}, "properties": {"repobilityId": 106762, "scanner": "repobility-threat-engine", "fingerprint": "77fbcf160beb0149e8d2e8709854ecfc3d8f497faf007b5dd37ba739f4cf3082", "category": "quality", "severity": "low", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 12 (severity threshold for low: 8+).", "evidence": {"scanner": "repobility-threat-engine", "function": "convert_wav_to_pcm", "breakdown": {"if": 4, "for": 2, "else": 1, "except": 1, "nested_bonus": 4}, "complexity": 12, "correlation_key": "fp|77fbcf160beb0149e8d2e8709854ecfc3d8f497faf007b5dd37ba739f4cf3082"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba6/convert_wav.py"}, "region": {"startLine": 9}}}]}, {"ruleId": "COMP001", "level": "note", "message": {"text": "[COMP001] High cognitive complexity: Function `feature` has cognitive complexity 14 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weigh in. Breakdown: else=1, for=1, if=3, nested_bonus=8, while=1."}, "properties": {"repobilityId": 106761, "scanner": "repobility-threat-engine", "fingerprint": "811dad022ba4d92b410d50c17dd21f7e8fdc5fe1c0ce1b90274fee9be5b602ef", "category": "quality", "severity": "low", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 14 (severity threshold for low: 8+).", "evidence": {"scanner": "repobility-threat-engine", "function": "feature", "breakdown": {"if": 3, "for": 1, "else": 1, "while": 1, "nested_bonus": 8}, "complexity": 14, "correlation_key": "fp|811dad022ba4d92b410d50c17dd21f7e8fdc5fe1c0ce1b90274fee9be5b602ef"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/gen_config.py"}, "region": {"startLine": 10}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106734, "scanner": "repobility-ai-code-hygiene", "fingerprint": "15abe25c39fb74fc6db2725cffcb7a55362243aea914c2d1fc7901f74a76e969", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 136, "correlation_key": "fp|15abe25c39fb74fc6db2725cffcb7a55362243aea914c2d1fc7901f74a76e969"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-imxrt/src/fmt.rs"}, "region": {"startLine": 118}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106733, "scanner": "repobility-ai-code-hygiene", "fingerprint": "18692e85425319ae6829d9db59065b2fcc5fce1df81bbc1cde421bf9208e465a", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 118, "correlation_key": "fp|18692e85425319ae6829d9db59065b2fcc5fce1df81bbc1cde421bf9208e465a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-imxrt/src/fmt.rs"}, "region": {"startLine": 112}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106732, "scanner": "repobility-ai-code-hygiene", "fingerprint": "8cf7d001a4f3cb3b81374e1dff6f68dfb20a4f58ab425111d3ded48b0bd477df", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-imxrt/src/flexcomm/spi.rs", "duplicate_line": 606, "correlation_key": "fp|8cf7d001a4f3cb3b81374e1dff6f68dfb20a4f58ab425111d3ded48b0bd477df"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-imxrt/src/flexcomm/uart.rs"}, "region": {"startLine": 812}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106731, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b654e90e6b585cf749a7bfc0b5af87619dc262e5bb8f17375c81e578d54d96fa", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-imxrt/src/chips/mimxrt633s.rs", "duplicate_line": 2, "correlation_key": "fp|b654e90e6b585cf749a7bfc0b5af87619dc262e5bb8f17375c81e578d54d96fa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-imxrt/src/chips/mimxrt685s.rs"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106730, "scanner": "repobility-ai-code-hygiene", "fingerprint": "f18944e662be52c74a58e3904cba9f9ec4a1dee379b16b2468d2794b7b3d4eeb", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|f18944e662be52c74a58e3904cba9f9ec4a1dee379b16b2468d2794b7b3d4eeb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-hal-internal/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106729, "scanner": "repobility-ai-code-hygiene", "fingerprint": "530f0287bf0cca031bf79394b71134afceb27b68206d1ac6ba296ca937e6ef27", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|530f0287bf0cca031bf79394b71134afceb27b68206d1ac6ba296ca937e6ef27"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-hal-internal/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106728, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b928b235a779dcb2daec965bf2bf01b65914e69fd409818b6d4b0fc1d0d7e59a", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/build_common.rs", "duplicate_line": 1, "correlation_key": "fp|b928b235a779dcb2daec965bf2bf01b65914e69fd409818b6d4b0fc1d0d7e59a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-hal-internal/build_common.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106727, "scanner": "repobility-ai-code-hygiene", "fingerprint": "32d639e836c2e06125d0e2f6cee24f481a588803aef3dbac3fbc35ada0958506", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|32d639e836c2e06125d0e2f6cee24f481a588803aef3dbac3fbc35ada0958506"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-futures/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106726, "scanner": "repobility-ai-code-hygiene", "fingerprint": "6a11bf06b91297e1bc4144934c5819f5c3aee0736762125cff7d440f0a40cd30", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|6a11bf06b91297e1bc4144934c5819f5c3aee0736762125cff7d440f0a40cd30"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-futures/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106725, "scanner": "repobility-ai-code-hygiene", "fingerprint": "a861706bd32a1ca6babaf8cf5cb43caaf244ae7d3f2a8861110e58620efb88d5", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/src/platform/cortex_m.rs", "duplicate_line": 66, "correlation_key": "fp|a861706bd32a1ca6babaf8cf5cb43caaf244ae7d3f2a8861110e58620efb88d5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/platform/z7.rs"}, "region": {"startLine": 64}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106724, "scanner": "repobility-ai-code-hygiene", "fingerprint": "bd9313be1e42e046938734c90051e3a6e0fcc02b6fe3502da77099d2075aabbf", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/src/platform/cortex_ar.rs", "duplicate_line": 16, "correlation_key": "fp|bd9313be1e42e046938734c90051e3a6e0fcc02b6fe3502da77099d2075aabbf"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/platform/z7.rs"}, "region": {"startLine": 29}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106723, "scanner": "repobility-ai-code-hygiene", "fingerprint": "398b0cdcab70747af9cf2ddf0451746c97b56b4366bad53300c2b9cad57d8133", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/src/platform/avr.rs", "duplicate_line": 12, "correlation_key": "fp|398b0cdcab70747af9cf2ddf0451746c97b56b4366bad53300c2b9cad57d8133"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/platform/spin.rs"}, "region": {"startLine": 8}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106722, "scanner": "repobility-ai-code-hygiene", "fingerprint": "cc6d8437efa04583c5dbc8b9ec35feaa344954d1090921f3da4df876744f2875", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/src/platform/avr.rs", "duplicate_line": 7, "correlation_key": "fp|cc6d8437efa04583c5dbc8b9ec35feaa344954d1090921f3da4df876744f2875"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/platform/riscv.rs"}, "region": {"startLine": 7}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106721, "scanner": "repobility-ai-code-hygiene", "fingerprint": "183dba5394451bf50f1a5398361e2a2a1141f67041d5681fe2193d2612b67faa", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor/src/platform/cortex_ar.rs", "duplicate_line": 16, "correlation_key": "fp|183dba5394451bf50f1a5398361e2a2a1141f67041d5681fe2193d2612b67faa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/platform/cortex_m.rs"}, "region": {"startLine": 32}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106720, "scanner": "repobility-ai-code-hygiene", "fingerprint": "15a4fa0830ba766ec3efb296f29f5aae5675db0dd5aa9d682bc4c9900f2c5119", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|15a4fa0830ba766ec3efb296f29f5aae5675db0dd5aa9d682bc4c9900f2c5119"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106719, "scanner": "repobility-ai-code-hygiene", "fingerprint": "4635a58e82a207e3bb8a71dd1018520252bd68708fb94922891fb17c3db0efb0", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|4635a58e82a207e3bb8a71dd1018520252bd68708fb94922891fb17c3db0efb0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106718, "scanner": "repobility-ai-code-hygiene", "fingerprint": "c8de525be9641bc1ce595775705bde2c926aa081c64f808a454d6596df5fe42e", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-executor-macros/src/macros/main.rs", "duplicate_line": 67, "correlation_key": "fp|c8de525be9641bc1ce595775705bde2c926aa081c64f808a454d6596df5fe42e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor-macros/src/macros/task.rs"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106717, "scanner": "repobility-ai-code-hygiene", "fingerprint": "8f73768aa8f26dccfaf6fcbb2a7c2cc7532f288d28d8c976ddfdb2982ae43b15", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-embedded-hal/src/shared_bus/asynch/i2c.rs", "duplicate_line": 70, "correlation_key": "fp|8f73768aa8f26dccfaf6fcbb2a7c2cc7532f288d28d8c976ddfdb2982ae43b15"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-embedded-hal/src/shared_bus/blocking/i2c.rs"}, "region": {"startLine": 96}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106716, "scanner": "repobility-ai-code-hygiene", "fingerprint": "3f25a322e6a96e4714071ce84cc80effa0024e4643f2656ccb475365a24ea7d8", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-embedded-hal/src/flash/partition/asynch.rs", "duplicate_line": 24, "correlation_key": "fp|3f25a322e6a96e4714071ce84cc80effa0024e4643f2656ccb475365a24ea7d8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-embedded-hal/src/flash/partition/blocking.rs"}, "region": {"startLine": 24}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106715, "scanner": "repobility-ai-code-hygiene", "fingerprint": "7a43a935155a8cf76a6ce454a08164eced0fadb5d759fb486a04e3d3d5c806dd", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|7a43a935155a8cf76a6ce454a08164eced0fadb5d759fb486a04e3d3d5c806dd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106714, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ec23c7ca5085677231e5b3c4d45effd9070d38598c237289c8b975eb1c37f4a1", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|ec23c7ca5085677231e5b3c4d45effd9070d38598c237289c8b975eb1c37f4a1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106713, "scanner": "repobility-ai-code-hygiene", "fingerprint": "c418b254221440cd545d6e9c38c4d1f95aa1cbaf308c750c4c9f0797f898bd52", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot/src/boot_loader.rs", "duplicate_line": 58, "correlation_key": "fp|c418b254221440cd545d6e9c38c4d1f95aa1cbaf308c750c4c9f0797f898bd52"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot/src/firmware_updater/blocking.rs"}, "region": {"startLine": 25}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106712, "scanner": "repobility-ai-code-hygiene", "fingerprint": "614c6d3d1510ef098dadbec198827295f68d0b271c6e0ab273d63a7865532b97", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-rp/src/lib.rs", "duplicate_line": 26, "correlation_key": "fp|614c6d3d1510ef098dadbec198827295f68d0b271c6e0ab273d63a7865532b97"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-stm32/src/lib.rs"}, "region": {"startLine": 21}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106711, "scanner": "repobility-ai-code-hygiene", "fingerprint": "f0edea0ef844bd2cf9b5255fb5a56e891b02213af2e8105d7e8ff35de954efa6", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|f0edea0ef844bd2cf9b5255fb5a56e891b02213af2e8105d7e8ff35de954efa6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-stm32/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106710, "scanner": "repobility-ai-code-hygiene", "fingerprint": "dd0f14f40e076b342b1470e63481d506500273b59935179efb5d31fae2c04364", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|dd0f14f40e076b342b1470e63481d506500273b59935179efb5d31fae2c04364"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-stm32/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106709, "scanner": "repobility-ai-code-hygiene", "fingerprint": "724860f6bd1461c12677040410b0e9aae39db4d1ceb3ef1297bb26ff2de9430f", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/lib.rs", "duplicate_line": 10, "correlation_key": "fp|724860f6bd1461c12677040410b0e9aae39db4d1ceb3ef1297bb26ff2de9430f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-rp/src/lib.rs"}, "region": {"startLine": 15}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106708, "scanner": "repobility-ai-code-hygiene", "fingerprint": "824c0e699dae7d8941b5f81f42ba9d6eae832572d565b0af6931fa86ba5eb61e", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "embassy-boot-nrf/src/fmt.rs", "duplicate_line": 111, "correlation_key": "fp|824c0e699dae7d8941b5f81f42ba9d6eae832572d565b0af6931fa86ba5eb61e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-rp/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106707, "scanner": "repobility-ai-code-hygiene", "fingerprint": "3ad15a7fcef5ba9726e92a144e0782f0d67cefa9ea4b8c250b31e0f4e099ec76", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|3ad15a7fcef5ba9726e92a144e0782f0d67cefa9ea4b8c250b31e0f4e099ec76"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-rp/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106706, "scanner": "repobility-ai-code-hygiene", "fingerprint": "2f49905cbed10b9ba6e024061d7929e460ecf5e1aea30ffe246c80945e83a759", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/fmt.rs", "duplicate_line": 1, "correlation_key": "fp|2f49905cbed10b9ba6e024061d7929e460ecf5e1aea30ffe246c80945e83a759"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-nrf/src/fmt.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 106705, "scanner": "repobility-ai-code-hygiene", "fingerprint": "15e3fe1e06518efc565528ce762618b7c292ede51118797fe8b9f8598166bef8", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "cyw43/src/sdio.rs", "duplicate_line": 110, "correlation_key": "fp|15e3fe1e06518efc565528ce762618b7c292ede51118797fe8b9f8598166bef8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cyw43/src/spi.rs"}, "region": {"startLine": 62}}}]}, {"ruleId": "MINED043", "level": "none", "message": {"text": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data."}, "properties": {"repobilityId": 106773, "scanner": "repobility-threat-engine", "fingerprint": "bd72605a0a87252ac64038a9652170bbf3c3bc38766645713468d782ec6fe608", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "http-not-https", "owasp": "A02:2021", "cwe_ids": ["CWE-319"], "precision": 0.917, "promoted_at": "2026-05-18T14:01:32.347999+00:00", "triaged_in_corpus": 12, "observations_count": 4113831, "ai_coder_pattern_id": 15}, "scanner": "repobility-threat-engine", "correlation_key": "fp|bd72605a0a87252ac64038a9652170bbf3c3bc38766645713468d782ec6fe608"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-usb/src/class/web_usb.rs"}, "region": {"startLine": 29}}}]}, {"ruleId": "MINED041", "level": "none", "message": {"text": "[MINED041] Rust Unimplemented Macro (and 6 more): Same pattern found in 6 additional files. Review if needed."}, "properties": {"repobilityId": 106770, "scanner": "repobility-threat-engine", "fingerprint": "a0fe648305fb8d91eb0f74d5c2afd466e9fe8ef1c16c0aefa53f87b4c7e635ae", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 6 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-unimplemented-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347994+00:00", "triaged_in_corpus": 15, "observations_count": 1422, "ai_coder_pattern_id": 115}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|a0fe648305fb8d91eb0f74d5c2afd466e9fe8ef1c16c0aefa53f87b4c7e635ae", "aggregated_count": 6}}}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod (and 7 more): Same pattern found in 7 additional files. Review if needed."}, "properties": {"repobilityId": 106766, "scanner": "repobility-threat-engine", "fingerprint": "add6bb21b589400b1571e1cc84ccb8afac26e8c017bd57394b0efd3f9cbb707f", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 7 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-expect-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348039+00:00", "triaged_in_corpus": 12, "observations_count": 175379, "ai_coder_pattern_id": 112}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|add6bb21b589400b1571e1cc84ccb8afac26e8c017bd57394b0efd3f9cbb707f", "aggregated_count": 7}}}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "properties": {"repobilityId": 106765, "scanner": "repobility-threat-engine", "fingerprint": "37d324d54ad13544eb1a870323b414c93bb3582e0b275d2d8ff9c3d71ab9f904", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-expect-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348039+00:00", "triaged_in_corpus": 12, "observations_count": 175379, "ai_coder_pattern_id": 112}, "scanner": "repobility-threat-engine", "correlation_key": "fp|37d324d54ad13544eb1a870323b414c93bb3582e0b275d2d8ff9c3d71ab9f904"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-stm32/src/dsihost/phy.rs"}, "region": {"startLine": 124}}}]}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "properties": {"repobilityId": 106764, "scanner": "repobility-threat-engine", "fingerprint": "ffb05b9aa015ebc7457582576cbb55a9a6102bb15d6e39e37c6bbb46f806aed4", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-expect-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348039+00:00", "triaged_in_corpus": 12, "observations_count": 175379, "ai_coder_pattern_id": 112}, "scanner": "repobility-threat-engine", "correlation_key": "fp|ffb05b9aa015ebc7457582576cbb55a9a6102bb15d6e39e37c6bbb46f806aed4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-rp/src/bootsel.rs"}, "region": {"startLine": 40}}}]}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "properties": {"repobilityId": 106763, "scanner": "repobility-threat-engine", "fingerprint": "c73a5640e171a52962b04247a747173a10107725c5efc1d535b78e1346b57ba2", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-expect-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348039+00:00", "triaged_in_corpus": 12, "observations_count": 175379, "ai_coder_pattern_id": 112}, "scanner": "repobility-threat-engine", "correlation_key": "fp|c73a5640e171a52962b04247a747173a10107725c5efc1d535b78e1346b57ba2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-mcxa/src/ostimer.rs"}, "region": {"startLine": 83}}}]}, {"ruleId": "SEC128", "level": "none", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake) (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "properties": {"repobilityId": 106760, "scanner": "repobility-threat-engine", "fingerprint": "2cd220107759c389357ea1e0b2a749255d62455820f15b6cc9e05e77d2c17c58", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 2 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"reason": "Deduplicated summary only: 2 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|2cd220107759c389357ea1e0b2a749255d62455820f15b6cc9e05e77d2c17c58"}}}, {"ruleId": "MINED003", "level": "none", "message": {"text": "[MINED003] Rust Unwrap In Prod (and 127 more): Same pattern found in 127 additional files. Review if needed."}, "properties": {"repobilityId": 106756, "scanner": "repobility-threat-engine", "fingerprint": "40e1d0337abe283cc83e4096cfbdc25740e1233eab006c99a72a71c316f7fd5c", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 127 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-unwrap-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347903+00:00", "triaged_in_corpus": 15, "observations_count": 386515, "ai_coder_pattern_id": 111}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|40e1d0337abe283cc83e4096cfbdc25740e1233eab006c99a72a71c316f7fd5c", "aggregated_count": 127}}}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro (and 83 more): Same pattern found in 83 additional files. Review if needed."}, "properties": {"repobilityId": 106752, "scanner": "repobility-threat-engine", "fingerprint": "4367b918d46dc918a8d4dafa7c1094e4dfbedd65a1cb24c60610b2764becb6ae", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 83 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-panic-macro", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348055+00:00", "triaged_in_corpus": 12, "observations_count": 48611, "ai_coder_pattern_id": 113}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|4367b918d46dc918a8d4dafa7c1094e4dfbedd65a1cb24c60610b2764becb6ae", "aggregated_count": 83}}}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 106751, "scanner": "repobility-threat-engine", "fingerprint": "1fa278fa06a9026056847fc68970f4d451a0d8c6eb54f9f26cffe3d7b9d423c1", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-panic-macro", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348055+00:00", "triaged_in_corpus": 12, "observations_count": 48611, "ai_coder_pattern_id": 113}, "scanner": "repobility-threat-engine", "correlation_key": "fp|1fa278fa06a9026056847fc68970f4d451a0d8c6eb54f9f26cffe3d7b9d423c1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-nrf/src/lib.rs"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 106750, "scanner": "repobility-threat-engine", "fingerprint": "4234ce591c9dea41f18d5d1f56c82673209ee43bbea4c20a6a4ccad0522753a5", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-panic-macro", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348055+00:00", "triaged_in_corpus": 12, "observations_count": 48611, "ai_coder_pattern_id": 113}, "scanner": "repobility-threat-engine", "correlation_key": "fp|4234ce591c9dea41f18d5d1f56c82673209ee43bbea4c20a6a4ccad0522753a5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-nrf/src/fmt.rs"}, "region": {"startLine": 110}}}]}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 106749, "scanner": "repobility-threat-engine", "fingerprint": "eca0ac0bc8e8dcf250964d4e571cb612b8e6eee2662565705f780bf6580e9e9c", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-panic-macro", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348055+00:00", "triaged_in_corpus": 12, "observations_count": 48611, "ai_coder_pattern_id": 113}, "scanner": "repobility-threat-engine", "correlation_key": "fp|eca0ac0bc8e8dcf250964d4e571cb612b8e6eee2662565705f780bf6580e9e9c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cyw43/src/fmt.rs"}, "region": {"startLine": 110}}}]}, {"ruleId": "MINED039", "level": "none", "message": {"text": "[MINED039] Rust Todo Macro (and 32 more): Same pattern found in 32 additional files. Review if needed."}, "properties": {"repobilityId": 106748, "scanner": "repobility-threat-engine", "fingerprint": "8e111407c3783398e429e91eade6c027743eb852178535bb12839e09d5147d11", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 32 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-todo-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347989+00:00", "triaged_in_corpus": 15, "observations_count": 1561, "ai_coder_pattern_id": 114}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|8e111407c3783398e429e91eade6c027743eb852178535bb12839e09d5147d11", "aggregated_count": 32}}}, {"ruleId": "MINED068", "level": "none", "message": {"text": "[MINED068] Rust Unsafe Block (and 159 more): Same pattern found in 159 additional files. Review if needed."}, "properties": {"repobilityId": 106744, "scanner": "repobility-threat-engine", "fingerprint": "053a4880e1e8e9e4d8c29ee79939680b8d5ba4639111a5f399a6f32392c4c128", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 159 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "rust-unsafe-block", "owasp": null, "cwe_ids": ["CWE-119"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348060+00:00", "triaged_in_corpus": 12, "observations_count": 42383, "ai_coder_pattern_id": 116}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|053a4880e1e8e9e4d8c29ee79939680b8d5ba4639111a5f399a6f32392c4c128", "aggregated_count": 159}}}, {"ruleId": "MINED068", "level": "none", "message": {"text": "[MINED068] Rust Unsafe Block: unsafe { ... } block. Compiler safety guarantees disabled inside."}, "properties": {"repobilityId": 106743, "scanner": "repobility-threat-engine", "fingerprint": "3d08bd161e3900506bba7ad97f789c8deeea999c08bde50c20e36d3da9e1f3f2", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unsafe-block", "owasp": null, "cwe_ids": ["CWE-119"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348060+00:00", "triaged_in_corpus": 12, "observations_count": 42383, "ai_coder_pattern_id": 116}, "scanner": "repobility-threat-engine", "correlation_key": "fp|3d08bd161e3900506bba7ad97f789c8deeea999c08bde50c20e36d3da9e1f3f2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/examples/layer-by-layer/blinky-irq/src/main.rs"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED068", "level": "none", "message": {"text": "[MINED068] Rust Unsafe Block: unsafe { ... } block. Compiler safety guarantees disabled inside."}, "properties": {"repobilityId": 106742, "scanner": "repobility-threat-engine", "fingerprint": "ec3349198071a641f65da83afb96308c7bfe5fa7e96bbf489d216202bd36aa81", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unsafe-block", "owasp": null, "cwe_ids": ["CWE-119"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348060+00:00", "triaged_in_corpus": 12, "observations_count": 42383, "ai_coder_pattern_id": 116}, "scanner": "repobility-threat-engine", "correlation_key": "fp|ec3349198071a641f65da83afb96308c7bfe5fa7e96bbf489d216202bd36aa81"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cyw43/src/ioctl.rs"}, "region": {"startLine": 113}}}]}, {"ruleId": "MINED068", "level": "none", "message": {"text": "[MINED068] Rust Unsafe Block: unsafe { ... } block. Compiler safety guarantees disabled inside."}, "properties": {"repobilityId": 106741, "scanner": "repobility-threat-engine", "fingerprint": "820b142752bd5287d6404d165561bd4df1e611bc60bfc55780e8f6fa6a899bc1", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unsafe-block", "owasp": null, "cwe_ids": ["CWE-119"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348060+00:00", "triaged_in_corpus": 12, "observations_count": 42383, "ai_coder_pattern_id": 116}, "scanner": "repobility-threat-engine", "correlation_key": "fp|820b142752bd5287d6404d165561bd4df1e611bc60bfc55780e8f6fa6a899bc1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cyw43-pio/src/lib.rs"}, "region": {"startLine": 235}}}]}, {"ruleId": "SEC106", "level": "error", "message": {"text": "[SEC106] Block cipher in ECB mode (AES/DES/Blowfish): ECB mode leaks block-level structure \u2014 identical plaintext blocks encrypt to identical ciphertext (the famous Tux image). Bare `Cipher.getInstance(\"AES\")` defaults to ECB on most JVMs."}, "properties": {"repobilityId": 106775, "scanner": "repobility-threat-engine", "fingerprint": "0d240acb15bb01dd2f7a69be300d2ed64ab86aa2d496434e04ede3ddd56d48c5", "category": "crypto", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "AES.new(irk, AES.MODE_ECB", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC106", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|crypto|token|36|sec106"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba6/verify_rpa.py"}, "region": {"startLine": 36}}}]}, {"ruleId": "SEC013", "level": "error", "message": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files."}, "properties": {"repobilityId": 106774, "scanner": "repobility-threat-engine", "fingerprint": "69b3fe4087a442eacfb1cd505560c809b9efa3f4dc125874df2b1637211dbc24", "category": "path_traversal", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "User-controlled input detected in file path construction", "evidence": {"match": "open(input", "reason": "User-controlled input detected in file path construction", "rule_id": "SEC013", "scanner": "repobility-threat-engine", "confidence": 0.8, "correlation_key": "code|path_traversal|token|15|sec013"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba6/convert_wav.py"}, "region": {"startLine": 15}}}]}, {"ruleId": "MINED036", "level": "error", "message": {"text": "[MINED036] Python Os System Call: os.system() invokes shell with no escaping."}, "properties": {"repobilityId": 106772, "scanner": "repobility-threat-engine", "fingerprint": "6ca4a36dc3e38916813e47fd1b1c765dc21fa3ef0b51ef36c754218dad51c567", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "python-os-system-call", "owasp": null, "cwe_ids": ["CWE-78"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347982+00:00", "triaged_in_corpus": 15, "observations_count": 2221, "ai_coder_pattern_id": 117}, "scanner": "repobility-threat-engine", "correlation_key": "fp|6ca4a36dc3e38916813e47fd1b1c765dc21fa3ef0b51ef36c754218dad51c567"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-time-driver/gen_tick.py"}, "region": {"startLine": 84}}}]}, {"ruleId": "MINED041", "level": "error", "message": {"text": "[MINED041] Rust Unimplemented Macro: unimplemented!() panics. Same as todo!() but conventionally used for trait stubs."}, "properties": {"repobilityId": 106769, "scanner": "repobility-threat-engine", "fingerprint": "cbc2520291d66035be7ee878f52bfe7c11cbc370854956d7fd1de9fcdb7d0984", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unimplemented-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347994+00:00", "triaged_in_corpus": 15, "observations_count": 1422, "ai_coder_pattern_id": 115}, "scanner": "repobility-threat-engine", "correlation_key": "fp|cbc2520291d66035be7ee878f52bfe7c11cbc370854956d7fd1de9fcdb7d0984"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-rp/src/bootsel.rs"}, "region": {"startLine": 32}}}]}, {"ruleId": "MINED041", "level": "error", "message": {"text": "[MINED041] Rust Unimplemented Macro: unimplemented!() panics. Same as todo!() but conventionally used for trait stubs."}, "properties": {"repobilityId": 106768, "scanner": "repobility-threat-engine", "fingerprint": "2a5963b33464588127ad02c8fb8070066dbd0fb6a5c0db4000e2233b8fff65f9", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unimplemented-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347994+00:00", "triaged_in_corpus": 15, "observations_count": 1422, "ai_coder_pattern_id": 115}, "scanner": "repobility-threat-engine", "correlation_key": "fp|2a5963b33464588127ad02c8fb8070066dbd0fb6a5c0db4000e2233b8fff65f9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-nxp/src/fmt.rs"}, "region": {"startLine": 111}}}]}, {"ruleId": "MINED041", "level": "error", "message": {"text": "[MINED041] Rust Unimplemented Macro: unimplemented!() panics. Same as todo!() but conventionally used for trait stubs."}, "properties": {"repobilityId": 106767, "scanner": "repobility-threat-engine", "fingerprint": "e559c42b5919f028349e980c93e7e4ccaf667822edd5d64032e62b4f7f590f0b", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unimplemented-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347994+00:00", "triaged_in_corpus": 15, "observations_count": 1422, "ai_coder_pattern_id": 115}, "scanner": "repobility-threat-engine", "correlation_key": "fp|e559c42b5919f028349e980c93e7e4ccaf667822edd5d64032e62b4f7f590f0b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-nrf/src/usb/usbhs.rs"}, "region": {"startLine": 362}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 106759, "scanner": "repobility-threat-engine", "fingerprint": "ce050961d6234bdaef415aafcc7c866a09e75299da4df7011d5c79358f178c73", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "self.update(|s| {\n            if *s == 0 {\n                *s = STATE_SPAWNED | STATE_RUN_QU", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|ce050961d6234bdaef415aafcc7c866a09e75299da4df7011d5c79358f178c73"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-executor/src/raw/state_critical_section.rs"}, "region": {"startLine": 42}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 106758, "scanner": "repobility-threat-engine", "fingerprint": "3817970bf765dcf44987564f95c20b5d72e0f0637b3c016df0d93755d93eee77", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "digest.update(&firmware);", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|3817970bf765dcf44987564f95c20b5d72e0f0637b3c016df0d93755d93eee77"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot/src/lib.rs"}, "region": {"startLine": 319}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 106757, "scanner": "repobility-threat-engine", "fingerprint": "57a50caf104a40ce56acd51359dbe8ae95dab843dadae956c64d9a65cb3fb56b", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "self.0.update(data)", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|57a50caf104a40ce56acd51359dbe8ae95dab843dadae956c64d9a65cb3fb56b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot/src/digest_adapters/salty.rs"}, "region": {"startLine": 14}}}]}, {"ruleId": "MINED003", "level": "error", "message": {"text": "[MINED003] Rust Unwrap In Prod: .unwrap() panics if None/Err. Acceptable in tests; risky elsewhere."}, "properties": {"repobilityId": 106755, "scanner": "repobility-threat-engine", "fingerprint": "813578bff771eff7c6553b68549593c2452e66f0d1c190068425c727cc99543a", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unwrap-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347903+00:00", "triaged_in_corpus": 15, "observations_count": 386515, "ai_coder_pattern_id": 111}, "scanner": "repobility-threat-engine", "correlation_key": "fp|813578bff771eff7c6553b68549593c2452e66f0d1c190068425c727cc99543a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/examples/layer-by-layer/blinky-irq/src/main.rs"}, "region": {"startLine": 40}}}]}, {"ruleId": "MINED003", "level": "error", "message": {"text": "[MINED003] Rust Unwrap In Prod: .unwrap() panics if None/Err. Acceptable in tests; risky elsewhere."}, "properties": {"repobilityId": 106754, "scanner": "repobility-threat-engine", "fingerprint": "db4d0968afc16d557406abc450898a1058ccdf0943fda4b6e92b80b12361c70e", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unwrap-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347903+00:00", "triaged_in_corpus": 15, "observations_count": 386515, "ai_coder_pattern_id": 111}, "scanner": "repobility-threat-engine", "correlation_key": "fp|db4d0968afc16d557406abc450898a1058ccdf0943fda4b6e92b80b12361c70e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/examples/basic/src/main.rs"}, "region": {"startLine": 32}}}]}, {"ruleId": "MINED003", "level": "error", "message": {"text": "[MINED003] Rust Unwrap In Prod: .unwrap() panics if None/Err. Acceptable in tests; risky elsewhere."}, "properties": {"repobilityId": 106753, "scanner": "repobility-threat-engine", "fingerprint": "06ee385ce0766317eb4dbdbc837be62290a47a1345be3282de3bfca844cc7500", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-unwrap-in-prod", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347903+00:00", "triaged_in_corpus": 15, "observations_count": 386515, "ai_coder_pattern_id": 111}, "scanner": "repobility-threat-engine", "correlation_key": "fp|06ee385ce0766317eb4dbdbc837be62290a47a1345be3282de3bfca844cc7500"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/examples/basic/build.rs"}, "region": {"startLine": 19}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 106747, "scanner": "repobility-threat-engine", "fingerprint": "1834ab232616b3a3c5242c1e2ea29e83953b424d36f4dc09b9b5a32075533d6a", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-todo-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347989+00:00", "triaged_in_corpus": 15, "observations_count": 1561, "ai_coder_pattern_id": 114}, "scanner": "repobility-threat-engine", "correlation_key": "fp|1834ab232616b3a3c5242c1e2ea29e83953b424d36f4dc09b9b5a32075533d6a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-rp/src/fmt.rs"}, "region": {"startLine": 86}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 106746, "scanner": "repobility-threat-engine", "fingerprint": "a09ad267f13a8ed25b15c30b569a782dc7b526fe9dd8774e9d83599c3e84676a", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-todo-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347989+00:00", "triaged_in_corpus": 15, "observations_count": 1561, "ai_coder_pattern_id": 114}, "scanner": "repobility-threat-engine", "correlation_key": "fp|a09ad267f13a8ed25b15c30b569a782dc7b526fe9dd8774e9d83599c3e84676a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "embassy-boot-nrf/src/fmt.rs"}, "region": {"startLine": 86}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 106745, "scanner": "repobility-threat-engine", "fingerprint": "ae06dd12830959beee85339d92acabf1115c7a6c22239af3509006917725fa68", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "rust-todo-macro", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["rust"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347989+00:00", "triaged_in_corpus": 15, "observations_count": 1561, "ai_coder_pattern_id": 114}, "scanner": "repobility-threat-engine", "correlation_key": "fp|ae06dd12830959beee85339d92acabf1115c7a6c22239af3509006917725fa68"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cyw43/src/fmt.rs"}, "region": {"startLine": 86}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/github-script` pinned to mutable ref `@v8`"}, "properties": {"repobilityId": 106738, "scanner": "repobility-supply-chain", "fingerprint": "a6912f17f98447d1887c34fd67f2b4456c6277c97d0a4bc916031c3494e77c5e", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|a6912f17f98447d1887c34fd67f2b4456c6277c97d0a4bc916031c3494e77c5e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/matrix-bot-issues.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/github-script` pinned to mutable ref `@v8`"}, "properties": {"repobilityId": 106737, "scanner": "repobility-supply-chain", "fingerprint": "9a69923b3d8fb36da230e6e99c1accecf95c5a4000a9e1e3ce783a97d3bffaba", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|9a69923b3d8fb36da230e6e99c1accecf95c5a4000a9e1e3ce783a97d3bffaba"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/matrix-bot.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "generic-api-key", "level": "error", "message": {"text": "Detected a Generic API Key, potentially exposing access to various services and sensitive operations."}, "properties": {"repobilityId": 106777, "scanner": "gitleaks", "fingerprint": "42c699fd0b2d81ad24a07010dbbefe8039a7626b0d83f700559cf82e265b23db", "category": "credential_exposure", "severity": "critical", "confidence": 0.95, "triageState": "open", "verdict": "", "isResolved": false, "reason": "Collapsed 1 duplicate scanner signal(s) for the same underlying issue.", "evidence": {"match": "Key: REDACTED", "rule_id": "generic-api-key", "scanner": "gitleaks", "detector": "generic-api-key", "correlation_key": "secret|token|5|key: redacted", "duplicate_count": 1, "duplicate_rule_ids": ["generic-api-key"], "duplicate_scanners": ["gitleaks"], "duplicate_fingerprints": ["42c699fd0b2d81ad24a07010dbbefe8039a7626b0d83f700559cf82e265b23db", "81ee9bde91f61fb7144a1504b95552de02c7b52428fa02f7423fcdf4557e8535"]}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba6/src/bin/aes_gcm.rs"}, "region": {"startLine": 59}}}]}, {"ruleId": "generic-api-key", "level": "error", "message": {"text": "Detected a Generic API Key, potentially exposing access to various services and sensitive operations."}, "properties": {"repobilityId": 106776, "scanner": "gitleaks", "fingerprint": "a44458725b82fff179f58fc13bcbdec367130c482587f24073964cfc1c616fa6", "category": "credential_exposure", "severity": "critical", "confidence": 0.95, "triageState": "open", "verdict": "", "isResolved": false, "reason": "Collapsed 1 duplicate scanner signal(s) for the same underlying issue.", "evidence": {"match": "key = REDACTED", "rule_id": "generic-api-key", "scanner": "gitleaks", "detector": "generic-api-key", "correlation_key": "secret|token|4|key redacted", "duplicate_count": 1, "duplicate_rule_ids": ["generic-api-key"], "duplicate_scanners": ["gitleaks"], "duplicate_fingerprints": ["0544d52a4bb2c7641df39e28dd7a476c90a0d0bf4e0d7a49ca44e8c9392505d4", "a44458725b82fff179f58fc13bcbdec367130c482587f24073964cfc1c616fa6"]}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/stm32wba/src/bin/saes_ecb.rs"}, "region": {"startLine": 47}}}]}]}]}