{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:50:37.711561Z","repo":{"ref":{"host":"github.com","owner":"kimchiman52","name":"sonic-mania-mister"},"default_branch":"mister","clone_url":"https://github.com/kimchiman52/sonic-mania-mister.git","html_url":"https://github.com/kimchiman52/sonic-mania-mister","description":"Experimental port of Sonic Mania to MiSTer FPGA","stars":42,"forks":5,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":36637,"primary_language":"C","license_spdx":"NOASSERTION","created_at":"2026-04-28T14:23:12Z","pushed_at":"2026-04-30T20:37:23Z","security_policy_url":null,"distribution":{"owner_created_at":"2011-09-13T16:35:36Z","owner_type":"User","release_assets":[{"name":"sonic-mania-mister-0.3.1.zip","size":5160026,"download_count":8244,"release_tag":"0.3.1","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.1/sonic-mania-mister-0.3.1.zip"},{"name":"sonic-mania-mister-0.3.1.zip.sha256","size":95,"download_count":40,"release_tag":"0.3.1","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.1/sonic-mania-mister-0.3.1.zip.sha256"},{"name":"sonic-mania-mister-0.3.0.zip","size":5159813,"download_count":230,"release_tag":"0.3.0","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.0/sonic-mania-mister-0.3.0.zip"},{"name":"sonic-mania-mister-0.3.0.zip.sha256","size":95,"download_count":5,"release_tag":"0.3.0","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.0/sonic-mania-mister-0.3.0.zip.sha256"},{"name":"sonic-mania-mister-0.2.1.zip","size":5146439,"download_count":159,"release_tag":"0.2.1","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.2.1/sonic-mania-mister-0.2.1.zip"},{"name":"sonic-mania-mister-0.2.0.zip","size":5147448,"download_count":26,"release_tag":"0.2.0","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.2.0/sonic-mania-mister-0.2.0.zip"},{"name":"sonic-mania-mister-0.1.0.zip","size":5147387,"download_count":218,"release_tag":"0.1.0","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.1.0/sonic-mania-mister-0.1.0.zip"},{"name":"sonic-mania-mister-0.1.0.zip.sha256","size":95,"download_count":15,"release_tag":"0.1.0","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.1.0/sonic-mania-mister-0.1.0.zip.sha256"}]}},"commit_sha":"29ea029e7738db72530a51365d93448e1b10f00c","profile":{"lines_by_language":{"C":289113,"Shell":2175,"Python":400},"files_by_category":{"source":1243,"vendored":196,"docs":38,"other":28,"config":8,"oversized":1,"binary":1},"source_lines":291688,"test_lines":0},"pillars":{"ai_provenance":{"score":0.4,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.0035,"suspected_share":0.1457,"estimated_share":0.0035,"ai_artifacts":0.0,"flagged_work_units":51.0,"flagged_releases":0.0},"summary":"Explicit AI attribution on 0% of first-party code added; an estimated 0% including velocity signals."},"quality":{"score":51.4,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":53.4,"duplication":56.5,"lint":98.7,"testing":15.0,"docs":65.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 21% of function code in complex or long functions; 10% duplicated lines. Weakest area: testing."},"security":{"score":68.5,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":96.5,"dependencies":null,"ci_actions":24.2,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 6 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":"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":1231.0,"attributed_commits":79.0,"attributed_commit_share":0.06417546709991877,"effective_loc":948469.0,"attributed_loc":3351.0,"attributed_loc_share":0.0035330622297618584,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 79 attributed commits, 3,351 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"29ea029e7738db72530a51365d93448e1b10f00c","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/29ea029e7738db72530a51365d93448e1b10f00c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e109f257869cf516449ed66d9d029214282205a5","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/e109f257869cf516449ed66d9d029214282205a5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9ff9e76203a2f8338ab6a3578df70505aecbb1dd","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/9ff9e76203a2f8338ab6a3578df70505aecbb1dd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"40293c6668e959d286019158df92ccf0f1a8848e","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/40293c6668e959d286019158df92ccf0f1a8848e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"08548cb5937fa08a9cd10b7c33be3f44ecbb6157","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/08548cb5937fa08a9cd10b7c33be3f44ecbb6157","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"92933d30f13c1073e912a53077f6cfdf139016b6","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/92933d30f13c1073e912a53077f6cfdf139016b6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"84ee70b8a8883020ceb71272062fabc11d844dd8","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/84ee70b8a8883020ceb71272062fabc11d844dd8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4d8af604f3d353a9af6c6ced9ffb8803b62985cb","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/4d8af604f3d353a9af6c6ced9ffb8803b62985cb","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8bc4c637146775b0daa75494b7fc27606ac30df7","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/8bc4c637146775b0daa75494b7fc27606ac30df7","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"d3841de6fd0b19229eda403f81bc2319dc3d67d6","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/d3841de6fd0b19229eda403f81bc2319dc3d67d6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"bf1022c5e6648dfe2c51b472645b60f15d890505","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/bf1022c5e6648dfe2c51b472645b60f15d890505","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f74e83be2580dc92a56ed0714f81fc5c62b92dac","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/f74e83be2580dc92a56ed0714f81fc5c62b92dac","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"77917d12c727fc719f82e0850cde4e7c708e3d23","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/77917d12c727fc719f82e0850cde4e7c708e3d23","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2576c25db62485b0deeaaac7354975c1c204b955","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/2576c25db62485b0deeaaac7354975c1c204b955","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4954f2f9b91fcc7878a26c787736dbc3480c96a2","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/4954f2f9b91fcc7878a26c787736dbc3480c96a2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"d8b2f09a381fbfa4550bff99b533c36402b757d4","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/d8b2f09a381fbfa4550bff99b533c36402b757d4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"734649c8c2ae01e69d32b3f686220a2e2fa7c659","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/734649c8c2ae01e69d32b3f686220a2e2fa7c659","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"abeaf101fc6477866f844dd0ab9cf88c44a51f3e","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/abeaf101fc6477866f844dd0ab9cf88c44a51f3e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a1a95c5b2e05c0ef344e5ee17665b55e0cfa709e","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/a1a95c5b2e05c0ef344e5ee17665b55e0cfa709e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c1212eca92cf4872c4f7c215d2af7c74c84970e1","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/c1212eca92cf4872c4f7c215d2af7c74c84970e1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4144757714ec0a14e181ad99569c7b1a7111350d","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/4144757714ec0a14e181ad99569c7b1a7111350d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9dc4b679cfb1c215f30f9cda918ea48c7ec1ea30","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/9dc4b679cfb1c215f30f9cda918ea48c7ec1ea30","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ef647f4c2a38f10c0342fdca2bff75e3efc1d168","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/ef647f4c2a38f10c0342fdca2bff75e3efc1d168","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"047fce9d33e7517904162e0c43013b7db72fc5cb","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/047fce9d33e7517904162e0c43013b7db72fc5cb","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5796ed4b454ea6caef31dec36ceeeb25b9ac7393","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/5796ed4b454ea6caef31dec36ceeeb25b9ac7393","weight":0.9}],"data":{"attributed_loc_by_commit":{"28ae6f11838802032fea2a86297fb69eb0062186":0,"906f572365fa3f7303d2f938fc72bfcd0ee1b035":0,"a19736f0bc9294ce9855c31847f0def8c0113c5a":768,"04e19bb916421a499ad971a7b4a650c0cf3bc7e1":47,"b63806d8c5d55e7b88ffbba57313644a7a6b9052":0,"68fa1fb2aa44f73ca76cd5e5f4a59569cf0a4e38":0,"6201693729d7d369c62a2919c168bc949a8db7dd":0,"9d4f4a1e4c10b1e662f7d820c4682b7b4b6bb15a":836,"cac4068d46faea56d8d58e674a93d44218dbd5f3":0,"a7ed7bfd2acc85286ae5fede2d5c2d31ccd521f3":0,"2b559dd3c32bdb6036abc8919f881ae5a15a7dd2":0,"6f2f28c6f438374a7598ae066a704725890496ab":0,"20fa97d68db8e9d5f21c245f615cf7b125275d6d":0,"e904f1aa81fdce53749882ca9bb78a43a9095e24":0,"0fcb2d710a362b03f7188c22e031a26ee0b1ca37":0,"45eb228d4814afdac6452ead731d3a593fb3b841":0,"67ceecdc569c9c7788499d5655fcabf6ec92c9cc":0,"7565058a9f6be49ad89eb9f6a7e2da5b0b9d407a":0,"6c595b784b8480fab80d8230d9e7dc671946be4c":312,"5f0678a240a771b173aff1d83c20b8593ba0a241":13,"760a212b1451c32807d6236d57009543167fc2ed":0,"0257a006e9facd9238747a35cc5161be60235ea3":0,"7c74260689c011f2e6a63e329494fd7d8591beee":0,"9a0529f66c7722ed26547d56d795cea005a1994d":0,"a7610fb6ff84e596cb2d7aa4158f6c17cd7736bd":0,"35e25c8d5e195f923ae86c5fd55e1512390ea481":0,"185f13e4fe30c07c6b328f11d8832915d89f0dde":0,"94d43af63411f4d1a43b55ab2421abb0f664bcf8":0,"c525d06b0f914cf32f44e85c7d3663b984ab4de7":0,"25430d092562aba89602e1ac28fe0123b860bb32":0,"c7b9aed9f208887a2dfa58d8a18c184e12284193":230,"4251f0ca2da5e076b5decfb6594a0272d4d375ed":0,"516ca9bb2ccdc45fc7a7caa6578f54472db8cd48":0,"b0c5a2bddecaa5a66567dc0a8a704a0927ca060d":0,"fe4f43e32be882ab509e3069ab7bb43e5e8e3594":0,"ddfd97f1ecedcf564cb006a65316327da4967318":0,"9e5f2f2574d87d9319049d98c1339687822cfc2b":0,"d8e658b589aa22cf595d4f01f6ec0d93d2998bb8":30,"7804a4c25c5faae68bc64849b4622e9215cbbbd6":11,"774095eb8276ee4c090aba680f02a394e262b8e0":58,"92a8e76173352744a3ee8a395ec192ae7491dc06":60,"5349eab17d4c9319e323709c3313e0604e1e106a":0,"7541c0d28d2f8e0a9ce40d873f508d97c4bc77a5":7,"e6115147f740cb232c4133c5fd45dc998821553c":48,"5735e614c82df19832c06c5ffd8f5281f55c3442":8,"ea8cbb453f37f5f1c901f76ce00517cd1b8181e1":0,"199112a51173188cb9f1d39945611f784684d276":0,"26a717ba75c62ccf6a94d794b87e9bf5da6c58f0":7,"73fb47468818b47104df6f09a8b23e4a698d56aa":0,"8a79ab315ab04afa23735af1b8bc53e7fe47ea32":0,"918f9a8cae359612159fce7c0992d868f5349476":0,"3c1939d7c5a3a96fa2788153b07f1c49de6cc20f":0,"575c2c1f0381e2f2e3e6d37d54bae90e49b58e93":30,"3dcd3d1055172453761690597a0f5b783eb30eba":0,"5796ed4b454ea6caef31dec36ceeeb25b9ac7393":0,"047fce9d33e7517904162e0c43013b7db72fc5cb":22,"ef647f4c2a38f10c0342fdca2bff75e3efc1d168":0,"9dc4b679cfb1c215f30f9cda918ea48c7ec1ea30":0,"4144757714ec0a14e181ad99569c7b1a7111350d":52,"c1212eca92cf4872c4f7c215d2af7c74c84970e1":6,"a1a95c5b2e05c0ef344e5ee17665b55e0cfa709e":13,"abeaf101fc6477866f844dd0ab9cf88c44a51f3e":14,"734649c8c2ae01e69d32b3f686220a2e2fa7c659":19,"d8b2f09a381fbfa4550bff99b533c36402b757d4":0,"4954f2f9b91fcc7878a26c787736dbc3480c96a2":30,"2576c25db62485b0deeaaac7354975c1c204b955":0,"77917d12c727fc719f82e0850cde4e7c708e3d23":78,"f74e83be2580dc92a56ed0714f81fc5c62b92dac":25,"bf1022c5e6648dfe2c51b472645b60f15d890505":9,"d3841de6fd0b19229eda403f81bc2319dc3d67d6":0,"8bc4c637146775b0daa75494b7fc27606ac30df7":0,"4d8af604f3d353a9af6c6ced9ffb8803b62985cb":0,"84ee70b8a8883020ceb71272062fabc11d844dd8":90,"92933d30f13c1073e912a53077f6cfdf139016b6":118,"08548cb5937fa08a9cd10b7c33be3f44ecbb6157":410,"40293c6668e959d286019158df92ccf0f1a8848e":0,"9ff9e76203a2f8338ab6a3578df70505aecbb1dd":0,"e109f257869cf516449ed66d9d029214282205a5":0,"29ea029e7738db72530a51365d93448e1b10f00c":0},"tools":{"claude-code":{"name":"Claude Code","commits":79,"loc":3351,"first_seen":1777055365,"last_seen":1777576291}},"monthly":{"2020-02":{"loc":35858,"attributed_loc":0},"2021-01":{"loc":51347,"attributed_loc":0},"2021-02":{"loc":74388,"attributed_loc":0},"2021-03":{"loc":118364,"attributed_loc":0},"2021-04":{"loc":29603,"attributed_loc":0},"2021-05":{"loc":3119,"attributed_loc":0},"2021-06":{"loc":2089,"attributed_loc":0},"2021-07":{"loc":172024,"attributed_loc":0},"2021-08":{"loc":58472,"attributed_loc":0},"2021-09":{"loc":1002,"attributed_loc":0},"2021-10":{"loc":65699,"attributed_loc":0},"2021-11":{"loc":138561,"attributed_loc":0},"2021-12":{"loc":23906,"attributed_loc":0},"2022-01":{"loc":17248,"attributed_loc":0},"2022-02":{"loc":5545,"attributed_loc":0},"2022-03":{"loc":5952,"attributed_loc":0},"2022-04":{"loc":40864,"attributed_loc":0},"2022-05":{"loc":50126,"attributed_loc":0},"2022-06":{"loc":30070,"attributed_loc":0},"2022-07":{"loc":4085,"attributed_loc":0},"2022-08":{"loc":12062,"attributed_loc":0},"2022-09":{"loc":1422,"attributed_loc":0},"2022-10":{"loc":525,"attributed_loc":0},"2022-11":{"loc":0,"attributed_loc":0},"2022-12":{"loc":4,"attributed_loc":0},"2023-01":{"loc":28,"attributed_loc":0},"2023-03":{"loc":28,"attributed_loc":0},"2023-04":{"loc":1,"attributed_loc":0},"2023-05":{"loc":1375,"attributed_loc":0},"2023-06":{"loc":4,"attributed_loc":0},"2023-07":{"loc":101,"attributed_loc":0},"2023-08":{"loc":255,"attributed_loc":0},"2023-09":{"loc":65,"attributed_loc":0},"2023-10":{"loc":2,"attributed_loc":0},"2023-11":{"loc":35,"attributed_loc":0},"2024-01":{"loc":15,"attributed_loc":0},"2024-02":{"loc":3,"attributed_loc":0},"2024-03":{"loc":0,"attributed_loc":0},"2024-05":{"loc":11,"attributed_loc":0},"2024-06":{"loc":76,"attributed_loc":0},"2024-07":{"loc":301,"attributed_loc":0},"2024-08":{"loc":41,"attributed_loc":0},"2024-09":{"loc":0,"attributed_loc":0},"2024-11":{"loc":2,"attributed_loc":0},"2024-12":{"loc":21,"attributed_loc":0},"2025-02":{"loc":0,"attributed_loc":0},"2025-03":{"loc":212,"attributed_loc":0},"2025-04":{"loc":0,"attributed_loc":0},"2025-05":{"loc":14,"attributed_loc":0},"2025-06":{"loc":1,"attributed_loc":0},"2025-07":{"loc":1,"attributed_loc":0},"2025-08":{"loc":3,"attributed_loc":0},"2025-10":{"loc":0,"attributed_loc":0},"2025-11":{"loc":5,"attributed_loc":0},"2025-12":{"loc":0,"attributed_loc":0},"2026-01":{"loc":11,"attributed_loc":0},"2026-02":{"loc":124,"attributed_loc":0},"2026-03":{"loc":6,"attributed_loc":0},"2026-04":{"loc":3393,"attributed_loc":3351}}},"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":753.0,"flagged_units":51.0,"pre_ai_era_bursts":18.0,"pre_ai_era_measured_loc":89459.0,"pre_ai_era_burst_loc":52905.0,"measured_loc":473185.0,"flagged_loc":138210.0,"flagged_loc_share":0.29208449126662933,"max_loc_per_hour":3269.784172661871,"median_loc_per_hour":226.25,"pr_timed_units":0.0,"excluded_import_loc":475284.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"3,030 lines of first-party code in ~0.9h (3,270 lines/hour, 1 commit session)","ref":"165045b3997b31a53911fcf913bb5f7d18470965","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/165045b3997b31a53911fcf913bb5f7d18470965","weight":0.6},{"kind":"velocity-burst","description":"6,658 lines of first-party code in ~4.0h (1,664 lines/hour, 1 commit session)","ref":"b8f3f9ccf9df449f194ffa10bbf632b97668da43","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/b8f3f9ccf9df449f194ffa10bbf632b97668da43","weight":0.49935},{"kind":"velocity-burst","description":"3,476 lines of first-party code in ~2.1h (1,620 lines/hour, 2 commit session)","ref":"19369e349a9732aedc4a0fd46529b001240c6b2c","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/19369e349a9732aedc4a0fd46529b001240c6b2c","weight":0.4860279647850854},{"kind":"velocity-burst","description":"6,476 lines of first-party code in ~4.1h (1,588 lines/hour, 2 commit session)","ref":"1317e106d896211e4216583a9c65f82628cbd6a2","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/1317e106d896211e4216583a9c65f82628cbd6a2","weight":0.4765008856792479},{"kind":"velocity-burst","description":"5,386 lines of first-party code in ~4.6h (1,175 lines/hour, 5 commit session)","ref":"cde31d05d63151217017b5d02a64d1339a3ad095","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/cde31d05d63151217017b5d02a64d1339a3ad095","weight":0.35247409561897836},{"kind":"velocity-burst","description":"4,179 lines of first-party code in ~4.0h (1,045 lines/hour, 1 commit session)","ref":"ee3523e0abf3498290d91ee2bc588d92e96ef1b4","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/ee3523e0abf3498290d91ee2bc588d92e96ef1b4","weight":0.313425},{"kind":"velocity-burst","description":"1,991 lines of first-party code in ~2.0h (992 lines/hour, 2 commit session)","ref":"526d724ac465f0d4a0cb090752effd8d6af40b7b","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/526d724ac465f0d4a0cb090752effd8d6af40b7b","weight":0.2977402381611742},{"kind":"velocity-burst","description":"3,895 lines of first-party code in ~4.0h (974 lines/hour, 1 commit session)","ref":"ccf33452e81c0ba8d5c2df21d40f82ccc826c1f9","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/ccf33452e81c0ba8d5c2df21d40f82ccc826c1f9","weight":0.29212499999999997},{"kind":"velocity-burst","description":"1,333 lines of first-party code in ~1.4h (956 lines/hour, 1 commit session)","ref":"40c1b6cf7d6a5138056e8c2dae4adef5224b69d5","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/40c1b6cf7d6a5138056e8c2dae4adef5224b69d5","weight":0.2866666666666666},{"kind":"velocity-burst","description":"1,712 lines of first-party code in ~1.8h (952 lines/hour, 2 commit session)","ref":"1de1bf6db33f6de6982b6c7c8fb298c370675d6f","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/1de1bf6db33f6de6982b6c7c8fb298c370675d6f","weight":0.28568603213844257},{"kind":"velocity-burst","description":"3,674 lines of first-party code in ~4.0h (918 lines/hour, 1 commit session)","ref":"d510c6488715818ab5780c2db605e3d164f13dbc","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/d510c6488715818ab5780c2db605e3d164f13dbc","weight":0.27554999999999996},{"kind":"velocity-burst","description":"3,554 lines of first-party code in ~4.0h (888 lines/hour, 1 commit session)","ref":"ac8a4c9513b33f7c448cc85178d8a7509290b1b1","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/ac8a4c9513b33f7c448cc85178d8a7509290b1b1","weight":0.26654999999999995},{"kind":"velocity-burst","description":"1,457 lines of first-party code in ~1.7h (871 lines/hour, 1 commit session)","ref":"32f95056d6064d05fe6ce6cf683f0ca1dea9e4ac","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/32f95056d6064d05fe6ce6cf683f0ca1dea9e4ac","weight":0.26117178423236515},{"kind":"velocity-burst","description":"3,378 lines of first-party code in ~4.0h (844 lines/hour, 1 commit session)","ref":"06b9e43ef15a77c389cbaa3013ea8d072ec9e348","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/06b9e43ef15a77c389cbaa3013ea8d072ec9e348","weight":0.25335},{"kind":"velocity-burst","description":"1,138 lines of first-party code in ~1.4h (841 lines/hour, 2 commit session)","ref":"aad8f53d454266ff80893cad84a0c3c8c62a3b5e","url":"https://github.com/kimchiman52/sonic-mania-mister/commit/aad8f53d454266ff80893cad84a0c3c8c62a3b5e","weight":0.25226600985221675}],"data":{"flagged_loc_by_commit":{"d41a6f426abdf59f163be39ae4c4bb0ce844fa93":1016,"8629c7f991defdab80c00674f385400970a8bdae":2196,"901374a741a1801ec9522b5f5ad2a01b437e5db7":2201,"9065c979124d425a8c3aab8085896a2c7aa18c93":2174,"c13d5096aae64786ff28a40c3c94a2f0a2e6c5d7":2553,"0c49c367d5eb7ee964e60121305359d56832bb62":1,"12caa213fad195f2dbc079441f2f3f6e8754a996":2121,"c424f1364bfeb3bfba5291d3820d1015c0490a47":2221,"06b9e43ef15a77c389cbaa3013ea8d072ec9e348":3378,"fc5d9b0997e6e4fe740bc677b2120e7039637b5b":210,"0868de3103e2b6828a1ad95b4e71c883b4429859":1877,"0ce16f794c429ea39e14ba18630f48704c8a9bd2":2,"4de78feb3b3a4a2d6f826ee49a1e2be0de1ab42b":1724,"0039a4c1734e425e7c0af0dac1da45a10615b943":3295,"797178771a8ddb1f4df911590688ae95eb9424b9":2300,"b3d2b73bc382e93ff36048131c69f9b8518a4d2a":2257,"53c5a7a70f18bc30538711986b3732124d84ea49":3191,"fddee537735cfc62ca20ea9aeb52578aaa27702b":2271,"ba11f76cca1456f1e10d65bd331345aca78cea6b":2492,"7ca6f6af61ceb15d4a8197f8129b98b4cf376acb":55,"ac8a4c9513b33f7c448cc85178d8a7509290b1b1":3554,"0db6898f2d7ad88722d1265def8534dd63089b1c":2610,"2347ce30b593cdd9ac1f2e588d89eb3c45e4feb2":1521,"67b81f5f5bb9818efab14ab09c99082f5713ba6a":2562,"165045b3997b31a53911fcf913bb5f7d18470965":3030,"40c1b6cf7d6a5138056e8c2dae4adef5224b69d5":1333,"da2c79d9e9b13c21549227fc0dc8ef9b8921e832":2581,"d510c6488715818ab5780c2db605e3d164f13dbc":3674,"4cbed754246348aa93eec6378c050658b546f043":7,"ef1439ade0835e465967d70ac31057df84813cb1":5,"799a01fe06c9e301983ee89ea7fb36835435ed0e":5,"4ed2902295aa14f7652eeed105107ff2de584af3":3150,"543e0efedc64e7fd6a661eebc30e28d73656df48":3241,"36051bc79933648e30d75b9f1b4cb8921e77a536":3178,"db2aba01fd3f3b2eedc91d9c9b7d86a6b88277f7":2380,"ccf33452e81c0ba8d5c2df21d40f82ccc826c1f9":3895,"23c86f0cd128f35625c015909b627f7ba6625d40":3655,"a34d934222a8793cc596c24de0e9450f687096cc":8,"45e672be1e3f22fe123273a55013307a40c8eeaa":162,"73c4c9ad62653aa736f0e9914d3c6e72f7fbbe25":20,"7817b253671410e60a88f26ddfb60c5b144b713c":91,"5aecca9d877b440f95dfdcd7cf321bc32eef6c2e":10,"321e42dba8187ab013f04915714a7761e711c859":59,"7d58343945434b442b89c42ea1b85b84583efc66":117,"502dc04b6130dc96a7a7e0848535499598306885":207,"ef0a1a4a7c854f9f1d0e69578b1fa28727c4242e":2184,"aa8986b77388645ce02acbfd9f9d99c97d429f09":2028,"dd3f1e9fefab7dc84d794de1e4ead5a1a6d0c05a":1325,"f6a8cec39935dcc8181c1c02a12e415fc4082c02":2217,"8a40f10528adb672d33b6cac3e6861655c621f35":2755,"360347c080b4a11122fdd5e4975bf9ed7668cea1":3240,"ee3523e0abf3498290d91ee2bc588d92e96ef1b4":4179,"5206ecb3417b1e32329528a5b8b855e4b411107c":1300,"fc75b507555ab6940641aef960512f48ec97abd7":116,"aad8f53d454266ff80893cad84a0c3c8c62a3b5e":1022,"1e9849cf0b6d0c522a3c02e073a76dd5e82cdc46":3356,"19369e349a9732aedc4a0fd46529b001240c6b2c":120,"173851bbd96aee8a579309598beb4169b4b27af5":187,"526d724ac465f0d4a0cb090752effd8d6af40b7b":1804,"32f95056d6064d05fe6ce6cf683f0ca1dea9e4ac":1457,"fa1306718c453e87501ccd0f8cd5fd9459aaf9d4":1390,"1de1bf6db33f6de6982b6c7c8fb298c370675d6f":322,"20465ff8ea127a956c705e40391a055e4f2c9e20":2024,"6c4a0feb9b9e0be6acec7194a0054707b39e0331":2061,"a9540ee689a0c33a1b165d522ef4c1423bb03be3":2415,"20ac4070bd9a83a310d3a70d447bc717f461f6ba":754,"1654f3c0aef24efb8bf0f766aa53e1273e684688":2115,"3f20b86581f3e779cf265d66123caf71409f959e":85,"8deb68b66f06ea45047de64cbc4f9d9bc4130d41":12,"959dc4d5e4bf281e614833248b3b380df2457d92":5283,"45df0f51e78753019037863bd7baf1dc165e3721":2,"cde31d05d63151217017b5d02a64d1339a3ad095":4,"b8f3f9ccf9df449f194ffa10bbf632b97668da43":6658,"6568c633fe08da9fd804e3be00a2c43493cd9669":2729,"8a8d7c09aaaa5509152cfe5140b5dd084355e3b1":6475,"1317e106d896211e4216583a9c65f82628cbd6a2":1},"excluded_import_commits":["129305c6700f23e0b48f6e2d65fbff9668a8100f","4231ffe5d85bcba4629d16434174c6406358415a","4ea8054056f3b633fd6a5e405544e09f509a5568","4ee8e2f80d919edbfb7fd4cf6e97d279a984173c","587de3ba02c5f1cd6344923629e966a4a09b1919","625d90e5c95d4dd7218164cef1fbaf5a737c570e","69ab0c0b835c9977dc946526b662060bf1547535","6a642c9d20ce657a6993d7b20cfb9fe5a8fff71b","73137cf0a4f5d3c5de3f0501ce8f2b174a6bc40c","7c1273d364c58bad716d522f2e8faca6e1d0c485","7c39fb54f60cddc42df3ec7056c2b041ad555852","86502b2e37f5e07b3d39986b9d55fb1919727dc9","882aa46a16f6f5b44480ce4fe0bf654e019a55d8","97a6c14c09f43d54bcb8ce6351658f0ca4cab2b5","a103ae64ac484b6f9d15529120b65507f7eff71c","a16ca7f3451949f6a382e085b9abc571786ce80d","aa5c2fccbbd6c3e050e4878dbd5e790bd844b4cc","b80f4b69ecc57d59ecb14fe4678edff17bfb721f","c7404ec1a50c660325c637bca2144f06600d9011","ed749dc2f5cb4e262233e31d31122f203e85d9d9","efef0ec2b3b38b05425fbcdee63d51922235899b","f0c20171c9514a4e1a62e3fd6d4cf7181c8fa630"]},"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":1664.2},"findings":[],"evidence":[],"data":{"releases":[{"from":"0.1.0","to":"0.2.0","loc":90,"days":0.6,"loc_per_day":148.9,"flagged":false},{"from":"0.2.0","to":"0.2.1","loc":118,"days":0.47,"loc_per_day":250.4,"flagged":false},{"from":"0.2.1","to":"0.3.0","loc":410,"days":0.25,"loc_per_day":1664.2,"flagged":false},{"from":"0.3.0","to":"0.3.1","loc":0,"days":0.87,"loc_per_day":0.0,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":291688.0,"index":0.002,"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":1.0,"per_kloc:emoji_in_code":0.003,"files:emoji_in_code":1.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":116.0,"findings_high":0.0,"findings_medium":116.0,"findings_low":0.0,"weighted_findings":29.35,"scanned_lines":291688.0,"parse_errors":629.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":"SonicMania/Game.c","line":52,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Game.c:52"},{"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":"SonicMania/Game.c","line":80,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Game.c:80"},{"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":"SonicMania/Game.c","line":81,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Game.c:81"},{"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":"SonicMania/Game.c","line":118,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Game.c:118"},{"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":"SonicMania/Objects/AIZ/FernParallax.c","line":67,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/AIZ/FernParallax.c:67"},{"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":"SonicMania/Objects/AIZ/SchrodingersCapsule.c","line":220,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/AIZ/SchrodingersCapsule.c:220"},{"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":"SonicMania/Objects/AIZ/SchrodingersCapsule.c","line":243,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/AIZ/SchrodingersCapsule.c:243"},{"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":"SonicMania/Objects/BSS/BSS_Setup.c","line":97,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/BSS/BSS_Setup.c:97"},{"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":"SonicMania/Objects/BSS/BSS_Setup.c","line":98,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/BSS/BSS_Setup.c:98"},{"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":"SonicMania/Objects/BSS/BSS_Setup.c","line":99,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/BSS/BSS_Setup.c:99"},{"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":"SonicMania/Objects/CPZ/DNARiser.c","line":475,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/CPZ/DNARiser.c:475"},{"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":"SonicMania/Objects/CPZ/DNARiser.c","line":546,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/CPZ/DNARiser.c:546"},{"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":"SonicMania/Objects/Global/APICallback.c","line":307,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/APICallback.c:307"},{"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":"SonicMania/Objects/Global/Competition.c","line":245,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Competition.c:245"},{"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":"SonicMania/Objects/Global/Localization.c","line":107,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Localization.c:107"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":173,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:173"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":276,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:276"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":279,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:279"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":462,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:462"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":508,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:508"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":547,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:547"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":550,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Global/ReplayRecorder.c:550"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":562,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:562"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":770,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:770"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":771,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:771"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":1008,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:1008"},{"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":"SonicMania/Objects/Global/ReplayRecorder.c","line":1264,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/ReplayRecorder.c:1264"},{"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":"SonicMania/Objects/Global/SaveGame.c","line":148,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/SaveGame.c:148"},{"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":"SonicMania/Objects/Global/TitleCard.c","line":117,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/TitleCard.c:117"},{"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":"SonicMania/Objects/Global/TitleCard.c","line":118,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/TitleCard.c:118"},{"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":"SonicMania/Objects/Global/Zone.c","line":431,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Zone.c:431"},{"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":"SonicMania/Objects/Global/Zone.c","line":1049,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Zone.c:1049"},{"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":"SonicMania/Objects/Global/Zone.c","line":1050,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Zone.c:1050"},{"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":"SonicMania/Objects/Global/Zone.c","line":1051,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Zone.c:1051"},{"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":"SonicMania/Objects/Global/Zone.c","line":1052,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Global/Zone.c:1052"},{"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":"SonicMania/Objects/Helpers/CompetitionSession.c","line":133,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/CompetitionSession.c:133"},{"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":"SonicMania/Objects/Helpers/GameProgress.c","line":174,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/GameProgress.c:174"},{"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":"SonicMania/Objects/Helpers/GameProgress.c","line":207,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/GameProgress.c:207"},{"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":"SonicMania/Objects/Helpers/TimeAttackData.c","line":282,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/TimeAttackData.c:282"},{"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":"SonicMania/Objects/Helpers/TimeAttackData.c","line":296,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/TimeAttackData.c:296"},{"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":"SonicMania/Objects/Helpers/TimeAttackData.c","line":308,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/TimeAttackData.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":"SonicMania/Objects/Helpers/TimeAttackData.c","line":326,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/TimeAttackData.c:326"},{"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":"SonicMania/Objects/Helpers/TimeAttackData.c","line":575,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Helpers/TimeAttackData.c:575"},{"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":"SonicMania/Objects/LRZ/LRZConveyor.c","line":135,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/LRZ/LRZConveyor.c:135"},{"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":"SonicMania/Objects/MMZ/SpikeCorridor.c","line":351,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/MMZ/SpikeCorridor.c:351"},{"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":"SonicMania/Objects/MMZ/SpikeCorridor.c","line":365,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/MMZ/SpikeCorridor.c:365"},{"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":"SonicMania/Objects/MMZ/SpikeCorridor.c","line":376,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/MMZ/SpikeCorridor.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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":317,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/CompetitionMenu.c:317"},{"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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":318,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/CompetitionMenu.c:318"},{"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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":508,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/CompetitionMenu.c:508"},{"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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":637,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/CompetitionMenu.c:637"},{"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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":688,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/CompetitionMenu.c:688"},{"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":"SonicMania/Objects/Menu/CompetitionMenu.c","line":928,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/CompetitionMenu.c:928"},{"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":"SonicMania/Objects/Menu/DASetup.c","line":84,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/DASetup.c:84"},{"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":"SonicMania/Objects/Menu/DASetup.c","line":85,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/DASetup.c:85"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":166,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:166"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":182,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:182"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":198,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:198"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":214,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:214"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":236,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:236"},{"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":"SonicMania/Objects/Menu/ExtrasMenu.c","line":252,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/ExtrasMenu.c:252"},{"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":"SonicMania/Objects/Menu/LevelSelect.c","line":229,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/LevelSelect.c:229"},{"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":"SonicMania/Objects/Menu/ManiaModeMenu.c","line":261,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/ManiaModeMenu.c:261"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":212,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:212"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":764,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:764"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1074,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1074"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1091,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1091"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1262,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1262"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1433,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1433"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1553,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1553"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1592,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/MenuSetup.c:1592"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":1834,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:1834"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2227,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2227"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2243,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2243"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2259,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2259"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2275,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2275"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2291,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2291"},{"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":"SonicMania/Objects/Menu/MenuSetup.c","line":2307,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/MenuSetup.c:2307"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":555,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:SonicMania/Objects/Menu/OptionsMenu.c:555"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":741,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.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":"SonicMania/Objects/Menu/OptionsMenu.c","line":747,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.c:747"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":750,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.c:750"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":761,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.c:761"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":767,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.c:767"},{"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":"SonicMania/Objects/Menu/OptionsMenu.c","line":770,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/OptionsMenu.c:770"},{"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":"SonicMania/Objects/Menu/TimeAttackMenu.c","line":448,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/TimeAttackMenu.c:448"},{"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":"SonicMania/Objects/Menu/TimeAttackMenu.c","line":449,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/TimeAttackMenu.c:449"},{"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":"SonicMania/Objects/Menu/TimeAttackMenu.c","line":678,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/TimeAttackMenu.c:678"},{"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":"SonicMania/Objects/Menu/TimeAttackMenu.c","line":693,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/TimeAttackMenu.c:693"},{"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":"SonicMania/Objects/Menu/UICarousel.c","line":147,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UICarousel.c:147"},{"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":"SonicMania/Objects/Menu/UIDiorama.c","line":130,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UIDiorama.c:130"},{"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":"SonicMania/Objects/Menu/UISaveSlot.c","line":848,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UISaveSlot.c:848"},{"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":"SonicMania/Objects/Menu/UISubHeading.c","line":335,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UISubHeading.c:335"},{"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":"SonicMania/Objects/Menu/UISubHeading.c","line":349,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UISubHeading.c:349"},{"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":"SonicMania/Objects/Menu/UIWidgets.c","line":296,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UIWidgets.c:296"},{"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":"SonicMania/Objects/Menu/UIWidgets.c","line":297,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Menu/UIWidgets.c:297"},{"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":"SonicMania/Objects/OOZ/OOZSetup.c","line":256,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/OOZ/OOZSetup.c:256"},{"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":"SonicMania/Objects/OOZ/OOZSetup.c","line":257,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/OOZ/OOZSetup.c:257"},{"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":"SonicMania/Objects/PGZ/PSZ2Setup.c","line":130,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/PGZ/PSZ2Setup.c:130"},{"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":"SonicMania/Objects/PGZ/PetalPile.c","line":182,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/PGZ/PetalPile.c:182"},{"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":"SonicMania/Objects/PGZ/Shuriken.c","line":29,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/PGZ/Shuriken.c:29"},{"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":"SonicMania/Objects/Puyo/PuyoAI.c","line":58,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Puyo/PuyoAI.c:58"},{"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":"SonicMania/Objects/Puyo/PuyoBean.c","line":461,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Puyo/PuyoBean.c:461"},{"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":"SonicMania/Objects/Puyo/PuyoBean.c","line":500,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Puyo/PuyoBean.c:500"},{"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":"SonicMania/Objects/Summary/Summary.c","line":247,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Summary/Summary.c:247"},{"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":"SonicMania/Objects/Title/TitleSetup.c","line":68,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Title/TitleSetup.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":"SonicMania/Objects/Title/TitleSetup.c","line":71,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/Title/TitleSetup.c:71"},{"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":"SonicMania/Objects/UFO/UFO_Decoration.c","line":135,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/UFO/UFO_Decoration.c:135"},{"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":"SonicMania/Objects/UFO/UFO_Decoration.c","line":147,"fingerprint":"c.lang.security.insecure-use-memset:SonicMania/Objects/UFO/UFO_Decoration.c:147"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"SonicMania/autostatic.py","line":139,"fingerprint":"python.lang.security.audit.eval-detected:SonicMania/autostatic.py:139"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"SonicMania/autostatic.py","line":248,"fingerprint":"python.lang.security.audit.eval-detected:SonicMania/autostatic.py:248"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"SonicMania/autostatic.py","line":255,"fingerprint":"python.lang.security.audit.eval-detected:SonicMania/autostatic.py:255"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"SonicMania/autostatic.py","line":270,"fingerprint":"python.lang.security.audit.eval-detected:SonicMania/autostatic.py:270"},{"rule_id":"opengrep/python.lang.security.insecure-hash-algorithm-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"SonicMania/autostatic.py","line":284,"fingerprint":"python.lang.security.insecure-hash-algorithm-md5:SonicMania/autostatic.py:284"},{"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":"tools/mister-wrapper/test-frame-writer.c","line":138,"fingerprint":"c.lang.security.insecure-use-memset:tools/mister-wrapper/test-frame-writer.c:138"},{"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":"tools/mister-wrapper/test-frame-writer.c","line":139,"fingerprint":"c.lang.security.insecure-use-memset:tools/mister-wrapper/test-frame-writer.c:139"}],"evidence":[],"data":{"rulesets":["c","bash","python","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":13.0,"findings_high":6.0,"findings_medium":7.0,"findings_low":0.0,"penalty":85.2},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":27,"fingerprint":"unpinned-uses:.github/workflows/build.yml:27"},{"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":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":69,"fingerprint":"unpinned-uses:.github/workflows/build.yml:69"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":77,"fingerprint":"unpinned-uses:.github/workflows/build.yml:77"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":94,"fingerprint":"unpinned-uses:.github/workflows/build.yml:94"},{"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/build.yml","line":51,"fingerprint":"artipacked:.github/workflows/build.yml:51"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":76,"fingerprint":"artipacked:.github/workflows/build.yml:76"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":1,"fingerprint":"excessive-permissions:.github/workflows/build.yml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":23,"fingerprint":"excessive-permissions:.github/workflows/build.yml:23"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":48,"fingerprint":"excessive-permissions:.github/workflows/build.yml:48"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":73,"fingerprint":"excessive-permissions:.github/workflows/build.yml:73"}],"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.12,"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":5.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release 0.3.1 ships sonic-mania-mister-0.3.1.zip (8244 downloads)","ref":"sonic-mania-mister-0.3.1.zip","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.1/sonic-mania-mister-0.3.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 0.3.0 ships sonic-mania-mister-0.3.0.zip (230 downloads)","ref":"sonic-mania-mister-0.3.0.zip","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.3.0/sonic-mania-mister-0.3.0.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 0.2.1 ships sonic-mania-mister-0.2.1.zip (159 downloads)","ref":"sonic-mania-mister-0.2.1.zip","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.2.1/sonic-mania-mister-0.2.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 0.2.0 ships sonic-mania-mister-0.2.0.zip (26 downloads)","ref":"sonic-mania-mister-0.2.0.zip","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.2.0/sonic-mania-mister-0.2.0.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 0.1.0 ships sonic-mania-mister-0.1.0.zip (218 downloads)","ref":"sonic-mania-mister-0.1.0.zip","url":"https://github.com/kimchiman52/sonic-mania-mister/releases/download/0.1.0/sonic-mania-mister-0.1.0.zip","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":10419.0,"function_nloc":174446.0,"mean_ccn":3.69,"p90_ccn":8.0,"complex_functions":341.0,"long_functions":93.0,"many_param_functions":10.0,"risky_nloc_share":0.2089},"findings":[],"evidence":[{"kind":"complex-function","description":"UIButtonPrompt_MappingsToFrame in SonicMania/Objects/Menu/UIButtonPrompt.c: complexity 156, 164 lines","ref":"SonicMania/Objects/Menu/UIButtonPrompt.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/Menu/UIButtonPrompt.c#L234","weight":1.0},{"kind":"complex-function","description":"InitPublicFunctions in SonicMania/PublicFunctions.c: complexity 135, 5319 lines","ref":"SonicMania/PublicFunctions.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/PublicFunctions.c#L8","weight":1.0},{"kind":"complex-function","description":"Spikes_Update in SonicMania/Objects/Global/Spikes.c: complexity 90, 254 lines","ref":"SonicMania/Objects/Global/Spikes.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/Global/Spikes.c#L12","weight":1.0},{"kind":"complex-function","description":"CheckerBall_HandleObjectCollisions in SonicMania/Objects/GHZ/CheckerBall.c: complexity 85, 309 lines","ref":"SonicMania/Objects/GHZ/CheckerBall.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/GHZ/CheckerBall.c#L328","weight":1.0},{"kind":"complex-function","description":"HangPoint_Update in SonicMania/Objects/FBZ/HangPoint.c: complexity 82, 279 lines","ref":"SonicMania/Objects/FBZ/HangPoint.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/FBZ/HangPoint.c#L12","weight":1.0},{"kind":"complex-function","description":"Platform_EditorDraw in SonicMania/Objects/Common/Platform.c: complexity 77, 364 lines","ref":"SonicMania/Objects/Common/Platform.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/Common/Platform.c#L2227","weight":1.0},{"kind":"complex-function","description":"Tuesday_Create in SonicMania/Objects/FBZ/Tuesday.c: complexity 76, 184 lines","ref":"SonicMania/Objects/FBZ/Tuesday.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/FBZ/Tuesday.c#L46","weight":1.0},{"kind":"complex-function","description":"LEDPanel_HandleCharacters in SonicMania/Objects/SPZ/LEDPanel.c: complexity 75, 270 lines","ref":"SonicMania/Objects/SPZ/LEDPanel.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/SPZ/LEDPanel.c#L158","weight":1.0},{"kind":"complex-function","description":"ItemBox_GivePowerup in SonicMania/Objects/Global/ItemBox.c: complexity 74, 282 lines","ref":"SonicMania/Objects/Global/ItemBox.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/Global/ItemBox.c#L474","weight":1.0},{"kind":"complex-function","description":"Ice_Create in SonicMania/Objects/PGZ/Ice.c: complexity 74, 236 lines","ref":"SonicMania/Objects/PGZ/Ice.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/PGZ/Ice.c#L36","weight":1.0}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":199651.0,"duplicated_lines":18994.0,"duplicated_share":0.0951,"files":1243.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/GameLink.h:162 and SonicMania/GameLink.h:191","ref":"SonicMania/GameLink.h","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/GameLink.h#L162","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZEncoreTutorial.c:58 and SonicMania/Objects/LRZ/ThoughtBubble.c:62","ref":"SonicMania/Objects/AIZ/AIZEncoreTutorial.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZEncoreTutorial.c#L58","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZKingClaw.c:68 and SonicMania/Objects/AIZ/AIZKingClaw.c:142","ref":"SonicMania/Objects/AIZ/AIZKingClaw.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZKingClaw.c#L68","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:241 and SonicMania/Objects/MSZ/MSZSetup.c:706","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L241","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:324 and SonicMania/Objects/GHZ/GHZCutsceneST.c:125","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L324","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:464 and SonicMania/Objects/AIZ/AIZSetup.c:760","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L464","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:598 and SonicMania/Objects/GHZ/GHZ2Outro.c:383","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L598","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:604 and SonicMania/Objects/AIZ/EncoreIntro.c:912","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L604","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZSetup.c:640 and SonicMania/Objects/PGZ/PSZ2Outro.c:246","ref":"SonicMania/Objects/AIZ/AIZSetup.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZSetup.c#L640","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: SonicMania/Objects/AIZ/AIZTornado.c:47 and SonicMania/Objects/MSZ/Tornado.c:58","ref":"SonicMania/Objects/AIZ/AIZTornado.c","url":"https://github.com/kimchiman52/sonic-mania-mister/blob/29ea029e7738db72530a51365d93448e1b10f00c/SonicMania/Objects/AIZ/AIZTornado.c#L47","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":9.0,"weighted_findings":15.0,"scanned_lines":291688.0,"category:best-practice":7.0,"category:correctness":2.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.open-never-closed","severity":"high","message":"file object opened without corresponding close","path":"SonicMania/autostatic.py","line":53,"fingerprint":"python.lang.best-practice.open-never-closed:SonicMania/autostatic.py:53"},{"rule_id":"opengrep/python.lang.best-practice.open-never-closed","severity":"high","message":"file object opened without corresponding close","path":"SonicMania/funcheader.py","line":17,"fingerprint":"python.lang.best-practice.open-never-closed:SonicMania/funcheader.py:17"},{"rule_id":"opengrep/python.lang.best-practice.open-never-closed","severity":"high","message":"file object opened without corresponding close","path":"SonicMania/objectmake.py","line":13,"fingerprint":"python.lang.best-practice.open-never-closed:SonicMania/objectmake.py:13"},{"rule_id":"opengrep/python.lang.correctness.use-sys-exit","severity":"medium","message":"Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations.","path":"SonicMania/autostatic.py","line":12,"fingerprint":"python.lang.correctness.use-sys-exit:SonicMania/autostatic.py:12"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"SonicMania/autostatic.py","line":53,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:SonicMania/autostatic.py:53"},{"rule_id":"opengrep/python.lang.correctness.use-sys-exit","severity":"medium","message":"Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations.","path":"SonicMania/funcheader.py","line":8,"fingerprint":"python.lang.correctness.use-sys-exit:SonicMania/funcheader.py:8"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"SonicMania/funcheader.py","line":17,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:SonicMania/funcheader.py:17"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"SonicMania/objectcmake.py","line":12,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:SonicMania/objectcmake.py:12"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"SonicMania/objectmake.py","line":13,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:SonicMania/objectmake.py:13"}],"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":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":291688.0,"test_ratio":0.0,"ci_files":1.0,"cochange_share":0.0,"cochange_commits":190.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0}],"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":163.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE.md","ref":"LICENSE.md","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":3038.0,"other_lines":288650.0,"files_blamed":1243.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":9.0,"quality:other_per_kloc":0.031,"quality:ratio":0.0,"security:ai_findings":4.0,"security:ai_per_kloc":1.317,"security:other_findings":112.0,"security:other_per_kloc":0.388,"security:ratio":3.39},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}