{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:02.845073Z","repo":{"ref":{"host":"github.com","owner":"augustofretes","name":"rusty-tube"},"default_branch":"main","clone_url":"https://github.com/augustofretes/rusty-tube.git","html_url":"https://github.com/augustofretes/rusty-tube","description":"A terminal-based YouTube Music player written in Rust","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":158,"primary_language":"Rust","license_spdx":"MIT","created_at":"2026-06-08T19:21:51Z","pushed_at":"2026-07-23T17:38:36Z","security_policy_url":null,"distribution":{"owner_created_at":"2012-03-10T21:54:11Z","owner_type":"User","release_assets":[{"name":"rusty-tube-v0.1.3-aarch64-apple-darwin.tar.gz","size":4784809,"download_count":1,"release_tag":"v0.1.3","url":"https://github.com/augustofretes/rusty-tube/releases/download/v0.1.3/rusty-tube-v0.1.3-aarch64-apple-darwin.tar.gz"},{"name":"rusty-tube-v0.1.2-aarch64-apple-darwin.tar.gz","size":4638684,"download_count":1,"release_tag":"v0.1.2","url":"https://github.com/augustofretes/rusty-tube/releases/download/v0.1.2/rusty-tube-v0.1.2-aarch64-apple-darwin.tar.gz"}]}},"commit_sha":"ad08eed535397f8d92a0175884efa9f1f9ef2b25","profile":{"lines_by_language":{"Rust":3192},"files_by_category":{"source":7,"config":2,"docs":2,"generated":1},"source_lines":3192,"test_lines":0},"pillars":{"ai_provenance":{"score":0.3,"confidence":0.45,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0025,"suspected_share":0.0,"estimated_share":0.0025,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":0.0,"style_index":0.0},"summary":"Weak signals consistent with AI-assisted development. 2 commit(s) carry explicit AI attribution, too few to characterize the codebase."},"quality":{"score":59.8,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":84.3,"duplication":83.4,"lint":100.0,"testing":0.0,"docs":65.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 6% of function code in complex or long functions; 3% duplicated lines. Weakest area: testing."},"security":{"score":67.4,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":97.3,"dependencies":30.6,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 32 known vulnerabilities in 22 dependencies. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":10.0,"checked":10.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":20.0,"attributed_commits":2.0,"attributed_commit_share":0.1,"effective_loc":3968.0,"attributed_loc":10.0,"attributed_loc_share":0.0025201612903225806,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 2 attributed commits, 10 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e2b5d36f52f279c7d8847fb8668fa9be90f95a86","url":"https://github.com/augustofretes/rusty-tube/commit/e2b5d36f52f279c7d8847fb8668fa9be90f95a86","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"82fd6debec8ff76d44af691ff0fc4bd74d72ea03","url":"https://github.com/augustofretes/rusty-tube/commit/82fd6debec8ff76d44af691ff0fc4bd74d72ea03","weight":0.9}],"data":{"attributed_loc_by_commit":{"82fd6debec8ff76d44af691ff0fc4bd74d72ea03":2,"e2b5d36f52f279c7d8847fb8668fa9be90f95a86":8},"tools":{"claude-code":{"name":"Claude Code","commits":2,"loc":10,"first_seen":1780947788,"last_seen":1780948293}},"monthly":{"2026-06":{"loc":3815,"attributed_loc":10},"2026-07":{"loc":153,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":5.0,"flagged_units":0.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":3968.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":493.958485310697,"median_loc_per_hour":194.4551741324528,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":3.0,"flagged_releases":0.0,"max_loc_per_day":20350.1},"findings":[],"evidence":[],"data":{"releases":[{"from":"v0.1.0","to":"v0.1.1","loc":164,"days":1.17,"loc_per_day":139.9,"flagged":false},{"from":"v0.1.1","to":"v0.1.2","loc":867,"days":0.04,"loc_per_day":20350.1,"flagged":false},{"from":"v0.1.2","to":"v0.1.3","loc":153,"days":43.69,"loc_per_day":3.5,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":3192.0,"index":0.0,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":1.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":1.0,"weighted_findings":0.25,"scanned_lines":3192.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/media.rs","line":190,"fingerprint":"rust.lang.security.unsafe-usage:src/media.rs:190"}],"evidence":[],"data":{"rulesets":["rust"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":22.0,"vulnerabilities":32.0,"vulns_critical":0.0,"vulns_high":2.0,"vulns_medium":5.0,"vulns_low":3.0,"vulns_unknown":22.0,"penalty":71.0},"findings":[{"rule_id":"osv/GHSA-4w2j-m93h-cj5j","severity":"high","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0185, GHSA-4w2j-m93h-cj5j","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):GHSA-4w2j-m93h-cj5j"},{"rule_id":"osv/RUSTSEC-2026-0340","severity":"high","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0340","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0340"},{"rule_id":"osv/RUSTSEC-2026-0190","severity":"medium","message":"anyhow@1.0.102 (crates.io) is affected by RUSTSEC-2026-0190","path":"Cargo.lock","line":null,"fingerprint":"anyhow@1.0.102 (crates.io):RUSTSEC-2026-0190"},{"rule_id":"osv/GHSA-qwgh-2vcv-g2f7","severity":"medium","message":"block-buffer@0.12.0 (crates.io) is affected by GHSA-qwgh-2vcv-g2f7","path":"Cargo.lock","line":null,"fingerprint":"block-buffer@0.12.0 (crates.io):GHSA-qwgh-2vcv-g2f7"},{"rule_id":"osv/RUSTSEC-2024-0388","severity":"medium","message":"derivative@2.2.0 (crates.io) is affected by RUSTSEC-2024-0388","path":"Cargo.lock","line":null,"fingerprint":"derivative@2.2.0 (crates.io):RUSTSEC-2024-0388"},{"rule_id":"osv/RUSTSEC-2026-0221","severity":"medium","message":"event-listener@5.4.1 (crates.io) is affected by RUSTSEC-2026-0221","path":"Cargo.lock","line":null,"fingerprint":"event-listener@5.4.1 (crates.io):RUSTSEC-2026-0221"},{"rule_id":"osv/RUSTSEC-2026-0258","severity":"medium","message":"h2@0.3.27 (crates.io) is affected by RUSTSEC-2026-0258","path":"Cargo.lock","line":null,"fingerprint":"h2@0.3.27 (crates.io):RUSTSEC-2026-0258"},{"rule_id":"osv/RUSTSEC-2026-0258","severity":"medium","message":"h2@0.4.14 (crates.io) is affected by RUSTSEC-2026-0258","path":"Cargo.lock","line":null,"fingerprint":"h2@0.4.14 (crates.io):RUSTSEC-2026-0258"},{"rule_id":"osv/GHSA-h97m-ww89-6jmq","severity":"medium","message":"idna@0.3.0 (crates.io) is affected by RUSTSEC-2024-0421, GHSA-h97m-ww89-6jmq","path":"Cargo.lock","line":null,"fingerprint":"idna@0.3.0 (crates.io):GHSA-h97m-ww89-6jmq"},{"rule_id":"osv/RUSTSEC-2024-0384","severity":"medium","message":"instant@0.1.13 (crates.io) is affected by RUSTSEC-2024-0384","path":"Cargo.lock","line":null,"fingerprint":"instant@0.1.13 (crates.io):RUSTSEC-2024-0384"},{"rule_id":"osv/RUSTSEC-2026-0459","severity":"medium","message":"libsqlite3-sys@0.28.0 (crates.io) is affected by RUSTSEC-2026-0459","path":"Cargo.lock","line":null,"fingerprint":"libsqlite3-sys@0.28.0 (crates.io):RUSTSEC-2026-0459"},{"rule_id":"osv/RUSTSEC-2026-0253","severity":"medium","message":"lru@0.12.5 (crates.io) is affected by RUSTSEC-2026-0253","path":"Cargo.lock","line":null,"fingerprint":"lru@0.12.5 (crates.io):RUSTSEC-2026-0253"},{"rule_id":"osv/RUSTSEC-2024-0436","severity":"medium","message":"paste@1.0.15 (crates.io) is affected by RUSTSEC-2024-0436","path":"Cargo.lock","line":null,"fingerprint":"paste@1.0.15 (crates.io):RUSTSEC-2024-0436"},{"rule_id":"osv/RUSTSEC-2026-0338","severity":"medium","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0338","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0338"},{"rule_id":"osv/RUSTSEC-2026-0339","severity":"medium","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0339","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0339"},{"rule_id":"osv/RUSTSEC-2026-0342","severity":"medium","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0342","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0342"},{"rule_id":"osv/RUSTSEC-2026-0523","severity":"medium","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0523","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0523"},{"rule_id":"osv/RUSTSEC-2026-0524","severity":"medium","message":"quinn-proto@0.11.14 (crates.io) is affected by RUSTSEC-2026-0524","path":"Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.14 (crates.io):RUSTSEC-2026-0524"},{"rule_id":"osv/RUSTSEC-2026-0538","severity":"medium","message":"quinn-udp@0.5.14 (crates.io) is affected by RUSTSEC-2026-0538","path":"Cargo.lock","line":null,"fingerprint":"quinn-udp@0.5.14 (crates.io):RUSTSEC-2026-0538"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.1.4 (crates.io) is affected by RUSTSEC-2026-0486","path":"Cargo.lock","line":null,"fingerprint":"rustix@1.1.4 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/GHSA-2mjx-qc3c-rqvc","severity":"medium","message":"rustls@0.23.40 (crates.io) is affected by RUSTSEC-2026-0285, GHSA-2mjx-qc3c-rqvc","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.40 (crates.io):GHSA-2mjx-qc3c-rqvc"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.23.40 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.40 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/RUSTSEC-2025-0134","severity":"medium","message":"rustls-pemfile@1.0.4 (crates.io) is affected by RUSTSEC-2025-0134","path":"Cargo.lock","line":null,"fingerprint":"rustls-pemfile@1.0.4 (crates.io):RUSTSEC-2025-0134"},{"rule_id":"osv/RUSTSEC-2026-0382","severity":"medium","message":"rustls-webpki@0.103.13 (crates.io) is affected by RUSTSEC-2026-0382","path":"Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.13 (crates.io):RUSTSEC-2026-0382"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.52.3 (crates.io) is affected by RUSTSEC-2026-0386","path":"Cargo.lock","line":null,"fingerprint":"tokio@1.52.3 (crates.io):RUSTSEC-2026-0386"},{"rule_id":"osv/RUSTSEC-2026-0383","severity":"medium","message":"webpki-root-certs@1.0.7 (crates.io) is affected by RUSTSEC-2026-0383","path":"Cargo.lock","line":null,"fingerprint":"webpki-root-certs@1.0.7 (crates.io):RUSTSEC-2026-0383"},{"rule_id":"osv/RUSTSEC-2026-0371","severity":"medium","message":"zbus_names@2.6.1 (crates.io) is affected by RUSTSEC-2026-0371","path":"Cargo.lock","line":null,"fingerprint":"zbus_names@2.6.1 (crates.io):RUSTSEC-2026-0371"},{"rule_id":"osv/RUSTSEC-2026-0370","severity":"medium","message":"zvariant@3.15.2 (crates.io) is affected by RUSTSEC-2026-0370","path":"Cargo.lock","line":null,"fingerprint":"zvariant@3.15.2 (crates.io):RUSTSEC-2026-0370"},{"rule_id":"osv/RUSTSEC-2026-0372","severity":"medium","message":"zvariant_derive@3.15.2 (crates.io) is affected by RUSTSEC-2026-0372","path":"Cargo.lock","line":null,"fingerprint":"zvariant_derive@3.15.2 (crates.io):RUSTSEC-2026-0372"},{"rule_id":"osv/GHSA-rhfx-m35p-ff5j","severity":"low","message":"lru@0.12.5 (crates.io) is affected by RUSTSEC-2026-0002, GHSA-rhfx-m35p-ff5j","path":"Cargo.lock","line":null,"fingerprint":"lru@0.12.5 (crates.io):GHSA-rhfx-m35p-ff5j"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.23.40 (crates.io) is affected by RUSTSEC-2026-0348, GHSA-h2v8-394m-p7vv","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.40 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.23.40 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.40 (crates.io):GHSA-w44r-93j7-qv28"}],"evidence":[],"data":{"ecosystems":["crates.io"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":2.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v0.1.3 ships rusty-tube-v0.1.3-aarch64-apple-darwin.tar.gz (1 downloads)","ref":"rusty-tube-v0.1.3-aarch64-apple-darwin.tar.gz","url":"https://github.com/augustofretes/rusty-tube/releases/download/v0.1.3/rusty-tube-v0.1.3-aarch64-apple-darwin.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.1.2 ships rusty-tube-v0.1.2-aarch64-apple-darwin.tar.gz (1 downloads)","ref":"rusty-tube-v0.1.2-aarch64-apple-darwin.tar.gz","url":"https://github.com/augustofretes/rusty-tube/releases/download/v0.1.2/rusty-tube-v0.1.2-aarch64-apple-darwin.tar.gz","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":111.0,"function_nloc":2385.0,"mean_ccn":4.27,"p90_ccn":10.0,"complex_functions":2.0,"long_functions":0.0,"many_param_functions":1.0,"risky_nloc_share":0.057},"findings":[],"evidence":[{"kind":"complex-function","description":"main in src/main.rs: complexity 26, 91 lines","ref":"src/main.rs","url":"https://github.com/augustofretes/rusty-tube/blob/ad08eed535397f8d92a0175884efa9f1f9ef2b25/src/main.rs#L20","weight":0.43333333333333335},{"kind":"complex-function","description":"handle_main_key in src/app.rs: complexity 17, 45 lines","ref":"src/app.rs","url":"https://github.com/augustofretes/rusty-tube/blob/ad08eed535397f8d92a0175884efa9f1f9ef2b25/src/app.rs#L721","weight":0.2833333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":2278.0,"duplicated_lines":69.0,"duplicated_share":0.0303,"files":7.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: src/app.rs:583 and src/ui.rs:456","ref":"src/app.rs","url":"https://github.com/augustofretes/rusty-tube/blob/ad08eed535397f8d92a0175884efa9f1f9ef2b25/src/app.rs#L583","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/ui.rs:402 and src/ui.rs:439","ref":"src/ui.rs","url":"https://github.com/augustofretes/rusty-tube/blob/ad08eed535397f8d92a0175884efa9f1f9ef2b25/src/ui.rs#L402","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/yt.rs:141 and src/yt.rs:216","ref":"src/yt.rs","url":"https://github.com/augustofretes/rusty-tube/blob/ad08eed535397f8d92a0175884efa9f1f9ef2b25/src/yt.rs#L141","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"weighted_findings":0.0,"scanned_lines":3192.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":3192.0,"test_ratio":0.0,"ci_files":0.0,"cochange_share":0.0,"cochange_commits":13.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":67.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":9.0,"other_lines":3183.0,"files_blamed":7.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":0.0,"quality:other_per_kloc":0.0,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":1.0,"security:other_per_kloc":0.314},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":false},"error":null}],"flags":[]}