{"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": "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": "MINED059", "name": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message.", "shortDescription": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED039", "name": "[MINED039] Rust Todo Macro (and 4 more): Same pattern found in 4 additional files. Review if needed.", "shortDescription": {"text": "[MINED039] Rust Todo Macro (and 4 more): Same pattern found in 4 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": "MINED003", "name": "[MINED003] Rust Unwrap In Prod (and 25 more): Same pattern found in 25 additional files. Review if needed.", "shortDescription": {"text": "[MINED003] Rust Unwrap In Prod (and 25 more): Same pattern found in 25 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 9 more): Same pattern found in 9 additional files. Review if needed.", "shortDescription": {"text": "[MINED066] Rust Panic Macro (and 9 more): Same pattern found in 9 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": "MINED115", "name": "Action `rvben/rumdl` pinned to mutable ref `@v0`", "shortDescription": {"text": "Action `rvben/rumdl` pinned to mutable ref `@v0`"}, "fullDescription": {"text": "`uses: rvben/rumdl@v0` 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": ""}}]}}, "automationDetails": {"id": "repobility/867"}, "properties": {"repository": "rust-lang/rustlings", "repoUrl": "https://github.com/rust-lang/rustlings", "branch": "main"}, "results": [{"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79117, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b72df7d5630bd37b24c00238e45f46563f90abd8766399ec315b09d21962e073", "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": "exercises/18_iterators/iterators5.rs", "duplicate_line": 1, "correlation_key": "fp|b72df7d5630bd37b24c00238e45f46563f90abd8766399ec315b09d21962e073"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/18_iterators/iterators5.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79116, "scanner": "repobility-ai-code-hygiene", "fingerprint": "7325db7e6061788ce0842774797c8fde44cdbe588901c374a8e3d9d3fd111f78", "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": "exercises/18_iterators/iterators3.rs", "duplicate_line": 16, "correlation_key": "fp|7325db7e6061788ce0842774797c8fde44cdbe588901c374a8e3d9d3fd111f78"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/18_iterators/iterators3.rs"}, "region": {"startLine": 27}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79115, "scanner": "repobility-ai-code-hygiene", "fingerprint": "1577b8f7bd40c5fde69f28ca85da31d51e9de78390bc01a81b8f4259f450c351", "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": "exercises/18_iterators/iterators2.rs", "duplicate_line": 11, "correlation_key": "fp|1577b8f7bd40c5fde69f28ca85da31d51e9de78390bc01a81b8f4259f450c351"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/18_iterators/iterators2.rs"}, "region": {"startLine": 13}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79114, "scanner": "repobility-ai-code-hygiene", "fingerprint": "33921585fc24df9d78bba406a03824d809bf8cada2e4b8217ee59dfd640452fe", "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": "exercises/17_tests/tests3.rs", "duplicate_line": 1, "correlation_key": "fp|33921585fc24df9d78bba406a03824d809bf8cada2e4b8217ee59dfd640452fe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/17_tests/tests3.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79113, "scanner": "repobility-ai-code-hygiene", "fingerprint": "374237659d75bfc09ed5a3a90282b3852069c21365926c994edaa7f80e41e19b", "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": "exercises/15_traits/traits5.rs", "duplicate_line": 1, "correlation_key": "fp|374237659d75bfc09ed5a3a90282b3852069c21365926c994edaa7f80e41e19b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/15_traits/traits5.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79112, "scanner": "repobility-ai-code-hygiene", "fingerprint": "72f81ec5a8536658e327e96394629891ef15c8e3c8f773914723f7297f5fde85", "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": "exercises/15_traits/traits4.rs", "duplicate_line": 11, "correlation_key": "fp|72f81ec5a8536658e327e96394629891ef15c8e3c8f773914723f7297f5fde85"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/15_traits/traits4.rs"}, "region": {"startLine": 11}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79111, "scanner": "repobility-ai-code-hygiene", "fingerprint": "38965b97492c5312c38e201a728e94d697da46ac82598273257b168b27b99bca", "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": "exercises/15_traits/traits3.rs", "duplicate_line": 12, "correlation_key": "fp|38965b97492c5312c38e201a728e94d697da46ac82598273257b168b27b99bca"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/15_traits/traits3.rs"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79110, "scanner": "repobility-ai-code-hygiene", "fingerprint": "799282d50c57507c7b4b4e4f713c15e714982402ef70855a672289a26defc45b", "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": "exercises/15_traits/traits1.rs", "duplicate_line": 5, "correlation_key": "fp|799282d50c57507c7b4b4e4f713c15e714982402ef70855a672289a26defc45b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/15_traits/traits1.rs"}, "region": {"startLine": 8}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79109, "scanner": "repobility-ai-code-hygiene", "fingerprint": "0af3fba1e2bdfed128cc061f4f927bb6ff4af5b9aa6847c5f450e229868369f1", "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": "exercises/14_generics/generics2.rs", "duplicate_line": 6, "correlation_key": "fp|0af3fba1e2bdfed128cc061f4f927bb6ff4af5b9aa6847c5f450e229868369f1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/14_generics/generics2.rs"}, "region": {"startLine": 6}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79108, "scanner": "repobility-ai-code-hygiene", "fingerprint": "befd4465d0a873909de20d2ff49d22086cebc7086b1453284e5a05be12d529d6", "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": "exercises/13_error_handling/errors6.rs", "duplicate_line": 21, "correlation_key": "fp|befd4465d0a873909de20d2ff49d22086cebc7086b1453284e5a05be12d529d6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/13_error_handling/errors6.rs"}, "region": {"startLine": 26}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79107, "scanner": "repobility-ai-code-hygiene", "fingerprint": "82c5cd4be0653c18505cf0c8e00a827f063100d0fbe7e1d308dbc8e01124432f", "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": "exercises/13_error_handling/errors5.rs", "duplicate_line": 1, "correlation_key": "fp|82c5cd4be0653c18505cf0c8e00a827f063100d0fbe7e1d308dbc8e01124432f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/13_error_handling/errors5.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79106, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9d01c2f6d0a416e7c46d8e1598ac8ac0dbed8ca666af81381f91d044ba28d58a", "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": "exercises/13_error_handling/errors4.rs", "duplicate_line": 9, "correlation_key": "fp|9d01c2f6d0a416e7c46d8e1598ac8ac0dbed8ca666af81381f91d044ba28d58a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/13_error_handling/errors4.rs"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79105, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ab2c1c9f3ee8fdb4a9feba2a354e16927446ed395aacaba6619132080be666df", "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": "exercises/13_error_handling/errors2.rs", "duplicate_line": 6, "correlation_key": "fp|ab2c1c9f3ee8fdb4a9feba2a354e16927446ed395aacaba6619132080be666df"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/13_error_handling/errors2.rs"}, "region": {"startLine": 10}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79104, "scanner": "repobility-ai-code-hygiene", "fingerprint": "0d70f5f2f2a9b5e2afee7f359534cf4d1d9606a9131f9dc9a03dfdd4ce709fc4", "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": "exercises/13_error_handling/errors1.rs", "duplicate_line": 7, "correlation_key": "fp|0d70f5f2f2a9b5e2afee7f359534cf4d1d9606a9131f9dc9a03dfdd4ce709fc4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/13_error_handling/errors1.rs"}, "region": {"startLine": 7}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79103, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9aa1dd5ad7ff59983ba849b1ac3f9699cb46f43396f647a076ded4ec41809f77", "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": "exercises/11_hashmaps/hashmaps3.rs", "duplicate_line": 1, "correlation_key": "fp|9aa1dd5ad7ff59983ba849b1ac3f9699cb46f43396f647a076ded4ec41809f77"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/11_hashmaps/hashmaps3.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79102, "scanner": "repobility-ai-code-hygiene", "fingerprint": "dd44837b38a05b5aece3e2f2c5b63d52a2e4d7a276cd3b772c857a1e84cbbebd", "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": "exercises/11_hashmaps/hashmaps2.rs", "duplicate_line": 1, "correlation_key": "fp|dd44837b38a05b5aece3e2f2c5b63d52a2e4d7a276cd3b772c857a1e84cbbebd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/11_hashmaps/hashmaps2.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79101, "scanner": "repobility-ai-code-hygiene", "fingerprint": "1463d5c1cca407c5b0d9257c42ae9d5775df3d0ea1e16b79dcce0dab05c30383", "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": "exercises/11_hashmaps/hashmaps1.rs", "duplicate_line": 4, "correlation_key": "fp|1463d5c1cca407c5b0d9257c42ae9d5775df3d0ea1e16b79dcce0dab05c30383"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/11_hashmaps/hashmaps1.rs"}, "region": {"startLine": 7}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79100, "scanner": "repobility-ai-code-hygiene", "fingerprint": "bcfe4e2cb84265502c05d004bb85d75d4c17bcca397faea6e55b8c6bcea0f482", "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": "exercises/10_modules/modules2.rs", "duplicate_line": 2, "correlation_key": "fp|bcfe4e2cb84265502c05d004bb85d75d4c17bcca397faea6e55b8c6bcea0f482"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/10_modules/modules2.rs"}, "region": {"startLine": 4}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79099, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9d917d6631a66af8a19255118f56ee2835df8387028a2442d6640dbed063c0f5", "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": "exercises/09_strings/strings3.rs", "duplicate_line": 6, "correlation_key": "fp|9d917d6631a66af8a19255118f56ee2835df8387028a2442d6640dbed063c0f5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/09_strings/strings3.rs"}, "region": {"startLine": 9}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79098, "scanner": "repobility-ai-code-hygiene", "fingerprint": "4287ab5475c60b9fc623db62e9e6dfe9dd28b0998855cfe75fa4558c59a571b1", "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": "exercises/08_enums/enums3.rs", "duplicate_line": 1, "correlation_key": "fp|4287ab5475c60b9fc623db62e9e6dfe9dd28b0998855cfe75fa4558c59a571b1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/08_enums/enums3.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79097, "scanner": "repobility-ai-code-hygiene", "fingerprint": "354f4de4b677278146a39f6633e674226bf5241753b9ce374b50687e59f60c9b", "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": "exercises/08_enums/enums2.rs", "duplicate_line": 6, "correlation_key": "fp|354f4de4b677278146a39f6633e674226bf5241753b9ce374b50687e59f60c9b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/08_enums/enums2.rs"}, "region": {"startLine": 11}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79096, "scanner": "repobility-ai-code-hygiene", "fingerprint": "adfa8e8d7008cbb21d5d75a08fb371bead6fb5b9d14960b791d793ebeb37661c", "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": "exercises/07_structs/structs3.rs", "duplicate_line": 12, "correlation_key": "fp|adfa8e8d7008cbb21d5d75a08fb371bead6fb5b9d14960b791d793ebeb37661c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/07_structs/structs3.rs"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79095, "scanner": "repobility-ai-code-hygiene", "fingerprint": "875995dab9d5fc616e5b97eb9980d9722c1d392485a70c2974e1366dd486b16d", "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": "exercises/07_structs/structs2.rs", "duplicate_line": 1, "correlation_key": "fp|875995dab9d5fc616e5b97eb9980d9722c1d392485a70c2974e1366dd486b16d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/07_structs/structs2.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79094, "scanner": "repobility-ai-code-hygiene", "fingerprint": "62ed8c6c212e88db03fe98e4f1f1727a49a64abbb8b458c9468c14dfaec426ec", "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": "exercises/06_move_semantics/move_semantics3.rs", "duplicate_line": 2, "correlation_key": "fp|62ed8c6c212e88db03fe98e4f1f1727a49a64abbb8b458c9468c14dfaec426ec"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/06_move_semantics/move_semantics3.rs"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79093, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ecbf536dcc29bccf8a1d6336836c80852bbe1b45dbe4264ca6b96713b1e10a69", "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": "exercises/06_move_semantics/move_semantics1.rs", "duplicate_line": 3, "correlation_key": "fp|ecbf536dcc29bccf8a1d6336836c80852bbe1b45dbe4264ca6b96713b1e10a69"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/06_move_semantics/move_semantics1.rs"}, "region": {"startLine": 3}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79092, "scanner": "repobility-ai-code-hygiene", "fingerprint": "c1bdcb04b809e5052497cfbec40dd8a6a2eb17aeaa5c71a32003a51ded7c63f1", "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": "exercises/05_vecs/vecs2.rs", "duplicate_line": 4, "correlation_key": "fp|c1bdcb04b809e5052497cfbec40dd8a6a2eb17aeaa5c71a32003a51ded7c63f1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/05_vecs/vecs2.rs"}, "region": {"startLine": 5}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79091, "scanner": "repobility-ai-code-hygiene", "fingerprint": "f66a34bbb55205672f41f44570305c97fcf76fe3d54dad1642b9600103339440", "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": "exercises/05_vecs/vecs1.rs", "duplicate_line": 2, "correlation_key": "fp|f66a34bbb55205672f41f44570305c97fcf76fe3d54dad1642b9600103339440"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/05_vecs/vecs1.rs"}, "region": {"startLine": 3}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79090, "scanner": "repobility-ai-code-hygiene", "fingerprint": "03312e5e17f52e6099ae00898b6c0b4cf1c72cd5baa1b6bd7f26343eae1fd58e", "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": "exercises/03_if/if3.rs", "duplicate_line": 10, "correlation_key": "fp|03312e5e17f52e6099ae00898b6c0b4cf1c72cd5baa1b6bd7f26343eae1fd58e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/03_if/if3.rs"}, "region": {"startLine": 10}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79089, "scanner": "repobility-ai-code-hygiene", "fingerprint": "4f1a49b12ca8c5a37142aff8a2ef22fa38d35ab3799977c6832c16236e38feb2", "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": "exercises/03_if/if2.rs", "duplicate_line": 7, "correlation_key": "fp|4f1a49b12ca8c5a37142aff8a2ef22fa38d35ab3799977c6832c16236e38feb2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/03_if/if2.rs"}, "region": {"startLine": 9}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 79088, "scanner": "repobility-ai-code-hygiene", "fingerprint": "fb03a9478223b22ee981d48032d2a845b1fb8f5347d1cce9097da749e02fcd63", "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": "exercises/03_if/if1.rs", "duplicate_line": 2, "correlation_key": "fp|fb03a9478223b22ee981d48032d2a845b1fb8f5347d1cce9097da749e02fcd63"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "solutions/03_if/if1.rs"}, "region": {"startLine": 3}}}]}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "properties": {"repobilityId": 79144, "scanner": "repobility-threat-engine", "fingerprint": "5904bf39908ddaef854c456d521984be3ca760b0adb5b58f9caaf5169ace0418", "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|5904bf39908ddaef854c456d521984be3ca760b0adb5b58f9caaf5169ace0418"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/embedded.rs"}, "region": {"startLine": 157}}}]}, {"ruleId": "MINED059", "level": "none", "message": {"text": "[MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message."}, "properties": {"repobilityId": 79143, "scanner": "repobility-threat-engine", "fingerprint": "3a471b934a5ae8ba8f4fa522c0ef3047fc7bfb4b81972389daccadfcbbb11ac0", "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|3a471b934a5ae8ba8f4fa522c0ef3047fc7bfb4b81972389daccadfcbbb11ac0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rustlings-macros/src/lib.rs"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED039", "level": "none", "message": {"text": "[MINED039] Rust Todo Macro (and 4 more): Same pattern found in 4 additional files. Review if needed."}, "properties": {"repobilityId": 79142, "scanner": "repobility-threat-engine", "fingerprint": "ebeab63540f157f5a3cf25a946b330894d931c9860ffd02aa86c46c72b1ad57f", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 4 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|ebeab63540f157f5a3cf25a946b330894d931c9860ffd02aa86c46c72b1ad57f", "aggregated_count": 4}}}, {"ruleId": "MINED003", "level": "none", "message": {"text": "[MINED003] Rust Unwrap In Prod (and 25 more): Same pattern found in 25 additional files. Review if needed."}, "properties": {"repobilityId": 79138, "scanner": "repobility-threat-engine", "fingerprint": "f0f80de077b030b09af50e08f8508041b2773d9c1ae9cf4b0699ccd07cf92658", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 25 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|f0f80de077b030b09af50e08f8508041b2773d9c1ae9cf4b0699ccd07cf92658", "aggregated_count": 25}}}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "properties": {"repobilityId": 79134, "scanner": "repobility-threat-engine", "fingerprint": "4cbcd31ee9feb9d707fa224ec7016ed956164a96336cb54ded430a0481b724cf", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 9 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|4cbcd31ee9feb9d707fa224ec7016ed956164a96336cb54ded430a0481b724cf", "aggregated_count": 9}}}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 79133, "scanner": "repobility-threat-engine", "fingerprint": "30dffcab69fecbe7046b1a34a24592e9030fbee2ca59c0673a90a45d7610ba16", "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|30dffcab69fecbe7046b1a34a24592e9030fbee2ca59c0673a90a45d7610ba16"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/11_hashmaps/hashmaps2.rs"}, "region": {"startLine": 92}}}]}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 79132, "scanner": "repobility-threat-engine", "fingerprint": "186ee7556275accfc1532b41b2cc4e543559fb6149ccbe7a97904ec6352f441d", "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|186ee7556275accfc1532b41b2cc4e543559fb6149ccbe7a97904ec6352f441d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/10_modules/modules3.rs"}, "region": {"startLine": 11}}}]}, {"ruleId": "MINED066", "level": "none", "message": {"text": "[MINED066] Rust Panic Macro: panic!() unwinds the stack. Use Result for recoverable errors."}, "properties": {"repobilityId": 79131, "scanner": "repobility-threat-engine", "fingerprint": "86c8f781325fbb45a9586dc3295925b2d3316da98936c3fca7e58d19d283f844", "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|86c8f781325fbb45a9586dc3295925b2d3316da98936c3fca7e58d19d283f844"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/04_primitive_types/primitive_types3.rs"}, "region": {"startLine": 9}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 79141, "scanner": "repobility-threat-engine", "fingerprint": "98afded7278ea0bcda7e9d00f8c04ac8f9447bc831b104ffeea609088ea0607d", "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|98afded7278ea0bcda7e9d00f8c04ac8f9447bc831b104ffeea609088ea0607d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/18_iterators/iterators2.rs"}, "region": {"startLine": 10}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 79140, "scanner": "repobility-threat-engine", "fingerprint": "c725ae0c5774e867eb22bd58089604e80e21e43ed2b69a0ed77dd78e39a4d6b3", "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|c725ae0c5774e867eb22bd58089604e80e21e43ed2b69a0ed77dd78e39a4d6b3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/18_iterators/iterators1.rs"}, "region": {"startLine": 16}}}]}, {"ruleId": "MINED039", "level": "error", "message": {"text": "[MINED039] Rust Todo Macro: todo!() panics when reached. Unimplemented code path."}, "properties": {"repobilityId": 79139, "scanner": "repobility-threat-engine", "fingerprint": "44dbb95c0e2361e0e32a2f6a6f61ec224a76a56a834fbeb969680d73914ab673", "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|44dbb95c0e2361e0e32a2f6a6f61ec224a76a56a834fbeb969680d73914ab673"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/17_tests/tests3.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": 79137, "scanner": "repobility-threat-engine", "fingerprint": "123389105dd25d917110bfe044e5d5b9c6b35eff5e19bebb66e57bb666bc845c", "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|123389105dd25d917110bfe044e5d5b9c6b35eff5e19bebb66e57bb666bc845c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/11_hashmaps/hashmaps3.rs"}, "region": {"startLine": 25}}}]}, {"ruleId": "MINED003", "level": "error", "message": {"text": "[MINED003] Rust Unwrap In Prod: .unwrap() panics if None/Err. Acceptable in tests; risky elsewhere."}, "properties": {"repobilityId": 79136, "scanner": "repobility-threat-engine", "fingerprint": "5e45e19e67bbe845750ef39b44af50fb8c117c03814b1fa9dd58b3d6b75509ca", "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|5e45e19e67bbe845750ef39b44af50fb8c117c03814b1fa9dd58b3d6b75509ca"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/11_hashmaps/hashmaps2.rs"}, "region": {"startLine": 56}}}]}, {"ruleId": "MINED003", "level": "error", "message": {"text": "[MINED003] Rust Unwrap In Prod: .unwrap() panics if None/Err. Acceptable in tests; risky elsewhere."}, "properties": {"repobilityId": 79135, "scanner": "repobility-threat-engine", "fingerprint": "b952e279672b6954a29c23ad15d5b80a6a65784c8c155fce7743dec668ecff91", "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|b952e279672b6954a29c23ad15d5b80a6a65784c8c155fce7743dec668ecff91"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "exercises/06_move_semantics/move_semantics5.rs"}, "region": {"startLine": 8}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `rvben/rumdl` pinned to mutable ref `@v0`"}, "properties": {"repobilityId": 79130, "scanner": "repobility-supply-chain", "fingerprint": "f5bd1ac81fc183bf9c0336120964917b72070d82f4af46d086e315f1ac55ac9e", "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|f5bd1ac81fc183bf9c0336120964917b72070d82f4af46d086e315f1ac55ac9e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79129, "scanner": "repobility-supply-chain", "fingerprint": "6c97a066a9e6e18273c7b568e12eebd54d8f0c5d8bc765f1a33b8c24b5506167", "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|6c97a066a9e6e18273c7b568e12eebd54d8f0c5d8bc765f1a33b8c24b5506167"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `swatinem/rust-cache` pinned to mutable ref `@v2`"}, "properties": {"repobilityId": 79128, "scanner": "repobility-supply-chain", "fingerprint": "2683670f0ac2a61c610dd7a51d228ea1a1c27a3eac240b442d0cdbe78e23e8ac", "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|2683670f0ac2a61c610dd7a51d228ea1a1c27a3eac240b442d0cdbe78e23e8ac"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79127, "scanner": "repobility-supply-chain", "fingerprint": "83da8dcb9c6c4449fea9cd251e706d42df2b33c521918ae57fec59285650753b", "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|83da8dcb9c6c4449fea9cd251e706d42df2b33c521918ae57fec59285650753b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `swatinem/rust-cache` pinned to mutable ref `@v2`"}, "properties": {"repobilityId": 79126, "scanner": "repobility-supply-chain", "fingerprint": "9580deddb0e322c6db88eee7c063acb634d29db1d99e7e10565c7aed02c72066", "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|9580deddb0e322c6db88eee7c063acb634d29db1d99e7e10565c7aed02c72066"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79125, "scanner": "repobility-supply-chain", "fingerprint": "0e07494697cbd8a434a2e55495bd9aa57955143ed097c1daac74e1e6aa0ae9a1", "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|0e07494697cbd8a434a2e55495bd9aa57955143ed097c1daac74e1e6aa0ae9a1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79124, "scanner": "repobility-supply-chain", "fingerprint": "adc0661a9b391353e6edc2781d68736096945ecab858dee5a154cdb362e84a61", "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|adc0661a9b391353e6edc2781d68736096945ecab858dee5a154cdb362e84a61"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79123, "scanner": "repobility-supply-chain", "fingerprint": "70d407431b649f80cfad1b229c3fbe1dad7ef0509bd7e7dd2eab6fa2fd1fffda", "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|70d407431b649f80cfad1b229c3fbe1dad7ef0509bd7e7dd2eab6fa2fd1fffda"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rust.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/deploy-pages` pinned to mutable ref `@v5`"}, "properties": {"repobilityId": 79122, "scanner": "repobility-supply-chain", "fingerprint": "58291737b3a3a019f1798cbf02c441145a33ab7f435851008a91216df333f531", "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|58291737b3a3a019f1798cbf02c441145a33ab7f435851008a91216df333f531"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/website.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/upload-pages-artifact` pinned to mutable ref `@v5`"}, "properties": {"repobilityId": 79121, "scanner": "repobility-supply-chain", "fingerprint": "c52f4478d8e59ede38fa3426afd12031addb5effe77f75094e047705bfeaf623", "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|c52f4478d8e59ede38fa3426afd12031addb5effe77f75094e047705bfeaf623"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/website.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79120, "scanner": "repobility-supply-chain", "fingerprint": "77748abba320a6cbdc677615562b90bcc5b909c0d7bc0a5828e157eb018705c3", "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|77748abba320a6cbdc677615562b90bcc5b909c0d7bc0a5828e157eb018705c3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/website.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `rvben/rumdl` pinned to mutable ref `@v0`"}, "properties": {"repobilityId": 79119, "scanner": "repobility-supply-chain", "fingerprint": "7e939d2dbfab80890bb6872318f9f06f62980fbf1f03d64b76b94d231a3fc432", "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|7e939d2dbfab80890bb6872318f9f06f62980fbf1f03d64b76b94d231a3fc432"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/website.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "Action `actions/checkout` pinned to mutable ref `@v6`"}, "properties": {"repobilityId": 79118, "scanner": "repobility-supply-chain", "fingerprint": "82cb796a39a64ee1556b027749b1cc92fda919a0882ca2068a13eeb67d0af672", "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|82cb796a39a64ee1556b027749b1cc92fda919a0882ca2068a13eeb67d0af672"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/website.yml"}, "region": {"startLine": 15}}}]}]}]}