{"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": "SEC020", "name": "[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-bearing value. This is a frequen", "shortDescription": {"text": "[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-bearing value. This is a frequent AI-assisted coding failure: the helper exposes the exact value needed for troubleshooting."}, "fullDescription": {"text": "Log only redacted, hashed, or last-four-style metadata. Rotate any secret that may have reached logs."}, "properties": {"scanner": "repobility-threat-engine", "category": "credential_exposure", "severity": "info", "confidence": 0.1, "cwe": "", "owasp": ""}}, {"id": "SEC029", "name": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additi", "shortDescription": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "fullDescription": {"text": "Validate the URL against an allowlist BEFORE fetching:\n  ALLOWED = {'images.example.com', 'cdn.example.com'}\n  host = urlparse(url).hostname\n  if host not in ALLOWED: abort(400)\nOr use a server-side proxy (Imgproxy / serve-files-only-from-S3) that isolates outbound network access from the request handler.\nBlock private CIDRs explicitly: 10/8, 172.16/12, 192.168/16, 169.254/16."}, "properties": {"scanner": "repobility-threat-engine", "category": "ssrf", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/423"}, "properties": {"repository": "apple/swift-syntax", "repoUrl": "https://github.com/apple/swift-syntax.git", "branch": "main"}, "results": [{"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22649, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9a638cdf770aaf9b3d317a0520b9c7617d9c4ba97a92fd8bf4ccc720f0208e28", "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": "Tests/SwiftParserTest/translated/AvailabilityQueryTests.swift", "duplicate_line": 160, "correlation_key": "fp|9a638cdf770aaf9b3d317a0520b9c7617d9c4ba97a92fd8bf4ccc720f0208e28"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tests/SwiftParserTest/translated/AvailabilityQueryUnavailabilityTests.swift"}, "region": {"startLine": 147}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22648, "scanner": "repobility-ai-code-hygiene", "fingerprint": "59f3741d353ff4c3ff6c8baf274f46dad4ba32d71aeb64dec82d1b38f40a4ab8", "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": "SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/BuildArguments.swift", "duplicate_line": 4, "correlation_key": "fp|59f3741d353ff4c3ff6c8baf274f46dad4ba32d71aeb64dec82d1b38f40a4ab8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/SourceCodeGeneratorArguments.swift"}, "region": {"startLine": 4}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22647, "scanner": "repobility-ai-code-hygiene", "fingerprint": "69dbd79fc2149cb0bfe5042f1203a9be6e0474a54a9a595784c9eda2d12ee7c4", "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": "SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Build.swift", "duplicate_line": 11, "correlation_key": "fp|69dbd79fc2149cb0bfe5042f1203a9be6e0474a54a9a595784c9eda2d12ee7c4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Test.swift"}, "region": {"startLine": 11}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22646, "scanner": "repobility-ai-code-hygiene", "fingerprint": "887e7df6de50f5f2100564b007669b3c05cb8db9e7a295b1bb3db2dae9a54b0b", "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": "Sources/SwiftSyntaxMacrosGenericTestSupport/Assertions.swift", "duplicate_line": 355, "correlation_key": "fp|887e7df6de50f5f2100564b007669b3c05cb8db9e7a295b1bb3db2dae9a54b0b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntaxMacrosTestSupport/Assertions.swift"}, "region": {"startLine": 45}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22645, "scanner": "repobility-ai-code-hygiene", "fingerprint": "7a0389e82adc4bf61cad1c25eeb383940b5edffb3a5c6ae38239b9f162417de5", "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": "Sources/SwiftCompilerPluginMessageHandling/PluginMessages.swift", "duplicate_line": 81, "correlation_key": "fp|7a0389e82adc4bf61cad1c25eeb383940b5edffb3a5c6ae38239b9f162417de5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntaxMacroExpansion/MacroExpansion.swift"}, "region": {"startLine": 12}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22644, "scanner": "repobility-ai-code-hygiene", "fingerprint": "5423ab1b6505523f990de6ffcc5c5050d844f09e4e9c0f8c164156675a0ea348", "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": "Sources/SwiftCompilerPluginMessageHandling/PluginMacroExpansionContext.swift", "duplicate_line": 241, "correlation_key": "fp|5423ab1b6505523f990de6ffcc5c5050d844f09e4e9c0f8c164156675a0ea348"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntaxMacroExpansion/BasicMacroExpansionContext.swift"}, "region": {"startLine": 83}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22643, "scanner": "repobility-ai-code-hygiene", "fingerprint": "f44a4b20280fc73560aff3d907d6a937be056b868f710dc144b30b7639e11973", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Package.step4.swift", "duplicate_line": 4, "correlation_key": "fp|f44a4b20280fc73560aff3d907d6a937be056b868f710dc144b30b7639e11973"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Package.step5.swift"}, "region": {"startLine": 7}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22642, "scanner": "repobility-ai-code-hygiene", "fingerprint": "db5be9f900e8eccd300a6be1e59a878546cb0fcecb4f6d3d4693a049ed5c4775", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Package.step3.swift", "duplicate_line": 1, "correlation_key": "fp|db5be9f900e8eccd300a6be1e59a878546cb0fcecb4f6d3d4693a049ed5c4775"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Package.step4.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22641, "scanner": "repobility-ai-code-hygiene", "fingerprint": "6f0d98660b850bafa5baaf7bf9c97d7eeeac5db2c938feda498c984618f97d1e", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step6.swift", "duplicate_line": 25, "correlation_key": "fp|6f0d98660b850bafa5baaf7bf9c97d7eeeac5db2c938feda498c984618f97d1e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step9.swift"}, "region": {"startLine": 51}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22640, "scanner": "repobility-ai-code-hygiene", "fingerprint": "19487182fb97a72ac01adbb43fb97ae69b419c2e99d862af4201a80fd917e02c", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step7.swift", "duplicate_line": 31, "correlation_key": "fp|19487182fb97a72ac01adbb43fb97ae69b419c2e99d862af4201a80fd917e02c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step9.swift"}, "region": {"startLine": 49}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22639, "scanner": "repobility-ai-code-hygiene", "fingerprint": "88a4136912557e7646234d781fab0418cdc69624866ea939d0e4a74a72c165b9", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|88a4136912557e7646234d781fab0418cdc69624866ea939d0e4a74a72c165b9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step9.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22638, "scanner": "repobility-ai-code-hygiene", "fingerprint": "8aa7c5cbd507a61e4221d641dbf1bbfe44a40847c9c29462ca12219b07b94b55", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step6.swift", "duplicate_line": 25, "correlation_key": "fp|8aa7c5cbd507a61e4221d641dbf1bbfe44a40847c9c29462ca12219b07b94b55"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step8.swift"}, "region": {"startLine": 43}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22637, "scanner": "repobility-ai-code-hygiene", "fingerprint": "40657bbba2dfbaf144fe297ade4d289872d3d7bc136c9604bd96396d1492f8f1", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step7.swift", "duplicate_line": 32, "correlation_key": "fp|40657bbba2dfbaf144fe297ade4d289872d3d7bc136c9604bd96396d1492f8f1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step8.swift"}, "region": {"startLine": 42}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22636, "scanner": "repobility-ai-code-hygiene", "fingerprint": "6036b98ba9b1df65848ce7d806b2fa7ab0273df084197f36fceb141f3a119f88", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|6036b98ba9b1df65848ce7d806b2fa7ab0273df084197f36fceb141f3a119f88"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step8.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22635, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ec98d7db42ec6cea2ba6291627cb33c8d580f09326a07b4c37ee59f3614099d3", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step6.swift", "duplicate_line": 25, "correlation_key": "fp|ec98d7db42ec6cea2ba6291627cb33c8d580f09326a07b4c37ee59f3614099d3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step7.swift"}, "region": {"startLine": 33}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22634, "scanner": "repobility-ai-code-hygiene", "fingerprint": "12816bdf248360bd826ce374c664645c712d504bd1fc941a55a9aaed833fa8dd", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|12816bdf248360bd826ce374c664645c712d504bd1fc941a55a9aaed833fa8dd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step7.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22633, "scanner": "repobility-ai-code-hygiene", "fingerprint": "dc1b1a1c89670512ed9bb670e41a359d17a7f2c4b6f4651e4cd3b8f58dcd9e68", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step5.swift", "duplicate_line": 14, "correlation_key": "fp|dc1b1a1c89670512ed9bb670e41a359d17a7f2c4b6f4651e4cd3b8f58dcd9e68"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step6.swift"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22632, "scanner": "repobility-ai-code-hygiene", "fingerprint": "17f40251bc4dd072cdd8e4635ea900b8d8af019ffb9972952b4f320e8520af2f", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|17f40251bc4dd072cdd8e4635ea900b8d8af019ffb9972952b4f320e8520af2f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step6.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22631, "scanner": "repobility-ai-code-hygiene", "fingerprint": "552289989d8a92e638966b9e440249ded19a0f9496b7c1c584d970dc3dac8269", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|552289989d8a92e638966b9e440249ded19a0f9496b7c1c584d970dc3dac8269"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step5.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22630, "scanner": "repobility-ai-code-hygiene", "fingerprint": "1bcb887e9d768e899e36a13999495f0cade7614eadb717ddbc9dda01ed09a835", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|1bcb887e9d768e899e36a13999495f0cade7614eadb717ddbc9dda01ed09a835"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step4.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22629, "scanner": "repobility-ai-code-hygiene", "fingerprint": "3966f08625f16e536548a2f893fbd7e6224eb77cf7697f87167238643d156aab", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step2.swift", "duplicate_line": 10, "correlation_key": "fp|3966f08625f16e536548a2f893fbd7e6224eb77cf7697f87167238643d156aab"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step3.swift"}, "region": {"startLine": 12}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22628, "scanner": "repobility-ai-code-hygiene", "fingerprint": "581ee8698f326976881696e3280a55ac5f011c7f4ed3e33a16dd2e8b9e0fcb45", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|581ee8698f326976881696e3280a55ac5f011c7f4ed3e33a16dd2e8b9e0fcb45"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step3.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22627, "scanner": "repobility-ai-code-hygiene", "fingerprint": "272a83aec30dadc7764eef61d22efc742df266674d1fe8851461a8b38f695184", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 4, "correlation_key": "fp|272a83aec30dadc7764eef61d22efc742df266674d1fe8851461a8b38f695184"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step2.swift"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 22626, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b70ddb05196ba120baaccba82a4ce68435999cb8d8ce80a89ead238df6f52c38", "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": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step10.swift", "duplicate_line": 1, "correlation_key": "fp|b70ddb05196ba120baaccba82a4ce68435999cb8d8ce80a89ead238df6f52c38"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Sources/SwiftSyntax/Documentation.docc/Resources/Formatter.step11.swift"}, "region": {"startLine": 1}}}]}, {"ruleId": "SEC020", "level": "none", "message": {"text": "[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-bearing value. This is a frequent AI-assisted coding failure: the helper exposes the exact value needed for troubleshooting."}, "properties": {"repobilityId": 22654, "scanner": "repobility-threat-engine", "fingerprint": "20913f9cc3662c49cb364c1f952dc5e5fd3d613cf98f752e0fba64ac3a63fb95", "category": "credential_exposure", "severity": "info", "confidence": 0.1, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Cryptographic handling (password hashing, not hardcoded)", "evidence": {"match": "print(\"password: <redacted>", "reason": "Cryptographic handling (password hashing, not hardcoded)", "rule_id": "SEC020", "scanner": "repobility-threat-engine", "confidence": 0.1, "correlation_key": "secret|token|9|print password: redacted"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Examples/Sources/MacroExamples/Playground/MemberMacrosPlayground.swift"}, "region": {"startLine": 93}}}]}, {"ruleId": "SEC029", "level": "none", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "properties": {"repobilityId": 22653, "scanner": "repobility-threat-engine", "fingerprint": "a0769f34321ccb4a2408866410ff258332c2e3d0c176eda236c0efe5490d0026", "category": "ssrf", "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": {"reason": "Deduplicated summary only: 9 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|a0769f34321ccb4a2408866410ff258332c2e3d0c176eda236c0efe5490d0026"}}}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 22652, "scanner": "repobility-threat-engine", "fingerprint": "cd65662e7530a12c0870c0c71e371c019c9e03c01eb9ab80523a42636982ebba", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "URL(s", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|cd65662e7530a12c0870c0c71e371c019c9e03c01eb9ab80523a42636982ebba"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Examples/Sources/MacroExamples/Implementation/Expression/URLMacro.swift"}, "region": {"startLine": 32}}}]}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 22651, "scanner": "repobility-threat-engine", "fingerprint": "ce0dfca66113f608fe69435ae4b16a3df8a1ffeff559c6282e622448a24901ac", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "URL(_", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|ce0dfca66113f608fe69435ae4b16a3df8a1ffeff559c6282e622448a24901ac"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Examples/Sources/MacroExamples/Interface/ExpressionMacros.swift"}, "region": {"startLine": 57}}}]}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 22650, "scanner": "repobility-threat-engine", "fingerprint": "aeb2e68808429d0e5a1619ea97e9c57b62e4379dbadbf33ee144f783bdc0be05", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "URL(f", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|aeb2e68808429d0e5a1619ea97e9c57b62e4379dbadbf33ee144f783bdc0be05"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Examples/Sources/AddOneToIntegerLiterals/AddOneToIntegerLiterals.swift"}, "region": {"startLine": 58}}}]}]}]}