{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T15:16:58.432296Z","repo":{"ref":{"host":"github.com","owner":"ChartsOrg","name":"Charts"},"default_branch":"master","clone_url":"https://github.com/ChartsOrg/Charts.git","html_url":"https://github.com/ChartsOrg/Charts","description":"Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.","stars":27966,"forks":5979,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":194087,"primary_language":"Swift","license_spdx":"Apache-2.0","created_at":"2015-03-20T10:49:12Z","pushed_at":"2026-03-07T05:36:26Z","security_policy_url":"https://github.com/ChartsOrg/Charts/security/policy","distribution":{"owner_created_at":"2021-02-26T01:19:43Z","owner_type":"Organization","release_assets":[]}},"commit_sha":"1bad5469f57628782110b05996d4fa00473abf06","profile":{"lines_by_language":{"Swift":32135,"Objective-C":5638,"C":556,"Shell":17},"files_by_category":{"source":267,"binary":252,"other":47,"config":10,"docs":7},"source_lines":38346,"test_lines":0},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"none-detected","breakdown":{"attributed_share":0.0,"suspected_share":0.0,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":0.0,"style_index":0.026},"summary":"No AI attribution or AI-consistent velocity signals detected."},"quality":{"score":52.6,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":58.5,"duplication":28.5,"lint":100.0,"testing":15.0,"docs":100.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 18% of function code in complex or long functions; 21% duplicated lines. Weakest area: testing."},"security":{"score":69.8,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":84.3,"dependencies":null,"ci_actions":19.9,"posture":40.0,"scorecard":null},"summary":"Security posture is weak: 6 high-severity workflow issues. Weakest area: ci actions."}},"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":1516.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":115057.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2015-03":{"loc":19816,"attributed_loc":0},"2015-04":{"loc":2527,"attributed_loc":0},"2015-05":{"loc":2502,"attributed_loc":0},"2015-06":{"loc":7067,"attributed_loc":0},"2015-07":{"loc":1640,"attributed_loc":0},"2015-08":{"loc":296,"attributed_loc":0},"2015-09":{"loc":718,"attributed_loc":0},"2015-10":{"loc":4735,"attributed_loc":0},"2015-11":{"loc":6823,"attributed_loc":0},"2015-12":{"loc":150,"attributed_loc":0},"2016-01":{"loc":4450,"attributed_loc":0},"2016-02":{"loc":5582,"attributed_loc":0},"2016-03":{"loc":3043,"attributed_loc":0},"2016-04":{"loc":1869,"attributed_loc":0},"2016-05":{"loc":1026,"attributed_loc":0},"2016-06":{"loc":0,"attributed_loc":0},"2016-07":{"loc":8612,"attributed_loc":0},"2016-08":{"loc":5708,"attributed_loc":0},"2016-09":{"loc":11405,"attributed_loc":0},"2016-10":{"loc":655,"attributed_loc":0},"2016-11":{"loc":433,"attributed_loc":0},"2016-12":{"loc":382,"attributed_loc":0},"2017-01":{"loc":4,"attributed_loc":0},"2017-02":{"loc":529,"attributed_loc":0},"2017-03":{"loc":95,"attributed_loc":0},"2017-04":{"loc":1198,"attributed_loc":0},"2017-05":{"loc":31,"attributed_loc":0},"2017-06":{"loc":3,"attributed_loc":0},"2017-07":{"loc":4236,"attributed_loc":0},"2017-08":{"loc":74,"attributed_loc":0},"2017-09":{"loc":5381,"attributed_loc":0},"2017-10":{"loc":15,"attributed_loc":0},"2017-11":{"loc":707,"attributed_loc":0},"2017-12":{"loc":661,"attributed_loc":0},"2018-01":{"loc":683,"attributed_loc":0},"2018-02":{"loc":190,"attributed_loc":0},"2018-03":{"loc":78,"attributed_loc":0},"2018-04":{"loc":13,"attributed_loc":0},"2018-05":{"loc":1572,"attributed_loc":0},"2018-06":{"loc":305,"attributed_loc":0},"2018-07":{"loc":2,"attributed_loc":0},"2018-08":{"loc":7,"attributed_loc":0},"2018-09":{"loc":828,"attributed_loc":0},"2018-10":{"loc":46,"attributed_loc":0},"2018-11":{"loc":443,"attributed_loc":0},"2018-12":{"loc":7,"attributed_loc":0},"2019-01":{"loc":163,"attributed_loc":0},"2019-02":{"loc":253,"attributed_loc":0},"2019-03":{"loc":780,"attributed_loc":0},"2019-04":{"loc":439,"attributed_loc":0},"2019-05":{"loc":18,"attributed_loc":0},"2019-06":{"loc":237,"attributed_loc":0},"2019-07":{"loc":5,"attributed_loc":0},"2019-08":{"loc":15,"attributed_loc":0},"2019-09":{"loc":19,"attributed_loc":0},"2019-10":{"loc":116,"attributed_loc":0},"2019-11":{"loc":509,"attributed_loc":0},"2020-01":{"loc":301,"attributed_loc":0},"2020-02":{"loc":0,"attributed_loc":0},"2020-03":{"loc":1,"attributed_loc":0},"2020-04":{"loc":118,"attributed_loc":0},"2020-05":{"loc":8,"attributed_loc":0},"2020-06":{"loc":1,"attributed_loc":0},"2020-07":{"loc":6,"attributed_loc":0},"2020-09":{"loc":0,"attributed_loc":0},"2020-10":{"loc":3974,"attributed_loc":0},"2020-11":{"loc":0,"attributed_loc":0},"2020-12":{"loc":112,"attributed_loc":0},"2021-01":{"loc":46,"attributed_loc":0},"2021-02":{"loc":414,"attributed_loc":0},"2021-06":{"loc":1,"attributed_loc":0},"2021-09":{"loc":12,"attributed_loc":0},"2022-03":{"loc":15,"attributed_loc":0},"2022-04":{"loc":7,"attributed_loc":0},"2022-05":{"loc":31,"attributed_loc":0},"2022-06":{"loc":2,"attributed_loc":0},"2022-07":{"loc":17,"attributed_loc":0},"2022-08":{"loc":3,"attributed_loc":0},"2022-09":{"loc":4,"attributed_loc":0},"2022-11":{"loc":0,"attributed_loc":0},"2023-02":{"loc":2,"attributed_loc":0},"2023-03":{"loc":92,"attributed_loc":0},"2023-04":{"loc":36,"attributed_loc":0},"2023-05":{"loc":0,"attributed_loc":0},"2023-06":{"loc":161,"attributed_loc":0},"2023-08":{"loc":120,"attributed_loc":0},"2023-09":{"loc":1,"attributed_loc":0},"2023-11":{"loc":25,"attributed_loc":0},"2024-01":{"loc":3,"attributed_loc":0},"2024-02":{"loc":0,"attributed_loc":0},"2024-03":{"loc":94,"attributed_loc":0},"2024-08":{"loc":33,"attributed_loc":0},"2024-09":{"loc":29,"attributed_loc":0},"2024-11":{"loc":1,"attributed_loc":0},"2025-02":{"loc":27,"attributed_loc":0},"2025-03":{"loc":6,"attributed_loc":0},"2025-05":{"loc":41,"attributed_loc":0},"2026-03":{"loc":212,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":633.0,"flagged_units":0.0,"pre_ai_era_bursts":3.0,"pre_ai_era_measured_loc":73295.0,"pre_ai_era_burst_loc":12634.0,"measured_loc":74269.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":1104.0,"median_loc_per_hour":61.52951016400597,"pr_timed_units":81.0,"excluded_import_loc":40788.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":["19165ddacb2bbac9db0a541fd92f86b294147c11","3dbd57b5a3f78e242409d60fe0b157d995b61e81","6d91f6149e305a631b27ef7b0ca47ee2ac8cd360","c116f974faf0ee87f75f974b3a82e143cfe716c3","ca7b09d51ed52b539759cf09d9bd5afa721a5a22","f74ad6b27d3b3354135accdd5f0b91a923bf1db7"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"releases":46.0,"flagged_releases":0.0,"max_loc_per_day":11405.4},"findings":[],"evidence":[],"data":{"releases":[{"from":"0.0.1","to":"v2.0.9","loc":2,"days":1.08,"loc_per_day":1.9,"flagged":false},{"from":"v2.0.9","to":"v2.1.0","loc":2523,"days":27.14,"loc_per_day":93.0,"flagged":false},{"from":"v2.1.0","to":"v2.1.1","loc":3323,"days":82.03,"loc_per_day":40.5,"flagged":false},{"from":"v2.1.1","to":"v2.1.2","loc":949,"days":0.08,"loc_per_day":11405.4,"flagged":false},{"from":"v2.1.2","to":"v2.1.3","loc":177,"days":9.54,"loc_per_day":18.6,"flagged":false},{"from":"v2.1.3","to":"v2.1.4","loc":2392,"days":47.52,"loc_per_day":50.3,"flagged":false},{"from":"v2.1.4","to":"v2.1.4a","loc":322,"days":10.37,"loc_per_day":31.1,"flagged":false},{"from":"v2.1.4a","to":"v2.1.5","loc":1134,"days":13.65,"loc_per_day":83.0,"flagged":false},{"from":"v2.1.5","to":"v2.1.6","loc":2162,"days":17.97,"loc_per_day":120.3,"flagged":false},{"from":"v2.1.6","to":"v2.2.0","loc":11968,"days":84.88,"loc_per_day":141.0,"flagged":false},{"from":"v2.2.0","to":"2.2.1","loc":688,"days":5.9,"loc_per_day":116.7,"flagged":false},{"from":"2.2.1","to":"v2.2.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v2.2.1","to":"v2.2.2","loc":478,"days":7.68,"loc_per_day":62.3,"flagged":false},{"from":"v2.2.2","to":"v2.2.3","loc":5023,"days":19.95,"loc_per_day":251.8,"flagged":false},{"from":"v2.2.3","to":"v2.2.4","loc":2733,"days":31.56,"loc_per_day":86.6,"flagged":false},{"from":"v2.2.4","to":"v2.2.5","loc":3400,"days":59.44,"loc_per_day":57.2,"flagged":false},{"from":"v2.2.5","to":"3.0.0","loc":8474,"days":142.38,"loc_per_day":59.5,"flagged":false},{"from":"3.0.0","to":"v3.0.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.0","to":"3.0.1","loc":114,"days":31.75,"loc_per_day":3.6,"flagged":false},{"from":"3.0.1","to":"v3.0.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.1","to":"3.0.2","loc":1437,"days":133.2,"loc_per_day":10.8,"flagged":false},{"from":"3.0.2","to":"v3.0.2","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.2","to":"3.0.3","loc":217,"days":158.48,"loc_per_day":1.4,"flagged":false},{"from":"3.0.3","to":"v3.0.3","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.3","to":"3.0.4","loc":1102,"days":13.06,"loc_per_day":84.4,"flagged":false},{"from":"3.0.4","to":"v3.0.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.4","to":"3.0.5","loc":11274,"days":108.95,"loc_per_day":103.5,"flagged":false},{"from":"3.0.5","to":"v3.0.5","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.0.5","to":"3.1.0","loc":554,"days":72.94,"loc_per_day":7.6,"flagged":false},{"from":"3.1.0","to":"v3.1.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.1.0","to":"3.1.1","loc":66,"days":11.3,"loc_per_day":5.8,"flagged":false},{"from":"3.1.1","to":"v3.1.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.1.1","to":"v3.2.0","loc":1910,"days":167.72,"loc_per_day":11.4,"flagged":false},{"from":"v3.2.0","to":"v3.2.1","loc":27,"days":21.76,"loc_per_day":1.2,"flagged":false},{"from":"v3.2.1","to":"v3.2.2","loc":1506,"days":127.23,"loc_per_day":11.8,"flagged":false},{"from":"v3.2.2","to":"v3.3.0","loc":1403,"days":70.06,"loc_per_day":20.0,"flagged":false},{"from":"v3.3.0","to":"v3.4.0","loc":378,"days":168.02,"loc_per_day":2.2,"flagged":false},{"from":"v3.4.0","to":"v3.5.0","loc":975,"days":190.3,"loc_per_day":5.1,"flagged":false},{"from":"v3.5.0","to":"v3.6.0","loc":9,"days":157.87,"loc_per_day":0.1,"flagged":false},{"from":"v3.6.0","to":"v4.0.0","loc":3974,"days":39.49,"loc_per_day":100.6,"flagged":false},{"from":"v4.0.0","to":"v4.0.1","loc":572,"days":110.69,"loc_per_day":5.2,"flagged":false},{"from":"v4.0.1","to":"v4.0.2","loc":15,"days":387.33,"loc_per_day":0.0,"flagged":false},{"from":"v4.0.2","to":"v4.0.3","loc":40,"days":73.89,"loc_per_day":0.5,"flagged":false},{"from":"v4.0.3","to":"v4.1.0","loc":37,"days":110.4,"loc_per_day":0.3,"flagged":false},{"from":"v4.1.0","to":"5.0.0","loc":297,"days":268.77,"loc_per_day":1.1,"flagged":false},{"from":"5.0.0","to":"5.1.0","loc":123,"days":252.3,"loc_per_day":0.5,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":38346.0,"index":0.026,"count:narrated_steps":1.0,"per_kloc:narrated_steps":0.026,"files:narrated_steps":1.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Now we subtract that from the radius","ref":"Source/Charts/Renderers/PieChartRenderer.swift:83","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/PieChartRenderer.swift#L83","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":64.0,"findings_high":0.0,"findings_medium":64.0,"findings_low":0.0,"weighted_findings":16.0,"scanned_lines":32708.0,"parse_errors":30.0},"findings":[{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift","line":68,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift:68"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift","line":118,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift:118"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift","line":119,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift:119"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":79,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:79"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":80,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:80"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":84,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:84"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":85,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:85"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":89,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:89"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift","line":90,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift:90"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift","line":82,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift:82"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift","line":83,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift:83"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift","line":84,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift:84"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift","line":85,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift:85"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift","line":86,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift:86"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift","line":63,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift:63"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":119,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:119"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":131,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:131"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":153,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:153"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":156,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:156"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":156,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:156"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":190,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:190"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":220,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:220"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift","line":221,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift:221"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift","line":90,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift:90"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift","line":81,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift:81"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift","line":101,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift:101"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift","line":113,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift:113"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift","line":95,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift:95"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift","line":99,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift:99"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift","line":103,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift:103"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift","line":69,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift:69"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift","line":73,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift:73"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift","line":100,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift:100"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift","line":105,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift:105"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift","line":78,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift:78"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift","line":78,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift:78"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift","line":65,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift:65"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift","line":96,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift:96"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift","line":80,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift:80"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift","line":84,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift:84"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift","line":88,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift:88"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift","line":96,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift:96"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift","line":97,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift:97"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift","line":98,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift:98"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/BubbleChart.xcplaygroundpage/Contents.swift","line":55,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/BubbleChart.xcplaygroundpage/Contents.swift:55"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/CandleChart.xcplaygroundpage/Contents.swift","line":26,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/CandleChart.xcplaygroundpage/Contents.swift:26"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift","line":39,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift:39"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift","line":67,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift:67"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift","line":71,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift:71"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift","line":71,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift:71"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/HorizontalBarChart.xcplaygroundpage/Contents.swift","line":80,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/HorizontalBarChart.xcplaygroundpage/Contents.swift:80"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift","line":80,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift:80"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift","line":86,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift:86"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift","line":92,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/LineChart.xcplaygroundpage/Contents.swift:92"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/RadarChart.xcplaygroundpage/Contents.swift","line":71,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/RadarChart.xcplaygroundpage/Contents.swift:71"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/RadarChart.xcplaygroundpage/Contents.swift","line":72,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/RadarChart.xcplaygroundpage/Contents.swift:72"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift","line":59,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift:59"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift","line":61,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift:61"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift","line":63,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/ScatterChart.xcplaygroundpage/Contents.swift:63"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/StackedBarChart.xcplaygroundpage/Contents.swift","line":83,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/StackedBarChart.xcplaygroundpage/Contents.swift:83"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"ChartsDemo-macOS/PlaygroundChart.playground/Pages/StackedBarChart.xcplaygroundpage/Contents.swift","line":84,"fingerprint":"swift.lang.crypto.insecure-random:ChartsDemo-macOS/PlaygroundChart.playground/Pages/StackedBarChart.xcplaygroundpage/Contents.swift:84"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"Tests/ChartsTests/ChartDataTests.swift","line":27,"fingerprint":"swift.lang.crypto.insecure-random:Tests/ChartsTests/ChartDataTests.swift:27"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"Tests/ChartsTests/ChartDataTests.swift","line":31,"fingerprint":"swift.lang.crypto.insecure-random:Tests/ChartsTests/ChartDataTests.swift:31"},{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"Tests/ChartsTests/ChartDataTests.swift","line":35,"fingerprint":"swift.lang.crypto.insecure-random:Tests/ChartsTests/ChartDataTests.swift:35"}],"evidence":[],"data":{"rulesets":["swift","c","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":2.0,"findings":20.0,"findings_high":6.0,"findings_medium":13.0,"findings_low":1.0,"penalty":97.0},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":32,"fingerprint":"unpinned-uses:.github/workflows/build.yml:32"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":49,"fingerprint":"unpinned-uses:.github/workflows/build.yml:49"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":59,"fingerprint":"unpinned-uses:.github/workflows/build.yml:59"},{"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":79,"fingerprint":"unpinned-uses:.github/workflows/build.yml:79"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":14,"fingerprint":"unpinned-uses:.github/workflows/release.yml:14"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":32,"fingerprint":"artipacked:.github/workflows/build.yml:32"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":49,"fingerprint":"artipacked:.github/workflows/build.yml:49"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":59,"fingerprint":"artipacked:.github/workflows/build.yml:59"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":69,"fingerprint":"artipacked:.github/workflows/build.yml:69"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":79,"fingerprint":"artipacked:.github/workflows/build.yml:79"},{"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":17,"fingerprint":"excessive-permissions:.github/workflows/build.yml:17"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":36,"fingerprint":"excessive-permissions:.github/workflows/build.yml:36"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":53,"fingerprint":"excessive-permissions:.github/workflows/build.yml:53"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":63,"fingerprint":"excessive-permissions:.github/workflows/build.yml:63"},{"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"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":14,"fingerprint":"artipacked:.github/workflows/release.yml:14"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":10,"fingerprint":"excessive-permissions:.github/workflows/release.yml:10"},{"rule_id":"zizmor/adhoc-packages","severity":"low","message":"ad-hoc installation of packages [confidence high]","path":".github/workflows/release.yml","line":17,"fingerprint":"adhoc-packages:.github/workflows/release.yml:17"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.34,"unpinned_manifests":0.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":1887.0,"function_nloc":21784.0,"mean_ccn":2.29,"p90_ccn":4.0,"complex_functions":40.0,"long_functions":15.0,"many_param_functions":6.0,"risky_nloc_share":0.1786},"findings":[],"evidence":[{"kind":"complex-function","description":"drawValues in Source/Charts/Renderers/HorizontalBarChartRenderer.swift: complexity 54, 235 lines","ref":"Source/Charts/Renderers/HorizontalBarChartRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/HorizontalBarChartRenderer.swift#L333","weight":0.9},{"kind":"complex-function","description":"renderLegend in Source/Charts/Renderers/LegendRenderer.swift: complexity 54, 241 lines","ref":"Source/Charts/Renderers/LegendRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/LegendRenderer.swift#L175","weight":0.9},{"kind":"complex-function","description":"drawValues in Source/Charts/Renderers/PieChartRenderer.swift: complexity 49, 231 lines","ref":"Source/Charts/Renderers/PieChartRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/PieChartRenderer.swift#L286","weight":0.8166666666666667},{"kind":"complex-function","description":"drawValues in Source/Charts/Renderers/BarChartRenderer.swift: complexity 48, 190 lines","ref":"Source/Charts/Renderers/BarChartRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/BarChartRenderer.swift#L448","weight":0.8},{"kind":"complex-function","description":"prepareBuffer in Source/Charts/Renderers/BarChartRenderer.swift: complexity 34, 115 lines","ref":"Source/Charts/Renderers/BarChartRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/BarChartRenderer.swift#L83","weight":0.5666666666666667},{"kind":"complex-function","description":"label in ChartsDemo-iOS/Swift/DemoBaseViewController.swift: complexity 33, 36 lines","ref":"ChartsDemo-iOS/Swift/DemoBaseViewController.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Swift/DemoBaseViewController.swift#L54","weight":0.55},{"kind":"complex-function","description":"easingFunctionFromOption in Source/Charts/Animation/ChartAnimationEasing.swift: complexity 32, 68 lines","ref":"Source/Charts/Animation/ChartAnimationEasing.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Animation/ChartAnimationEasing.swift#L53","weight":0.5333333333333333},{"kind":"complex-function","description":"drawHighlighted in Source/Charts/Renderers/PieChartRenderer.swift: complexity 32, 152 lines","ref":"Source/Charts/Renderers/PieChartRenderer.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Renderers/PieChartRenderer.swift#L691","weight":0.5333333333333333},{"kind":"complex-function","description":"calculateDimensions in Source/Charts/Components/Legend.swift: complexity 31, 144 lines","ref":"Source/Charts/Components/Legend.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Components/Legend.swift#L214","weight":0.5166666666666667},{"kind":"complex-function","description":"pinchGestureRecognized in Source/Charts/Charts/BarLineChartViewBase.swift: complexity 29, 75 lines","ref":"Source/Charts/Charts/BarLineChartViewBase.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/Source/Charts/Charts/BarLineChartViewBase.swift#L588","weight":0.48333333333333334}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":23010.0,"duplicated_lines":4809.0,"duplicated_share":0.209,"files":267.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/AppDelegate.h:3 and ChartsDemo-iOS/Objective-C/DemoBaseViewController.h:3","ref":"ChartsDemo-iOS/Objective-C/AppDelegate.h","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/AppDelegate.h#L3","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift:3 and ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift:3","ref":"ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift#L3","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift:2 and ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift:2","ref":"ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift#L2","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/DemoBaseViewController.h:5 and ChartsDemo-iOS/Objective-C/Formatters/DateValueFormatter.h:5","ref":"ChartsDemo-iOS/Objective-C/DemoBaseViewController.h","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/DemoBaseViewController.h#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/DemoBaseViewController.m:297 and ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.m:54","ref":"ChartsDemo-iOS/Objective-C/DemoBaseViewController.m","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/DemoBaseViewController.m#L297","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h:5 and ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.h:5","ref":"ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m:17 and ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.m:18","ref":"ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m#L17","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m:33 and ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.m:34","ref":"ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m#L33","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m:64 and ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.m:71","ref":"ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m#L64","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m:76 and ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.m:95","ref":"ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m","url":"https://github.com/ChartsOrg/Charts/blob/1bad5469f57628782110b05996d4fa00473abf06/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m#L76","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"weighted_findings":0.0,"scanned_lines":32708.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":38346.0,"test_ratio":0.0,"ci_files":2.0,"cochange_share":0.0,"cochange_commits":212.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.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":1.0,"check:changelog":1.0,"readme_lines":153.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0},{"kind":"docs","description":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}