{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:47:58.430505Z","repo":{"ref":{"host":"github.com","owner":"LeZergan","name":"mcsm-vita"},"default_branch":"main","clone_url":"https://github.com/LeZergan/mcsm-vita.git","html_url":"https://github.com/LeZergan/mcsm-vita","description":"Minecraft: Story Mode PS Vita loader — public prerelease with an easy Windows data builder.","stars":17,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":3640,"primary_language":"C","license_spdx":"GPL-3.0","created_at":"2026-07-20T21:36:36Z","pushed_at":"2026-08-12T11:38:28Z","security_policy_url":null,"distribution":{"owner_created_at":"2023-03-26T21:01:41Z","owner_type":"User","release_assets":[{"name":"MCSM-1.11-logging.vpk","size":3522042,"download_count":191,"release_tag":"v1.11","url":"https://github.com/LeZergan/mcsm-vita/releases/download/v1.11/MCSM-1.11-logging.vpk"},{"name":"MCSM-1.11.vpk","size":3441189,"download_count":280,"release_tag":"v1.11","url":"https://github.com/LeZergan/mcsm-vita/releases/download/v1.11/MCSM-1.11.vpk"},{"name":"MCSM-Vita-Data-Builder-v1.9.exe","size":73990237,"download_count":363,"release_tag":"v1.11","url":"https://github.com/LeZergan/mcsm-vita/releases/download/v1.11/MCSM-Vita-Data-Builder-v1.9.exe"}]}},"commit_sha":"627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82","profile":{"lines_by_language":{"C":31616,"C#":6220,"C++":353,"PowerShell":292,"Shell":3},"files_by_category":{"source":76,"vendored":35,"other":12,"docs":11,"binary":7,"config":6,"test":1},"source_lines":37887,"test_lines":597},"pillars":{"ai_provenance":{"score":51.6,"confidence":0.91,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.5162,"suspected_share":0.0927,"estimated_share":0.5162,"ai_artifacts":0.0,"flagged_work_units":3.0,"flagged_releases":null},"summary":"Explicit AI attribution on 52% of first-party code added; an estimated 52% including velocity signals."},"quality":{"score":58.5,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":51.7,"duplication":85.6,"lint":88.6,"testing":27.2,"docs":65.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.02, no CI test run detected; 22% of function code in complex or long functions; 3% duplicated lines. Weakest area: testing."},"security":{"score":78.9,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":92.0,"dependencies":null,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: no high-impact findings. 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":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":85.0,"attributed_commits":45.0,"attributed_commit_share":0.5294117647058824,"effective_loc":85406.0,"attributed_loc":44088.0,"attributed_loc_share":0.5162166592511065,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 45 attributed commits, 44,088 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82","url":"https://github.com/LeZergan/mcsm-vita/commit/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4c308d790b89956bb7428f77495653ff18522f5f","url":"https://github.com/LeZergan/mcsm-vita/commit/4c308d790b89956bb7428f77495653ff18522f5f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5787d610f76bbf35a516d6e085d6b118a8cbf5ca","url":"https://github.com/LeZergan/mcsm-vita/commit/5787d610f76bbf35a516d6e085d6b118a8cbf5ca","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"661f98e5cef0bf72bb700874749d688844655283","url":"https://github.com/LeZergan/mcsm-vita/commit/661f98e5cef0bf72bb700874749d688844655283","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a3da373165522ba8089fbb2844c0c722fbb937a5","url":"https://github.com/LeZergan/mcsm-vita/commit/a3da373165522ba8089fbb2844c0c722fbb937a5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c72093df0d0dbbbf38a1b78bd5b6dc8a242b5a5a","url":"https://github.com/LeZergan/mcsm-vita/commit/c72093df0d0dbbbf38a1b78bd5b6dc8a242b5a5a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"fe1a967c7d0b46c7a6b2f1d9ad787b284910508b","url":"https://github.com/LeZergan/mcsm-vita/commit/fe1a967c7d0b46c7a6b2f1d9ad787b284910508b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6a9f2468b547ab4f5e6329cf944660bf203234df","url":"https://github.com/LeZergan/mcsm-vita/commit/6a9f2468b547ab4f5e6329cf944660bf203234df","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c6c6c9f8ed81c0703c87307514d3fc4eb63827a1","url":"https://github.com/LeZergan/mcsm-vita/commit/c6c6c9f8ed81c0703c87307514d3fc4eb63827a1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"556c409e8e570c49b3d4d84aef32a33755a578d9","url":"https://github.com/LeZergan/mcsm-vita/commit/556c409e8e570c49b3d4d84aef32a33755a578d9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b9168441be46ec7261864d0d0c8e1a8fcee6cdf5","url":"https://github.com/LeZergan/mcsm-vita/commit/b9168441be46ec7261864d0d0c8e1a8fcee6cdf5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c100efa2f2bf00cd7481d5e79bf0f56e21315576","url":"https://github.com/LeZergan/mcsm-vita/commit/c100efa2f2bf00cd7481d5e79bf0f56e21315576","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"da9d4717b792ba36f4a838a717e8579b000a872b","url":"https://github.com/LeZergan/mcsm-vita/commit/da9d4717b792ba36f4a838a717e8579b000a872b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c09693d566b9e6c560e25d6b51c2aab86b42ff9e","url":"https://github.com/LeZergan/mcsm-vita/commit/c09693d566b9e6c560e25d6b51c2aab86b42ff9e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"479e69d73ec3f5d3619fadabc3aa7b52204eb0f9","url":"https://github.com/LeZergan/mcsm-vita/commit/479e69d73ec3f5d3619fadabc3aa7b52204eb0f9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"57c8674ca7d863a98e6a35e7ddf63b9f4ac841af","url":"https://github.com/LeZergan/mcsm-vita/commit/57c8674ca7d863a98e6a35e7ddf63b9f4ac841af","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b09f54289671d8a9943951359f731740a466b0a1","url":"https://github.com/LeZergan/mcsm-vita/commit/b09f54289671d8a9943951359f731740a466b0a1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"51fb55008a54ac76326550cf425e478994aec93e","url":"https://github.com/LeZergan/mcsm-vita/commit/51fb55008a54ac76326550cf425e478994aec93e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"587dd1c7bb14934ccc5337cf7d4a85c3fb7378f6","url":"https://github.com/LeZergan/mcsm-vita/commit/587dd1c7bb14934ccc5337cf7d4a85c3fb7378f6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0c532af33c91bc9ce95f9533a8054b6131e5fe4c","url":"https://github.com/LeZergan/mcsm-vita/commit/0c532af33c91bc9ce95f9533a8054b6131e5fe4c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"1d62c94a31bcb2dbb24224989cc482ce8ab7c879","url":"https://github.com/LeZergan/mcsm-vita/commit/1d62c94a31bcb2dbb24224989cc482ce8ab7c879","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8d7dff338c9fe61fec8fb81fc1cf8e6e83a01b2d","url":"https://github.com/LeZergan/mcsm-vita/commit/8d7dff338c9fe61fec8fb81fc1cf8e6e83a01b2d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"eb404321acae1500c0d65c10e77a78f8d8c0e0e9","url":"https://github.com/LeZergan/mcsm-vita/commit/eb404321acae1500c0d65c10e77a78f8d8c0e0e9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"03b6c7cc1102c5a1e9af6a36c280172443f098d1","url":"https://github.com/LeZergan/mcsm-vita/commit/03b6c7cc1102c5a1e9af6a36c280172443f098d1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"533006f14f50c95fcc31d8dc7c107576edfb251a","url":"https://github.com/LeZergan/mcsm-vita/commit/533006f14f50c95fcc31d8dc7c107576edfb251a","weight":0.9}],"data":{"attributed_loc_by_commit":{"fc96a80acfb4fb6929721af2e60a2ee5256623ea":34681,"6ca020d05f579c5658804e97d87e1c9515a3ef81":0,"64724cd534e55421161341aa979c51e97ea9806d":160,"32979c836c387604723668e242274ed3549a34e6":350,"aa239f0e9c00e80319686a731ecff6e28a99b8ce":143,"c7d6e3b87c2eca4ce5f951f289c533e2eb75e1aa":209,"685ecd8389b40750ee2b9b7ff14132d26d06b950":88,"983fe39a5cd2766d91372093f9c13c7a74fe48e4":73,"006f855d5ba646937eaf145cf50033ff0ba1f0a5":77,"1ae58e387964bf9e252bb47deb111255c8bc53dc":36,"ec7ef54185440be4a4f1f68d1fc7eb259b74f1f2":4165,"d1642fec710e53826abf9f214a97a5feb5a23f6d":0,"fdf3dc18b4560cf8751be04be37e39f387806dc3":0,"dabf8f71c3f938e436e139bcfee2fa5f1c494640":997,"47e0eca84db1e26d3a3c1b001410b95b382c146b":0,"0dfd9c2883904372efaf489ff8830767b84bf365":184,"cd2e094f27fd16b375efbdc3ba3428c3116d97e7":303,"dafe16ec1b82f98bf66152961d57039accd42f5f":60,"e2f16f9505afbfe75215c8f750eb2a64d290f978":92,"711cacfe8138fa4ebcb763438c5e562c13581db9":75,"533006f14f50c95fcc31d8dc7c107576edfb251a":25,"03b6c7cc1102c5a1e9af6a36c280172443f098d1":26,"eb404321acae1500c0d65c10e77a78f8d8c0e0e9":38,"8d7dff338c9fe61fec8fb81fc1cf8e6e83a01b2d":82,"1d62c94a31bcb2dbb24224989cc482ce8ab7c879":38,"0c532af33c91bc9ce95f9533a8054b6131e5fe4c":98,"587dd1c7bb14934ccc5337cf7d4a85c3fb7378f6":66,"51fb55008a54ac76326550cf425e478994aec93e":35,"b09f54289671d8a9943951359f731740a466b0a1":30,"57c8674ca7d863a98e6a35e7ddf63b9f4ac841af":70,"479e69d73ec3f5d3619fadabc3aa7b52204eb0f9":15,"c09693d566b9e6c560e25d6b51c2aab86b42ff9e":12,"da9d4717b792ba36f4a838a717e8579b000a872b":27,"c100efa2f2bf00cd7481d5e79bf0f56e21315576":74,"b9168441be46ec7261864d0d0c8e1a8fcee6cdf5":23,"556c409e8e570c49b3d4d84aef32a33755a578d9":11,"c6c6c9f8ed81c0703c87307514d3fc4eb63827a1":38,"6a9f2468b547ab4f5e6329cf944660bf203234df":0,"fe1a967c7d0b46c7a6b2f1d9ad787b284910508b":0,"c72093df0d0dbbbf38a1b78bd5b6dc8a242b5a5a":0,"a3da373165522ba8089fbb2844c0c722fbb937a5":0,"661f98e5cef0bf72bb700874749d688844655283":0,"5787d610f76bbf35a516d6e085d6b118a8cbf5ca":0,"4c308d790b89956bb7428f77495653ff18522f5f":1687,"627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82":0},"tools":{"claude-code":{"name":"Claude Code","commits":45,"loc":44088,"first_seen":1784589788,"last_seen":1786531904}},"monthly":{"2026-07":{"loc":41126,"attributed_loc":39982},"2026-08":{"loc":44280,"attributed_loc":4106}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":24.0,"flagged_units":3.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":20336.0,"flagged_loc":12079.0,"flagged_loc_share":0.59397128245476,"max_loc_per_hour":1190.953785644051,"median_loc_per_hour":125.99659928207066,"pr_timed_units":0.0,"excluded_import_loc":25149.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"6,056 lines of first-party code in ~5.1h (1,191 lines/hour, 4 commit session)","ref":"41941f761f01fd7026ba1c079f48530f00755969","url":"https://github.com/LeZergan/mcsm-vita/commit/41941f761f01fd7026ba1c079f48530f00755969","weight":0.3572861356932153},{"kind":"velocity-burst","description":"4,158 lines of first-party code in ~4.0h (1,040 lines/hour, 1 commit session)","ref":"ec7ef54185440be4a4f1f68d1fc7eb259b74f1f2","url":"https://github.com/LeZergan/mcsm-vita/commit/ec7ef54185440be4a4f1f68d1fc7eb259b74f1f2","weight":0.31185},{"kind":"velocity-burst","description":"1,865 lines of first-party code in ~2.6h (721 lines/hour, 3 commit session)","ref":"94c276d9d87cea2fc0cb0976a9a03aaacbc00efb","url":"https://github.com/LeZergan/mcsm-vita/commit/94c276d9d87cea2fc0cb0976a9a03aaacbc00efb","weight":0.2161622665808113}],"data":{"flagged_loc_by_commit":{"ec7ef54185440be4a4f1f68d1fc7eb259b74f1f2":4158,"45cea36494bc993a778dcb6d070c34b5d56cd51d":4224,"a208a555ebdb2d36ce0ccf4974c10d2b837c4e94":1088,"579b51920046f8b739f59f9559b33203042a6ba8":556,"41941f761f01fd7026ba1c079f48530f00755969":188,"640bc1a73d5ba559f0a69d6a6a72ee5521896c81":708,"6967735457753fcfbc8ed0ebd1edd9b8b0f926a2":750,"94c276d9d87cea2fc0cb0976a9a03aaacbc00efb":407},"excluded_import_commits":["fc96a80acfb4fb6929721af2e60a2ee5256623ea"]},"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":29743.0,"index":0.034,"count:narrated_steps":1.0,"per_kloc:narrated_steps":0.034,"files:narrated_steps":1.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":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* FIRST, ahead of every writer. Both loggers share DATA_PATH \"loader.log\", so","ref":"source/main.c:933","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/main.c#L933","weight":0.0}],"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":36.0,"findings_high":0.0,"findings_medium":36.0,"findings_low":0.0,"weighted_findings":9.0,"scanned_lines":37595.0,"parse_errors":15.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":"lib/sha1/sha1.c","line":125,"fingerprint":"c.lang.security.insecure-use-memset:lib/sha1/sha1.c:125"},{"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":"source/java.c","line":365,"fingerprint":"c.lang.security.insecure-use-memset:source/java.c:365"},{"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":"source/java.c","line":763,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/java.c:763"},{"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":"source/java.c","line":767,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/java.c:767"},{"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":"source/patch.c","line":5553,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/patch.c:5553"},{"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":"source/reimpl/bits/_struct_converters.c","line":68,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/reimpl/bits/_struct_converters.c:68"},{"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":"source/reimpl/egl.c","line":87,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/egl.c:87"},{"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":"source/reimpl/fmod_output_vita.c","line":308,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/reimpl/fmod_output_vita.c:308"},{"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":"source/reimpl/fmod_output_vita.c","line":402,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/fmod_output_vita.c:402"},{"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":"source/reimpl/io.c","line":967,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/io.c:967"},{"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":"source/reimpl/mem.c","line":376,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/mem.c:376"},{"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":"source/reimpl/mem.c","line":379,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/mem.c:379"},{"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":"source/reimpl/sys.c","line":136,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/sys.c:136"},{"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":"source/reimpl/sys.c","line":146,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/reimpl/sys.c:146"},{"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":"source/reimpl/sys.c","line":507,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/sys.c:507"},{"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":"source/reimpl/sys.c","line":517,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/sys.c:517"},{"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":"source/reimpl/time64.c","line":364,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/time64.c:364"},{"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":"source/reimpl/time64.c","line":396,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/time64.c:396"},{"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":"source/reimpl/time64.c","line":433,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/time64.c:433"},{"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":"source/reimpl/time64.c","line":451,"fingerprint":"c.lang.security.insecure-use-memset:source/reimpl/time64.c:451"},{"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":"source/utils/dialog.c","line":108,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/dialog.c:108"},{"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":"source/utils/dialog.c","line":142,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/dialog.c:142"},{"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":"source/utils/dialog.c","line":259,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/dialog.c:259"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"source/utils/glutil.c","line":256,"fingerprint":"c.lang.security.insecure-use-strcat-fn:source/utils/glutil.c:256"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"source/utils/glutil.c","line":259,"fingerprint":"c.lang.security.insecure-use-strcat-fn:source/utils/glutil.c:259"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"source/utils/glutil.c","line":262,"fingerprint":"c.lang.security.insecure-use-strcat-fn:source/utils/glutil.c:262"},{"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":"source/utils/glutil.c","line":304,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/glutil.c:304"},{"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":"source/utils/glutil.c","line":741,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/glutil.c:741"},{"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":"source/utils/glutil.c","line":2877,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/glutil.c:2877"},{"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":"source/utils/glutil.c","line":3129,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/glutil.c:3129"},{"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":"source/utils/glutil.c","line":4989,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/utils/glutil.c:4989"},{"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":"source/utils/glutil.c","line":5025,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/utils/glutil.c:5025"},{"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":"source/utils/trophies.c","line":607,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:source/utils/trophies.c:607"},{"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":"source/utils/utils.c","line":44,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/utils.c:44"},{"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":"source/utils/utils.c","line":510,"fingerprint":"c.lang.security.insecure-use-memset:source/utils/utils.c:510"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"source/utils/utils.c","line":515,"fingerprint":"c.lang.security.insecure-use-strcat-fn:source/utils/utils.c:515"}],"evidence":[],"data":{"rulesets":["c","csharp","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":1.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v1.11 ships MCSM-Vita-Data-Builder-v1.9.exe (363 downloads)","ref":"MCSM-Vita-Data-Builder-v1.9.exe","url":"https://github.com/LeZergan/mcsm-vita/releases/download/v1.11/MCSM-Vita-Data-Builder-v1.9.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":1223.0,"function_nloc":21275.0,"mean_ccn":4.98,"p90_ccn":11.0,"complex_functions":54.0,"long_functions":11.0,"many_param_functions":11.0,"risky_nloc_share":0.2201},"findings":[],"evidence":[{"kind":"complex-function","description":"load_cfg in source/utils/config.c: complexity 220, 227 lines","ref":"source/utils/config.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/utils/config.c#L315","weight":1.0},{"kind":"complex-function","description":"glTexImage2D_soloader in source/utils/glutil.c: complexity 70, 206 lines","ref":"source/utils/glutil.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/utils/glutil.c#L3412","weight":1.0},{"kind":"complex-function","description":"gl_swap in source/utils/glutil.c: complexity 54, 147 lines","ref":"source/utils/glutil.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/utils/glutil.c#L1512","weight":0.9},{"kind":"complex-function","description":"watchdog_thread in source/main.c: complexity 43, 135 lines","ref":"source/main.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/main.c#L269","weight":0.7166666666666667},{"kind":"complex-function","description":"load_game in source/utils/config.c: complexity 41, 59 lines","ref":"source/utils/config.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/utils/config.c#L656","weight":0.6833333333333333},{"kind":"complex-function","description":"eglGetConfigAttrib in source/reimpl/egl.c: complexity 33, 137 lines","ref":"source/reimpl/egl.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/reimpl/egl.c#L379","weight":0.55},{"kind":"complex-function","description":"controls_handler_key in source/main.c: complexity 29, 100 lines","ref":"source/main.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/main.c#L1940","weight":0.48333333333333334},{"kind":"complex-function","description":"out_init in source/reimpl/fmod_output_vita.c: complexity 29, 77 lines","ref":"source/reimpl/fmod_output_vita.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/reimpl/fmod_output_vita.c#L315","weight":0.48333333333333334},{"kind":"complex-function","description":"glTexSubImage2D_soloader in source/utils/glutil.c: complexity 29, 93 lines","ref":"source/utils/glutil.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/utils/glutil.c#L3761","weight":0.48333333333333334},{"kind":"complex-function","description":"DataBuilderService::BuildAsync in data-builder/DataBuilderService.cs: complexity 27, 253 lines","ref":"data-builder/DataBuilderService.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/DataBuilderService.cs#L68","weight":0.45}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":29149.0,"duplicated_lines":759.0,"duplicated_share":0.026,"files":76.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/BuilderModels.cs:28 and data-builder/BuilderModels.cs:160","ref":"data-builder/BuilderModels.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/BuilderModels.cs#L28","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/CustomProfileDialog.cs:5 and data-builder/MainForm.cs:8","ref":"data-builder/CustomProfileDialog.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/CustomProfileDialog.cs#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/CustomProfileDialog.cs:58 and data-builder/ExtrasDialog.cs:41","ref":"data-builder/CustomProfileDialog.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/CustomProfileDialog.cs#L58","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/DataBuilderService.cs:249 and data-builder/DataBuilderService.cs:256","ref":"data-builder/DataBuilderService.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/DataBuilderService.cs#L249","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/DataBuilderService.cs:1711 and data-builder/MainForm.cs:1522","ref":"data-builder/DataBuilderService.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/DataBuilderService.cs#L1711","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/ExtrasDialog.cs:216 and data-builder/MainForm.cs:1032","ref":"data-builder/ExtrasDialog.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/ExtrasDialog.cs#L216","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: data-builder/MainForm.cs:854 and data-builder/MainForm.cs:871","ref":"data-builder/MainForm.cs","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/data-builder/MainForm.cs#L854","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: source/main.c:1950 and source/main.c:2118","ref":"source/main.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/main.c#L1950","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: source/patch.c:1116 and source/patch.c:1127","ref":"source/patch.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/patch.c#L1116","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: source/patch.c:3184 and source/utils/glutil.c:1934","ref":"source/patch.c","url":"https://github.com/LeZergan/mcsm-vita/blob/627e16893f4a857dd6f6f93d9dbc04f4b8a2dc82/source/patch.c#L3184","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":19.0,"weighted_findings":18.25,"scanned_lines":37595.0,"category:correctness":19.0},"findings":[{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":512,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:512"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":519,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:519"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":523,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:523"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":526,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:526"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":527,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:527"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":528,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:528"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":529,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:529"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":532,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:532"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":540,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:540"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":541,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:541"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":542,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:542"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":548,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:548"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":558,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:558"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":559,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:559"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":560,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:560"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":561,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:561"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":596,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:596"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"source/utils/config.c","line":683,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:source/utils/config.c:683"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"extras/scripts/get_dump.sh","line":3,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:extras/scripts/get_dump.sh:3"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0315,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.6377,"test_lines":597.0,"source_lines":37887.0,"test_ratio":0.0158,"ci_files":0.0,"cochange_share":0.1594,"cochange_commits":69.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":143.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":28870.0,"other_lines":9017.0,"files_blamed":76.0,"blame_failures":0.0,"quality:ai_findings":17.0,"quality:ai_per_kloc":0.589,"quality:other_findings":2.0,"quality:other_per_kloc":0.222,"quality:ratio":2.65,"security:ai_findings":32.0,"security:ai_per_kloc":1.108,"security:other_findings":4.0,"security:other_per_kloc":0.444,"security:ratio":2.5},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":["unreviewed-ai-risk"]}