{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T15:05:19.649822Z","repo":{"ref":{"host":"github.com","owner":"quer3q","name":"kraken-mount"},"default_branch":"main","clone_url":"https://github.com/quer3q/kraken-mount.git","html_url":"https://github.com/quer3q/kraken-mount","description":"Minimalist PS5 game mounter supporting PKG, folder dumps, lz4, and zstd","stars":307,"forks":25,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":1538,"primary_language":"Rust","license_spdx":"GPL-3.0","created_at":"2026-11-13T07:25:37Z","pushed_at":"2026-11-13T14:29:09Z","security_policy_url":null,"distribution":{"owner_created_at":"2020-04-15T13:54:41Z","owner_type":"User","release_assets":[{"name":"kraken-mount.elf","size":4327528,"download_count":8194,"release_tag":"v0.0.1-beta","url":"https://github.com/quer3q/kraken-mount/releases/download/v0.0.1-beta/kraken-mount.elf"},{"name":"SHA256SUMS","size":83,"download_count":394,"release_tag":"v0.0.1-beta","url":"https://github.com/quer3q/kraken-mount/releases/download/v0.0.1-beta/SHA256SUMS"}]}},"commit_sha":"4b420d579bd381796d773875e36d14c9acaabf39","profile":{"lines_by_language":{"Rust":7079,"C":480,"Shell":65,"Python":14},"files_by_category":{"source":34,"config":6,"other":5,"docs":4,"binary":3,"vendored":3,"generated":1},"source_lines":7638,"test_lines":0},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.41,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.0,"estimated_share":0.0,"ai_artifacts":1.0,"flagged_work_units":0.0,"flagged_releases":null,"style_index":0.0},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":62.0,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":44.0,"duplication":98.3,"lint":100.0,"testing":35.0,"docs":65.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, CI runs tests; 27% of function code in complex or long functions; 0% duplicated lines. Weakest area: testing."},"security":{"score":65.7,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":51.5,"dependencies":100.0,"ci_actions":25.7,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 8 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":2.0,"checked":2.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":4.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":7639.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2026-11":{"loc":7639,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1794562124.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/AGENTS.md","weight":0.5}],"data":{"artifacts":[{"tool":"generic-agent","path":"AGENTS.md","added_at":1794562124}],"workflows":[],"tools":["generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":1.0,"flagged_units":0.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":56.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":14.0,"median_loc_per_hour":0.0,"pr_timed_units":0.0,"excluded_import_loc":7583.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":["b186ab84b1a7ccd0ba513b9838f31d70fb37234b"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":7638.0,"index":0.0,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":58.0,"findings_high":0.0,"findings_medium":2.0,"findings_low":56.0,"weighted_findings":14.5,"scanned_lines":7638.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"ps5/compat.c","line":51,"fingerprint":"c.lang.security.insecure-use-memset:ps5/compat.c:51"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"ps5/shim/terminal.c","line":44,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:ps5/shim/terminal.c:44"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/huff.rs","line":58,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/huff.rs:58"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":43,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:43"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":534,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:534"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":546,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:546"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":565,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:565"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":584,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:584"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":625,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:625"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":638,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.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/kraken-mount-pkg/src/decoder/lz.rs","line":645,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:645"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/lz.rs","line":751,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/lz.rs:751"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/mod.rs","line":89,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/mod.rs:89"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/timing.rs","line":27,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/timing.rs:27"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/kraken-mount-pkg/src/decoder/timing.rs","line":34,"fingerprint":"rust.lang.security.unsafe-usage:crates/kraken-mount-pkg/src/decoder/timing.rs:34"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":47,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:47"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":77,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:77"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":78,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:78"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":97,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:97"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":102,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:102"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":111,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:111"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":132,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:132"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":138,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:138"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":163,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:163"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":164,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:164"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":471,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:471"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":476,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:476"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":485,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:485"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":492,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:492"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":511,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:511"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":528,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:528"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":543,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:543"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/launch.rs","line":558,"fingerprint":"rust.lang.security.unsafe-usage:src/launch.rs:558"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":120,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:120"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":121,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:121"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":124,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:124"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":125,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:125"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":129,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:129"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":243,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:243"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":247,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:247"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":253,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:253"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":255,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:255"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":259,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:259"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":271,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:271"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":273,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:273"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":287,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:287"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":300,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:300"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":305,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:305"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":311,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:311"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":324,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:324"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/register.rs","line":331,"fingerprint":"rust.lang.security.unsafe-usage:src/register.rs:331"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/storage.rs","line":19,"fingerprint":"rust.lang.security.unsafe-usage:src/storage.rs:19"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/storage.rs","line":20,"fingerprint":"rust.lang.security.unsafe-usage:src/storage.rs:20"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/sys.rs","line":60,"fingerprint":"rust.lang.security.unsafe-usage:src/sys.rs:60"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/sys.rs","line":85,"fingerprint":"rust.lang.security.unsafe-usage:src/sys.rs:85"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/sys.rs","line":94,"fingerprint":"rust.lang.security.unsafe-usage:src/sys.rs:94"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/sys.rs","line":200,"fingerprint":"rust.lang.security.unsafe-usage:src/sys.rs:200"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src/sys.rs","line":208,"fingerprint":"rust.lang.security.unsafe-usage:src/sys.rs:208"}],"evidence":[],"data":{"rulesets":["rust","c","bash","python","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":0.0,"vulnerabilities":0.0,"vulns_critical":0.0,"vulns_high":0.0,"vulns_medium":0.0,"vulns_low":0.0,"vulns_unknown":0.0,"penalty":0.0},"findings":[],"evidence":[],"data":{"ecosystems":["crates.io"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":10.0,"findings_high":8.0,"findings_medium":2.0,"findings_low":0.0,"penalty":81.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":28,"fingerprint":"unpinned-uses:.github/workflows/build.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":31,"fingerprint":"unpinned-uses:.github/workflows/build.yml:31"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":51,"fingerprint":"unpinned-uses:.github/workflows/build.yml:51"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":52,"fingerprint":"unpinned-uses:.github/workflows/build.yml:52"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":65,"fingerprint":"unpinned-uses:.github/workflows/build.yml:65"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":81,"fingerprint":"unpinned-uses:.github/workflows/build.yml:81"},{"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":31,"fingerprint":"cache-poisoning:.github/workflows/build.yml:31"},{"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":52,"fingerprint":"cache-poisoning:.github/workflows/build.yml:52"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":28,"fingerprint":"artipacked:.github/workflows/build.yml:28"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":51,"fingerprint":"artipacked:.github/workflows/build.yml:51"}],"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.25,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"crates/kraken-mount-pkg/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/kraken-mount-pkg/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":0.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"star-burst","description":"307 stars in 1 days (233/day)","ref":null,"url":null,"weight":0.0}],"data":{"signals":["star-burst"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":345.0,"function_nloc":5298.0,"mean_ccn":5.06,"p90_ccn":12.0,"complex_functions":23.0,"long_functions":4.0,"many_param_functions":1.0,"risky_nloc_share":0.2735},"findings":[],"evidence":[{"kind":"complex-function","description":"open in crates/kraken-mount-pkg/src/kraken.rs: complexity 44, 110 lines","ref":"crates/kraken-mount-pkg/src/kraken.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/crates/kraken-mount-pkg/src/kraken.rs#L118","weight":0.7333333333333333},{"kind":"complex-function","description":"walk in crates/kraken-mount-pkg/src/tree.rs: complexity 37, 119 lines","ref":"crates/kraken-mount-pkg/src/tree.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/crates/kraken-mount-pkg/src/tree.rs#L60","weight":0.6166666666666667},{"kind":"complex-function","description":"commands in crates/kraken-mount-pkg/src/decoder/lz.rs: complexity 35, 116 lines","ref":"crates/kraken-mount-pkg/src/decoder/lz.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/crates/kraken-mount-pkg/src/decoder/lz.rs#L500","weight":0.5833333333333334},{"kind":"complex-function","description":"route in src/web.rs: complexity 34, 61 lines","ref":"src/web.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/src/web.rs#L269","weight":0.5666666666666667},{"kind":"complex-function","description":"__wrap_fcntl in ps5/shim/fd-compat.c: complexity 28, 42 lines","ref":"ps5/shim/fd-compat.c","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/ps5/shim/fd-compat.c#L26","weight":0.4666666666666667},{"kind":"complex-function","description":"build_inner in src/cache.rs: complexity 26, 59 lines","ref":"src/cache.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/src/cache.rs#L544","weight":0.43333333333333335},{"kind":"complex-function","description":"scan in src/scan.rs: complexity 26, 89 lines","ref":"src/scan.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/src/scan.rs#L142","weight":0.43333333333333335},{"kind":"complex-function","description":"set in src/config.rs: complexity 25, 32 lines","ref":"src/config.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/src/config.rs#L70","weight":0.4166666666666667},{"kind":"complex-function","description":"decode_half in crates/kraken-mount-pkg/src/decoder/lz.rs: complexity 23, 105 lines","ref":"crates/kraken-mount-pkg/src/decoder/lz.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/crates/kraken-mount-pkg/src/decoder/lz.rs#L655","weight":0.38333333333333336},{"kind":"complex-function","description":"plan in src/ampr_index.rs: complexity 23, 45 lines","ref":"src/ampr_index.rs","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/src/ampr_index.rs#L196","weight":0.38333333333333336}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":5645.0,"duplicated_lines":16.0,"duplicated_share":0.0028,"files":34.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: ps5/shim/getpeereid.c:5 and ps5/shim/lockf.c:9","ref":"ps5/shim/getpeereid.c","url":"https://github.com/quer3q/kraken-mount/blob/4b420d579bd381796d773875e36d14c9acaabf39/ps5/shim/getpeereid.c#L5","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":7638.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":7638.0,"test_ratio":0.0,"ci_files":1.0,"cochange_share":0.0,"cochange_commits":2.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 runs tests (go test, cargo test)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["go test","cargo test"],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":27.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}],"flags":[]}