{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:46:42.832740Z","repo":{"ref":{"host":"github.com","owner":"pStrikeZ","name":"Nyx-Refrain"},"default_branch":"master","clone_url":"https://github.com/pStrikeZ/Nyx-Refrain.git","html_url":"https://github.com/pStrikeZ/Nyx-Refrain","description":"Stream your Windows / Linux PC's system audio to HomePod and other AirPlay 2 speakers with low latency","stars":16,"forks":2,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":894,"primary_language":"Rust","license_spdx":"MIT","created_at":"2026-09-27T15:30:53Z","pushed_at":"2026-11-11T05:46:49Z","security_policy_url":null,"distribution":{"owner_created_at":"2024-06-18T09:44:50Z","owner_type":"User","release_assets":[{"name":"nyx-refrain-0.9.5-1-aarch64.pkg.tar.zst","size":6785168,"download_count":5,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1-aarch64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.5-1-loong64.pkg.tar.zst","size":6436594,"download_count":2,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1-loong64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.5-1-x86_64.pkg.tar.zst","size":7140414,"download_count":14,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1-x86_64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.5-1.aarch64.rpm","size":7048381,"download_count":2,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.aarch64.rpm"},{"name":"nyx-refrain-0.9.5-1.loongarch64.rpm","size":6858300,"download_count":1,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.loongarch64.rpm"},{"name":"nyx-refrain-0.9.5-1.x86_64.rpm","size":7363009,"download_count":4,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.x86_64.rpm"},{"name":"nyx-refrain-0.9.5-windows-arm64-setup.exe","size":3690346,"download_count":5,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-windows-arm64-setup.exe"},{"name":"nyx-refrain-0.9.5-windows-x86_64-setup.exe","size":4325291,"download_count":51,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-windows-x86_64-setup.exe"},{"name":"nyx-refrain_0.9.5-1_amd64.deb","size":7409634,"download_count":5,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain_0.9.5-1_amd64.deb"},{"name":"nyx-refrain_0.9.5-1_arm64.deb","size":7123084,"download_count":1,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain_0.9.5-1_arm64.deb"},{"name":"nyx-refrain_0.9.5-1_loong64.deb","size":6904600,"download_count":1,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain_0.9.5-1_loong64.deb"},{"name":"SHA256SUMS","size":1121,"download_count":14,"release_tag":"v0.9.5","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/SHA256SUMS"},{"name":"nyx-refrain-0.9.4-1-aarch64.pkg.tar.zst","size":6765892,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1-aarch64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.4-1-loong64.pkg.tar.zst","size":6421773,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1-loong64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.4-1-x86_64.pkg.tar.zst","size":7124625,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1-x86_64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.4-1.aarch64.rpm","size":7030971,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1.aarch64.rpm"},{"name":"nyx-refrain-0.9.4-1.loongarch64.rpm","size":6839911,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1.loongarch64.rpm"},{"name":"nyx-refrain-0.9.4-1.x86_64.rpm","size":7347037,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-1.x86_64.rpm"},{"name":"nyx-refrain-0.9.4-windows-arm64-setup.exe","size":3668868,"download_count":2,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-windows-arm64-setup.exe"},{"name":"nyx-refrain-0.9.4-windows-x86_64-setup.exe","size":4289401,"download_count":15,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain-0.9.4-windows-x86_64-setup.exe"},{"name":"nyx-refrain_0.9.4-1_amd64.deb","size":7394368,"download_count":5,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain_0.9.4-1_amd64.deb"},{"name":"nyx-refrain_0.9.4-1_arm64.deb","size":7103764,"download_count":2,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain_0.9.4-1_arm64.deb"},{"name":"nyx-refrain_0.9.4-1_loong64.deb","size":6886360,"download_count":1,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/nyx-refrain_0.9.4-1_loong64.deb"},{"name":"SHA256SUMS","size":1121,"download_count":9,"release_tag":"v0.9.4","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.4/SHA256SUMS"},{"name":"nyx-refrain-0.9.3-1-aarch64.pkg.tar.zst","size":6765619,"download_count":2,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1-aarch64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.3-1-loong64.pkg.tar.zst","size":6420693,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1-loong64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.3-1-x86_64.pkg.tar.zst","size":7127212,"download_count":3,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1-x86_64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.3-1.aarch64.rpm","size":7031396,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1.aarch64.rpm"},{"name":"nyx-refrain-0.9.3-1.loongarch64.rpm","size":6838494,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1.loongarch64.rpm"},{"name":"nyx-refrain-0.9.3-1.x86_64.rpm","size":7345646,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-1.x86_64.rpm"},{"name":"nyx-refrain-0.9.3-windows-arm64-setup.exe","size":3668739,"download_count":3,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-windows-arm64-setup.exe"},{"name":"nyx-refrain-0.9.3-windows-x86_64-setup.exe","size":4288327,"download_count":20,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain-0.9.3-windows-x86_64-setup.exe"},{"name":"nyx-refrain_0.9.3-1_amd64.deb","size":7392548,"download_count":2,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain_0.9.3-1_amd64.deb"},{"name":"nyx-refrain_0.9.3-1_arm64.deb","size":7104534,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain_0.9.3-1_arm64.deb"},{"name":"nyx-refrain_0.9.3-1_loong64.deb","size":6883986,"download_count":1,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/nyx-refrain_0.9.3-1_loong64.deb"},{"name":"SHA256SUMS","size":1121,"download_count":4,"release_tag":"v0.9.3","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.3/SHA256SUMS"},{"name":"nyx-refrain-0.9.2-1-aarch64.pkg.tar.zst","size":6768933,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1-aarch64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.2-1-loong64.pkg.tar.zst","size":6421130,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1-loong64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.2-1-x86_64.pkg.tar.zst","size":7123505,"download_count":2,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1-x86_64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.2-1.aarch64.rpm","size":7031805,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1.aarch64.rpm"},{"name":"nyx-refrain-0.9.2-1.loongarch64.rpm","size":6839002,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1.loongarch64.rpm"},{"name":"nyx-refrain-0.9.2-1.x86_64.rpm","size":7345420,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-1.x86_64.rpm"},{"name":"nyx-refrain-0.9.2-windows-arm64-setup.exe","size":3668523,"download_count":2,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-windows-arm64-setup.exe"},{"name":"nyx-refrain-0.9.2-windows-x86_64-setup.exe","size":4287018,"download_count":14,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain-0.9.2-windows-x86_64-setup.exe"},{"name":"nyx-refrain_0.9.2-1_amd64.deb","size":7392108,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain_0.9.2-1_amd64.deb"},{"name":"nyx-refrain_0.9.2-1_arm64.deb","size":7105058,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain_0.9.2-1_arm64.deb"},{"name":"nyx-refrain_0.9.2-1_loong64.deb","size":6884236,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/nyx-refrain_0.9.2-1_loong64.deb"},{"name":"SHA256SUMS","size":1121,"download_count":1,"release_tag":"v0.9.2","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.2/SHA256SUMS"},{"name":"nyx-refrain-0.9.1-1-aarch64.pkg.tar.zst","size":6760277,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1-aarch64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.1-1-loong64.pkg.tar.zst","size":6416325,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1-loong64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.1-1-x86_64.pkg.tar.zst","size":7118274,"download_count":2,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1-x86_64.pkg.tar.zst"},{"name":"nyx-refrain-0.9.1-1.aarch64.rpm","size":7024182,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1.aarch64.rpm"},{"name":"nyx-refrain-0.9.1-1.loongarch64.rpm","size":6831874,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1.loongarch64.rpm"},{"name":"nyx-refrain-0.9.1-1.x86_64.rpm","size":7341663,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-1.x86_64.rpm"},{"name":"nyx-refrain-0.9.1-windows-arm64-setup.exe","size":3665665,"download_count":2,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-windows-arm64-setup.exe"},{"name":"nyx-refrain-0.9.1-windows-x86_64-setup.exe","size":4286939,"download_count":3,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain-0.9.1-windows-x86_64-setup.exe"},{"name":"nyx-refrain_0.9.1-1_amd64.deb","size":7386598,"download_count":2,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain_0.9.1-1_amd64.deb"},{"name":"nyx-refrain_0.9.1-1_arm64.deb","size":7096946,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain_0.9.1-1_arm64.deb"},{"name":"nyx-refrain_0.9.1-1_loong64.deb","size":6876446,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/nyx-refrain_0.9.1-1_loong64.deb"},{"name":"SHA256SUMS","size":1121,"download_count":1,"release_tag":"v0.9.1","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.1/SHA256SUMS"}]}},"commit_sha":"c31fbd8d504ad571fe55b69be3b8761e82ce8a87","profile":{"lines_by_language":{"Rust":32560,"Shell":709,"Python":321,"PowerShell":38},"files_by_category":{"source":103,"binary":48,"config":18,"other":14,"docs":6,"test":4,"generated":2},"source_lines":32089,"test_lines":1539},"pillars":{"ai_provenance":{"score":6.4,"confidence":0.83,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.0639,"suspected_share":0.0747,"estimated_share":0.0639,"ai_artifacts":2.0,"flagged_work_units":1.0,"flagged_releases":0.0},"summary":"Explicit AI attribution on 6% of first-party code added; an estimated 6% including velocity signals."},"quality":{"score":67.0,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":38.0,"duplication":80.9,"lint":100.0,"testing":68.3,"docs":65.0,"type_safety":40.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.05, CI runs tests; 32% of function code in complex or long functions; 4% duplicated lines. Weakest area: complexity."},"security":{"score":56.2,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":59.7,"dependencies":67.0,"ci_actions":1.6,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 11 known vulnerabilities in 8 dependencies; 22 high-severity workflow issues. 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":26.0,"checked":26.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":54.0,"attributed_commits":30.0,"attributed_commit_share":0.5555555555555556,"effective_loc":34584.0,"attributed_loc":2211.0,"attributed_loc_share":0.06393129770992366,"tools_detected":2.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 28 attributed commits, 2,055 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"OpenAI Codex: 2 attributed commits, 156 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (c31fbd8d50)","ref":"87d4ae0a2b09f9ccf89102780d1a354575728fcc","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/87d4ae0a2b09f9ccf89102780d1a354575728fcc","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (c31fbd8d50)","ref":"44a40d3c1ac5837bac5d58dbb4da58d1cc6b879c","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/44a40d3c1ac5837bac5d58dbb4da58d1cc6b879c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"d1e54fdc1f2478fe13db3d960d330498b85c4341","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/d1e54fdc1f2478fe13db3d960d330498b85c4341","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"022294f6d3a6196da14a2ce536cf4a626867824f","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/022294f6d3a6196da14a2ce536cf4a626867824f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"cf6ccc73ddec10657901aa9fa8ec1dab1eec2420","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/cf6ccc73ddec10657901aa9fa8ec1dab1eec2420","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f1436991e2e4eb7df8a3ab6ef8641b0f2bbe0992","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/f1436991e2e4eb7df8a3ab6ef8641b0f2bbe0992","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"1c1b30b91a27328d52bd4ebdcd15c638f90d1884","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/1c1b30b91a27328d52bd4ebdcd15c638f90d1884","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"fb89b2367acb013fdbe0a82c9d5d7b44a2963272","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/fb89b2367acb013fdbe0a82c9d5d7b44a2963272","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e961842b62a50f51cb542788242772c73b20420c","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/e961842b62a50f51cb542788242772c73b20420c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"810e33f831cc2fd385c0d90b374df139d16654de","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/810e33f831cc2fd385c0d90b374df139d16654de","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e33feff37418f3108fdfbc6cdc1b2844e57373fa","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/e33feff37418f3108fdfbc6cdc1b2844e57373fa","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9ad6e8e3f8bab1c136fd3edb45e52ab977c19afd","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/9ad6e8e3f8bab1c136fd3edb45e52ab977c19afd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f4cf0d3385f894d5aed96bec53fcd8d1b45c03ab","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/f4cf0d3385f894d5aed96bec53fcd8d1b45c03ab","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7fa20472943bd2aaf21760ad74036ba478d2783d","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/7fa20472943bd2aaf21760ad74036ba478d2783d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: on merged branch (7a265915b1)","ref":"00e08c4186b03f4e555e055ce2cde58875c29f7b","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/00e08c4186b03f4e555e055ce2cde58875c29f7b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"af546c843b5d7156233db294f42f4e9832ff8e82","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/af546c843b5d7156233db294f42f4e9832ff8e82","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e07a945b64b07c9dced63d90de051f027af660e1","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/e07a945b64b07c9dced63d90de051f027af660e1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"d78d9676b70e2cfbb818885b4a2e63c77d466247","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/d78d9676b70e2cfbb818885b4a2e63c77d466247","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"51c77c6ebc4b9bb9ef52765609f74ffa14d36527","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/51c77c6ebc4b9bb9ef52765609f74ffa14d36527","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"637e8987f82ab5aaaeb9165d040f76000cd74ec5","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/637e8987f82ab5aaaeb9165d040f76000cd74ec5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"eb05e01ebd32d1ad12eed4f9c74799c946c056f7","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/eb05e01ebd32d1ad12eed4f9c74799c946c056f7","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0d88dab85fe1dd1ce6ecf7ef6dee8fe62e11d391","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/0d88dab85fe1dd1ce6ecf7ef6dee8fe62e11d391","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5ac19915938d7e19b536fa3156c2527bfa62e178","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/5ac19915938d7e19b536fa3156c2527bfa62e178","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"87f27c8d75cee63e5838387a22be81e94b436fd4","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/87f27c8d75cee63e5838387a22be81e94b436fd4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8bb3cef6d3910377380425fe3a01bda91bb961ba","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/8bb3cef6d3910377380425fe3a01bda91bb961ba","weight":0.9}],"data":{"attributed_loc_by_commit":{"fa7d37f721580b357a1f2f5d0cfbcfdb6ff00e61":36,"971a5bd18c9f1b8e31c2b3103551c36aaa7120a2":2,"c31cf845e5459759e52912cf312a0e774c422e0e":222,"be5574cfdbc36fce22cec0475b2d416f65ad0176":91,"7ddabaab99ab314c3ee9768019d43184aee3f01a":58,"8bb3cef6d3910377380425fe3a01bda91bb961ba":70,"87f27c8d75cee63e5838387a22be81e94b436fd4":38,"5ac19915938d7e19b536fa3156c2527bfa62e178":84,"0d88dab85fe1dd1ce6ecf7ef6dee8fe62e11d391":10,"eb05e01ebd32d1ad12eed4f9c74799c946c056f7":35,"637e8987f82ab5aaaeb9165d040f76000cd74ec5":125,"51c77c6ebc4b9bb9ef52765609f74ffa14d36527":16,"d78d9676b70e2cfbb818885b4a2e63c77d466247":57,"e07a945b64b07c9dced63d90de051f027af660e1":26,"af546c843b5d7156233db294f42f4e9832ff8e82":44,"00e08c4186b03f4e555e055ce2cde58875c29f7b":1,"7fa20472943bd2aaf21760ad74036ba478d2783d":4,"f4cf0d3385f894d5aed96bec53fcd8d1b45c03ab":34,"9ad6e8e3f8bab1c136fd3edb45e52ab977c19afd":137,"e33feff37418f3108fdfbc6cdc1b2844e57373fa":303,"810e33f831cc2fd385c0d90b374df139d16654de":138,"e961842b62a50f51cb542788242772c73b20420c":416,"fb89b2367acb013fdbe0a82c9d5d7b44a2963272":2,"1c1b30b91a27328d52bd4ebdcd15c638f90d1884":0,"f1436991e2e4eb7df8a3ab6ef8641b0f2bbe0992":1,"cf6ccc73ddec10657901aa9fa8ec1dab1eec2420":73,"022294f6d3a6196da14a2ce536cf4a626867824f":1,"d1e54fdc1f2478fe13db3d960d330498b85c4341":31,"44a40d3c1ac5837bac5d58dbb4da58d1cc6b879c":30,"87d4ae0a2b09f9ccf89102780d1a354575728fcc":126},"tools":{"claude-code":{"name":"Claude Code","commits":28,"loc":2055,"first_seen":1792956942,"last_seen":1793110049},"openai-codex":{"name":"OpenAI Codex","commits":2,"loc":156,"first_seen":1793813584,"last_seen":1794375878}},"monthly":{"2026-09":{"loc":28821,"attributed_loc":0},"2026-10":{"loc":5607,"attributed_loc":2055},"2026-11":{"loc":156,"attributed_loc":156}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":2.0,"workflow_agents":0.0,"tools_configured":2.0,"earliest_adoption":1793149937.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/CLAUDE.md","weight":0.5},{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/AGENTS.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":"CLAUDE.md","added_at":1793149937},{"tool":"generic-agent","path":"AGENTS.md","added_at":1793149937}],"workflows":[],"tools":["claude-code","generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":18.0,"flagged_units":1.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":6224.0,"flagged_loc":2585.0,"flagged_loc_share":0.415327763496144,"max_loc_per_hour":608.4739113377796,"median_loc_per_hour":134.88577820798864,"pr_timed_units":0.0,"excluded_import_loc":28360.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"2,585 lines of first-party code in ~4.2h (608 lines/hour, 2 commit session)","ref":"375174b89f543be32636b32230b7c5a17704eb3f","url":"https://github.com/pStrikeZ/Nyx-Refrain/commit/375174b89f543be32636b32230b7c5a17704eb3f","weight":0.18254217340133386}],"data":{"flagged_loc_by_commit":{"f9e7ae8acc78f518eb66d74e2c976ab2d46df004":75,"375174b89f543be32636b32230b7c5a17704eb3f":2510},"excluded_import_commits":["246cc61498205eb595789aaeef93027ba5ed7b5c"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":4.0,"flagged_releases":0.0,"max_loc_per_day":619.3},"findings":[],"evidence":[],"data":{"releases":[{"from":"v0.9.1","to":"v0.9.2","loc":461,"days":0.74,"loc_per_day":619.3,"flagged":false},{"from":"v0.9.2","to":"v0.9.3","loc":15,"days":9.0,"loc_per_day":1.7,"flagged":false},{"from":"v0.9.3","to":"v0.9.4","loc":0,"days":14.15,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.4","to":"v0.9.5","loc":2042,"days":5.24,"loc_per_day":389.5,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":32089.0,"index":0.125,"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":8.0,"per_kloc:emoji_in_code":0.249,"files:emoji_in_code":3.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":189.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":189.0,"weighted_findings":47.25,"scanned_lines":32051.0,"parse_errors":2.0},"findings":[{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":244,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/autostart.rs:244"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":251,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/autostart.rs:251"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":320,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/autostart.rs:320"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":363,"fingerprint":"rust.lang.security.current-exe:apps/nyx-refrain/src/autostart.rs:363"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":371,"fingerprint":"rust.lang.security.current-exe:apps/nyx-refrain/src/autostart.rs:371"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":397,"fingerprint":"rust.lang.security.current-exe:apps/nyx-refrain/src/autostart.rs:397"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"apps/nyx-refrain/src/autostart.rs","line":596,"fingerprint":"rust.lang.security.temp-dir:apps/nyx-refrain/src/autostart.rs:596"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"apps/nyx-refrain/src/engine.rs","line":1352,"fingerprint":"rust.lang.security.current-exe:apps/nyx-refrain/src/engine.rs:1352"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/i18n.rs","line":438,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/i18n.rs:438"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/position.rs","line":177,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/position.rs:177"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/position.rs","line":226,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/position.rs:226"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"apps/nyx-refrain/src/settings.rs","line":147,"fingerprint":"rust.lang.security.temp-dir:apps/nyx-refrain/src/settings.rs:147"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":24,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:24"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":36,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:36"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":57,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:57"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":67,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:67"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":88,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:88"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/single_instance.rs","line":103,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/single_instance.rs:103"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/ui_windows.rs","line":1013,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/ui_windows.rs:1013"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/ui_windows.rs","line":1049,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/ui_windows.rs:1049"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/ui_windows.rs","line":1393,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/ui_windows.rs:1393"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"apps/nyx-refrain/src/ui_windows.rs","line":1426,"fingerprint":"rust.lang.security.unsafe-usage:apps/nyx-refrain/src/ui_windows.rs:1426"},{"rule_id":"opengrep/rust.lang.security.args","severity":"low","message":"args should not be used for security operations. From the docs: \"The first element is traditionally the path of the executable, but it can be set to arbitrary text, and might not even exist. This means this property should not be relied upon for security purposes.\" [confidence high]","path":"apps/nyx-refrain/src/ui_windows.rs","line":1803,"fingerprint":"rust.lang.security.args:apps/nyx-refrain/src/ui_windows.rs:1803"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"apps/nyxr/src/config.rs","line":166,"fingerprint":"rust.lang.security.temp-dir:apps/nyxr/src/config.rs:166"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"apps/nyxr/src/main.rs","line":551,"fingerprint":"rust.lang.security.current-exe:apps/nyxr/src/main.rs:551"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/pipewire.rs","line":266,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/pipewire.rs:266"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi.rs","line":62,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi.rs:62"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/com.rs","line":22,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/com.rs:22"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/com.rs","line":40,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/com.rs:40"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/com.rs","line":56,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/com.rs:56"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/com.rs","line":77,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/com.rs:77"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":49,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:49"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":54,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:54"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":79,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:79"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":86,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:86"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":93,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:93"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":94,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:94"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":98,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:98"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":120,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:120"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":125,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:125"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":130,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:130"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":131,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:131"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":137,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:137"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":177,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:177"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":178,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":186,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:186"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":225,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:225"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":228,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:228"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":238,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:238"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":255,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:255"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":455,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:455"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/endpoint.rs","line":456,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/endpoint.rs:456"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":129,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:129"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":366,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:366"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":495,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:495"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":502,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:502"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":512,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:512"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":543,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:543"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":573,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:573"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":596,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:596"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/loopback.rs","line":608,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/loopback.rs:608"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/notification.rs","line":81,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/notification.rs:81"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/notification.rs","line":90,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/notification.rs:90"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":127,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:127"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":146,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:146"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":182,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:182"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":353,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:353"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":372,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:372"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/process_loopback.rs","line":428,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/process_loopback.rs:428"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/capture/src/wasapi/silence_stream.rs","line":80,"fingerprint":"rust.lang.security.unsafe-usage:crates/capture/src/wasapi/silence_stream.rs:80"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/discovery/src/browser.rs","line":286,"fingerprint":"rust.lang.security.temp-dir:crates/discovery/src/browser.rs:286"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/discovery/src/cache.rs","line":161,"fingerprint":"rust.lang.security.temp-dir:crates/discovery/src/cache.rs:161"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/bind.rs","line":77,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/bind.rs:77"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/bind.rs","line":130,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/bind.rs:130"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":14,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:14"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":23,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:23"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":40,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:40"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":42,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:42"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":47,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:47"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":57,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:57"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":59,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:59"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_unix.rs","line":63,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_unix.rs:63"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":22,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:22"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":47,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:47"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":49,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:49"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":50,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:50"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":51,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:51"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":53,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:53"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":62,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:62"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":65,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:65"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":66,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:66"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":67,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:67"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":96,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:96"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/enumerate_windows.rs","line":110,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/enumerate_windows.rs:110"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/netutil/src/firewall.rs","line":178,"fingerprint":"rust.lang.security.current-exe:crates/netutil/src/firewall.rs:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/firewall.rs","line":222,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/firewall.rs:222"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/netutil/src/firewall.rs","line":230,"fingerprint":"rust.lang.security.unsafe-usage:crates/netutil/src/firewall.rs:230"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/nowplaying/src/lib.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:crates/nowplaying/src/lib.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/nowplaying/src/lib.rs","line":83,"fingerprint":"rust.lang.security.unsafe-usage:crates/nowplaying/src/lib.rs:83"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/nowplaying/src/lib.rs","line":111,"fingerprint":"rust.lang.security.unsafe-usage:crates/nowplaying/src/lib.rs:111"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/nowplaying/src/lib.rs","line":983,"fingerprint":"rust.lang.security.unsafe-usage:crates/nowplaying/src/lib.rs:983"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/nowplaying/src/lib.rs","line":1062,"fingerprint":"rust.lang.security.unsafe-usage:crates/nowplaying/src/lib.rs:1062"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":65,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:65"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":79,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:79"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":109,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:109"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":128,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:128"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":159,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:159"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":240,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:240"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":249,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:249"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":265,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:265"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":267,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:267"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":269,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:269"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":271,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:271"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":273,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:273"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":292,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:292"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":293,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:293"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":296,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:296"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":297,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:297"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":299,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:299"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":323,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:323"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pipeline/src/timer.rs","line":347,"fingerprint":"rust.lang.security.unsafe-usage:crates/pipeline/src/timer.rs:347"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":458,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:458"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":461,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:461"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":535,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:535"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":544,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:544"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":603,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:603"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":604,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:604"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":638,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:638"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":692,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:692"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":804,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:804"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":805,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:805"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":824,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:824"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":827,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:827"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":860,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:860"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/client_node.rs","line":862,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/client_node.rs:862"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":178,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":183,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:183"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":192,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:192"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":194,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:194"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":209,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:209"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":222,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:222"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":236,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:236"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":243,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:243"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":277,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:277"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":283,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:283"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":298,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:298"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":300,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:300"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":393,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:393"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/connection.rs","line":417,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/connection.rs:417"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":73,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:73"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":125,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:125"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":132,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:132"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":133,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:133"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/core.rs","line":146,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/core.rs:146"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":167,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:167"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":429,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:429"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":434,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:434"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":436,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:436"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":451,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:451"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":548,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:548"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":572,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:572"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":682,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:682"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":697,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:697"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":710,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:710"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":714,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:714"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":718,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:718"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/lib.rs","line":722,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/lib.rs:722"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":132,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:132"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":143,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:143"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":144,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:144"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":154,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:154"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":243,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:243"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":257,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:257"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":273,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:273"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":281,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:281"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":288,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:288"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":297,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:297"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":299,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:299"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":309,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:309"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":357,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:357"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":359,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:359"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":373,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:373"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":387,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:387"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/rt.rs","line":391,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/rt.rs:391"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/pwnative/src/volume.rs","line":116,"fingerprint":"rust.lang.security.unsafe-usage:crates/pwnative/src/volume.rs:116"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/raop/src/ap2/history.rs","line":54,"fingerprint":"rust.lang.security.unsafe-usage:crates/raop/src/ap2/history.rs:54"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/raop/src/ap2/history.rs","line":73,"fingerprint":"rust.lang.security.unsafe-usage:crates/raop/src/ap2/history.rs:73"}],"evidence":[],"data":{"rulesets":["rust","bash","python"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":8.0,"vulnerabilities":11.0,"vulns_critical":0.0,"vulns_high":0.0,"vulns_medium":2.0,"vulns_low":3.0,"vulns_unknown":6.0,"penalty":24.0},"findings":[{"rule_id":"osv/GHSA-wrw7-89jp-8q8g","severity":"medium","message":"glib@0.18.5 (crates.io) is affected by RUSTSEC-2024-0429, GHSA-wrw7-89jp-8q8g","path":"Cargo.lock","line":null,"fingerprint":"glib@0.18.5 (crates.io):GHSA-wrw7-89jp-8q8g"},{"rule_id":"osv/RUSTSEC-2024-0370","severity":"medium","message":"proc-macro-error@1.0.4 (crates.io) is affected by RUSTSEC-2024-0370","path":"Cargo.lock","line":null,"fingerprint":"proc-macro-error@1.0.4 (crates.io):RUSTSEC-2024-0370"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.1.5 (crates.io) is affected by RUSTSEC-2026-0486","path":"Cargo.lock","line":null,"fingerprint":"rustix@1.1.5 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.23.45 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.45 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.53.1 (crates.io) is affected by RUSTSEC-2026-0386; also in fuzz/Cargo.lock","path":"Cargo.lock","line":null,"fingerprint":"tokio@1.53.1 (crates.io):RUSTSEC-2026-0386"},{"rule_id":"osv/RUSTSEC-2026-0371","severity":"medium","message":"zbus_names@4.3.4 (crates.io) is affected by RUSTSEC-2026-0371","path":"Cargo.lock","line":null,"fingerprint":"zbus_names@4.3.4 (crates.io):RUSTSEC-2026-0371"},{"rule_id":"osv/RUSTSEC-2026-0370","severity":"medium","message":"zvariant@5.15.0 (crates.io) is affected by RUSTSEC-2026-0370","path":"Cargo.lock","line":null,"fingerprint":"zvariant@5.15.0 (crates.io):RUSTSEC-2026-0370"},{"rule_id":"osv/RUSTSEC-2026-0372","severity":"medium","message":"zvariant_derive@5.15.0 (crates.io) is affected by RUSTSEC-2026-0372","path":"Cargo.lock","line":null,"fingerprint":"zvariant_derive@5.15.0 (crates.io):RUSTSEC-2026-0372"},{"rule_id":"osv/GHSA-vp88-798v-h67f","severity":"low","message":"rustls@0.23.45 (crates.io) is affected by RUSTSEC-2026-0347, GHSA-vp88-798v-h67f","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.45 (crates.io):GHSA-vp88-798v-h67f"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.23.45 (crates.io) is affected by RUSTSEC-2026-0348, GHSA-h2v8-394m-p7vv","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.45 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.23.45 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.45 (crates.io):GHSA-w44r-93j7-qv28"}],"evidence":[],"data":{"ecosystems":["crates.io"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":2.0,"findings":24.0,"findings_high":22.0,"findings_medium":2.0,"findings_low":0.0,"penalty":249.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":26,"fingerprint":"unpinned-uses:.github/workflows/build.yml:26"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/build.yml:39"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":44,"fingerprint":"unpinned-uses:.github/workflows/build.yml:44"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":48,"fingerprint":"unpinned-uses:.github/workflows/build.yml:48"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":98,"fingerprint":"unpinned-uses:.github/workflows/build.yml:98"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":104,"fingerprint":"unpinned-uses:.github/workflows/build.yml:104"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":110,"fingerprint":"unpinned-uses:.github/workflows/build.yml:110"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":116,"fingerprint":"unpinned-uses:.github/workflows/build.yml:116"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":122,"fingerprint":"unpinned-uses:.github/workflows/build.yml:122"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":128,"fingerprint":"unpinned-uses:.github/workflows/build.yml:128"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":134,"fingerprint":"unpinned-uses:.github/workflows/build.yml:134"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":140,"fingerprint":"unpinned-uses:.github/workflows/build.yml:140"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":146,"fingerprint":"unpinned-uses:.github/workflows/build.yml:146"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":152,"fingerprint":"unpinned-uses:.github/workflows/build.yml:152"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":158,"fingerprint":"unpinned-uses:.github/workflows/build.yml:158"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":172,"fingerprint":"unpinned-uses:.github/workflows/build.yml:172"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/build.yml","line":44,"fingerprint":"cache-poisoning:.github/workflows/build.yml:44"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/build.yml","line":48,"fingerprint":"cache-poisoning:.github/workflows/build.yml:48"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":24,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:24"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":27,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:27"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":34,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:34"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:38"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":26,"fingerprint":"artipacked:.github/workflows/build.yml:26"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":24,"fingerprint":"artipacked:.github/workflows/ci.yml:24"}],"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":0.0,"signed_commit_share":0.0,"unpinned_manifests":9.0},"findings":[],"evidence":[{"kind":"posture","description":"apps/nyx-refrain/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"apps/nyx-refrain/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"apps/nyxr/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"apps/nyxr/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/capture/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/capture/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/discovery/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/discovery/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/netutil/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/netutil/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/nowplaying/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/nowplaying/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/pipeline/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/pipeline/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/pwnative/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/pwnative/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/raop/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/raop/Cargo.toml","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":40.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v0.9.5 ships nyx-refrain-0.9.5-1.aarch64.rpm (2 downloads)","ref":"nyx-refrain-0.9.5-1.aarch64.rpm","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.aarch64.rpm","weight":0.0},{"kind":"binary-release-asset","description":"release v0.9.5 ships nyx-refrain-0.9.5-1.loongarch64.rpm (1 downloads)","ref":"nyx-refrain-0.9.5-1.loongarch64.rpm","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.loongarch64.rpm","weight":0.0},{"kind":"binary-release-asset","description":"release v0.9.5 ships nyx-refrain-0.9.5-1.x86_64.rpm (4 downloads)","ref":"nyx-refrain-0.9.5-1.x86_64.rpm","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-1.x86_64.rpm","weight":0.0},{"kind":"binary-release-asset","description":"release v0.9.5 ships nyx-refrain-0.9.5-windows-arm64-setup.exe (5 downloads)","ref":"nyx-refrain-0.9.5-windows-arm64-setup.exe","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-windows-arm64-setup.exe","weight":0.0},{"kind":"binary-release-asset","description":"release v0.9.5 ships nyx-refrain-0.9.5-windows-x86_64-setup.exe (51 downloads)","ref":"nyx-refrain-0.9.5-windows-x86_64-setup.exe","url":"https://github.com/pStrikeZ/Nyx-Refrain/releases/download/v0.9.5/nyx-refrain-0.9.5-windows-x86_64-setup.exe","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":1057.0,"function_nloc":22007.0,"mean_ccn":3.67,"p90_ccn":8.0,"complex_functions":36.0,"long_functions":30.0,"many_param_functions":2.0,"risky_nloc_share":0.3223},"findings":[],"evidence":[{"kind":"complex-function","description":"t in apps/nyx-refrain/src/i18n.rs: complexity 121, 155 lines","ref":"apps/nyx-refrain/src/i18n.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/i18n.rs#L146","weight":1.0},{"kind":"complex-function","description":"run in apps/nyx-refrain/src/engine.rs: complexity 106, 523 lines","ref":"apps/nyx-refrain/src/engine.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/engine.rs#L698","weight":1.0},{"kind":"complex-function","description":"start in crates/raop/src/ap2/session.rs: complexity 71, 455 lines","ref":"crates/raop/src/ap2/session.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/raop/src/ap2/session.rs#L557","weight":1.0},{"kind":"complex-function","description":"handle_message in crates/pwnative/src/client_node.rs: complexity 70, 253 lines","ref":"crates/pwnative/src/client_node.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/pwnative/src/client_node.rs#L426","weight":1.0},{"kind":"complex-function","description":"create in crates/pwnative/src/lib.rs: complexity 69, 251 lines","ref":"crates/pwnative/src/lib.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/pwnative/src/lib.rs#L221","weight":1.0},{"kind":"complex-function","description":"main in apps/nyxr/src/main.rs: complexity 62, 370 lines","ref":"apps/nyxr/src/main.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyxr/src/main.rs#L526","weight":1.0},{"kind":"complex-function","description":"ui in apps/nyx-refrain/src/ui_windows.rs: complexity 56, 334 lines","ref":"apps/nyx-refrain/src/ui_windows.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/ui_windows.rs#L477","weight":0.9333333333333333},{"kind":"complex-function","description":"next in crates/pwnative/src/pod.rs: complexity 55, 261 lines","ref":"crates/pwnative/src/pod.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/pwnative/src/pod.rs#L619","weight":0.9166666666666666},{"kind":"complex-function","description":"handle_core_message in crates/pwnative/src/core.rs: complexity 39, 139 lines","ref":"crates/pwnative/src/core.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/pwnative/src/core.rs#L320","weight":0.65},{"kind":"complex-function","description":"write_value in crates/pwnative/src/pod.rs: complexity 34, 86 lines","ref":"crates/pwnative/src/pod.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/pwnative/src/pod.rs#L451","weight":0.5666666666666667}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":23210.0,"duplicated_lines":819.0,"duplicated_share":0.0353,"files":103.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/engine.rs:808 and apps/nyx-refrain/src/engine.rs:884","ref":"apps/nyx-refrain/src/engine.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/engine.rs#L808","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/engine.rs:1245 and apps/nyxr/src/ap2run.rs:329","ref":"apps/nyx-refrain/src/engine.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/engine.rs#L1245","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/position.rs:180 and apps/nyx-refrain/src/position.rs:229","ref":"apps/nyx-refrain/src/position.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/position.rs#L180","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/tray_menu.rs:130 and apps/nyx-refrain/src/ui_windows.rs:1191","ref":"apps/nyx-refrain/src/tray_menu.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/tray_menu.rs#L130","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/tray_menu.rs:457 and apps/nyx-refrain/src/tray_menu.rs:524","ref":"apps/nyx-refrain/src/tray_menu.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/tray_menu.rs#L457","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/ui_linux.rs:81 and apps/nyx-refrain/src/ui_windows.rs:1183","ref":"apps/nyx-refrain/src/ui_linux.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/ui_linux.rs#L81","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyx-refrain/src/ui_linux.rs:191 and apps/nyx-refrain/src/ui_linux.rs:215","ref":"apps/nyx-refrain/src/ui_linux.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyx-refrain/src/ui_linux.rs#L191","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyxr/src/config.rs:94 and crates/discovery/src/cache.rs:39","ref":"apps/nyxr/src/config.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyxr/src/config.rs#L94","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: apps/nyxr/src/main.rs:114 and apps/nyxr/src/main.rs:237","ref":"apps/nyxr/src/main.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/apps/nyxr/src/main.rs#L114","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/capture/src/pipewire.rs:37 and crates/pwnative/src/lib.rs:73","ref":"crates/capture/src/pipewire.rs","url":"https://github.com/pStrikeZ/Nyx-Refrain/blob/c31fbd8d504ad571fe55b69be3b8761e82ce8a87/crates/capture/src/pipewire.rs#L37","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":32051.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0959,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":0.0952,"test_lines":1539.0,"source_lines":32089.0,"test_ratio":0.048,"ci_files":2.0,"cochange_share":0.0238,"cochange_commits":42.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (go test, cargo test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (clippy, rustfmt, cargo fmt)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["go test","cargo test"],"lint_commands":["clippy","rustfmt","cargo fmt"]},"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":146.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":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":1766.0,"other_lines":30323.0,"files_blamed":103.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":12.0,"security:ai_per_kloc":6.795,"security:other_findings":177.0,"security:other_per_kloc":5.837,"security:ratio":1.16},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}