{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:01.138710Z","repo":{"ref":{"host":"github.com","owner":"Muriel2Horak","name":"core-platform"},"default_branch":"main","clone_url":"https://github.com/Muriel2Horak/core-platform.git","html_url":"https://github.com/Muriel2Horak/core-platform","description":"Core platform","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":9829,"primary_language":"Java","license_spdx":null,"created_at":"2025-09-11T10:47:54Z","pushed_at":"2026-04-18T01:12:36Z","security_policy_url":"https://github.com/Muriel2Horak/core-platform/security/policy","distribution":{"owner_created_at":"2023-06-27T16:47:10Z","owner_type":"User","release_assets":[]}},"commit_sha":"05a15d048a20587585d9ddb352dca98a195eb5c9","profile":{"lines_by_language":{"Java":47181,"TypeScript":27494,"JavaScript":21444,"Shell":16391,"Python":2324,"SQL":1871,"HCL":154},"files_by_category":{"docs":1087,"source":669,"config":171,"test":131,"other":84,"generated":18,"binary":9},"source_lines":96728,"test_lines":20131},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.4827,"estimated_share":0.0,"ai_artifacts":1.0,"flagged_work_units":22.0,"flagged_releases":null,"style_index":13.46},"summary":"Weak signals consistent with AI-assisted development. Comments and strings use phrasing typical of LLM-written code (see the coding style evidence)."},"quality":{"score":61.7,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":49.3,"duplication":61.5,"lint":79.3,"testing":55.0,"docs":60.0,"type_safety":95.4,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.21, no CI test run detected; 24% of function code in complex or long functions; 8% duplicated lines. Weakest area: complexity."},"security":{"score":36.9,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":6.6,"sast":92.2,"dependencies":0.9,"ci_actions":32.6,"posture":80.0,"scorecard":null},"summary":"Security posture is poor: 3 possible secret(s) in the tree, 2 only in history; 185 known vulnerabilities in 42 dependencies; 5 high-severity SAST findings; 1 high-severity workflow issues. Weakest area: dependencies."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":65.0,"checked":65.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":712.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":191691.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2025-09":{"loc":33876,"attributed_loc":0},"2025-10":{"loc":147356,"attributed_loc":0},"2025-11":{"loc":3999,"attributed_loc":0},"2026-01":{"loc":6460,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1761426163.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".github/copilot-instructions.md (github-copilot configuration)","ref":".github/copilot-instructions.md","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/.github/copilot-instructions.md","weight":0.5}],"data":{"artifacts":[{"tool":"github-copilot","path":".github/copilot-instructions.md","added_at":1761426163}],"workflows":[],"tools":["github-copilot"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":136.0,"flagged_units":22.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":138915.0,"flagged_loc":92536.0,"flagged_loc_share":0.666133966814239,"max_loc_per_hour":2743.383481731655,"median_loc_per_hour":205.3295468289523,"pr_timed_units":0.0,"excluded_import_loc":51587.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"4,964 lines of first-party code in ~1.8h (2,743 lines/hour, 2 commit session)","ref":"66d7b0d1a823a198c07dddaa81597dbc41e32cf1","url":"https://github.com/Muriel2Horak/core-platform/commit/66d7b0d1a823a198c07dddaa81597dbc41e32cf1","weight":0.6},{"kind":"velocity-burst","description":"14,146 lines of first-party code in ~5.7h (2,486 lines/hour, 17 commit session)","ref":"14a753cf6ad1b4294d44d805eab4bb00ab233e61","url":"https://github.com/Muriel2Horak/core-platform/commit/14a753cf6ad1b4294d44d805eab4bb00ab233e61","weight":0.6},{"kind":"velocity-burst","description":"5,629 lines of first-party code in ~2.5h (2,298 lines/hour, 8 commit session)","ref":"e95f281a2e94894591f744672cdb9dd32c721a8d","url":"https://github.com/Muriel2Horak/core-platform/commit/e95f281a2e94894591f744672cdb9dd32c721a8d","weight":0.6},{"kind":"velocity-burst","description":"9,857 lines of first-party code in ~5.8h (1,693 lines/hour, 34 commit session)","ref":"944d4cefabacf5d46637226eb4d8e8923be55015","url":"https://github.com/Muriel2Horak/core-platform/commit/944d4cefabacf5d46637226eb4d8e8923be55015","weight":0.5078746243022756},{"kind":"velocity-burst","description":"13,827 lines of first-party code in ~8.8h (1,564 lines/hour, 26 commit session)","ref":"12c4be57bb1b686918e22a90100f0c21edfc7999","url":"https://github.com/Muriel2Horak/core-platform/commit/12c4be57bb1b686918e22a90100f0c21edfc7999","weight":0.4692568268233667},{"kind":"velocity-burst","description":"2,734 lines of first-party code in ~2.0h (1,339 lines/hour, 2 commit session)","ref":"7dbedc4067b0848e78ac13ad60287687f965cac0","url":"https://github.com/Muriel2Horak/core-platform/commit/7dbedc4067b0848e78ac13ad60287687f965cac0","weight":0.4016759624540878},{"kind":"velocity-burst","description":"5,677 lines of first-party code in ~4.5h (1,253 lines/hour, 6 commit session)","ref":"84dbd46ac94ee5b843454e8ab09b2fa187b3ecf3","url":"https://github.com/Muriel2Horak/core-platform/commit/84dbd46ac94ee5b843454e8ab09b2fa187b3ecf3","weight":0.3758219933799191},{"kind":"velocity-burst","description":"2,434 lines of first-party code in ~2.0h (1,247 lines/hour, 1 commit session)","ref":"8617379825b3affb35f01d1016b8f7ae32ccaaa6","url":"https://github.com/Muriel2Horak/core-platform/commit/8617379825b3affb35f01d1016b8f7ae32ccaaa6","weight":0.3740352874217416},{"kind":"velocity-burst","description":"2,847 lines of first-party code in ~2.3h (1,218 lines/hour, 10 commit session)","ref":"141fb9e9e7f87af9f9b047d891f4221980c3ddc8","url":"https://github.com/Muriel2Horak/core-platform/commit/141fb9e9e7f87af9f9b047d891f4221980c3ddc8","weight":0.3652601568068425},{"kind":"velocity-burst","description":"2,060 lines of first-party code in ~1.7h (1,193 lines/hour, 2 commit session)","ref":"adb5c9fa26a5d5a84cf5a86531c60167ebd4b50d","url":"https://github.com/Muriel2Horak/core-platform/commit/adb5c9fa26a5d5a84cf5a86531c60167ebd4b50d","weight":0.3578574875341805},{"kind":"velocity-burst","description":"3,121 lines of first-party code in ~2.9h (1,080 lines/hour, 8 commit session)","ref":"672ea5156d8c56d28ebc8ef2ed6db5e50ae117a2","url":"https://github.com/Muriel2Horak/core-platform/commit/672ea5156d8c56d28ebc8ef2ed6db5e50ae117a2","weight":0.3240726853187193},{"kind":"velocity-burst","description":"1,021 lines of first-party code in ~1.1h (920 lines/hour, 1 commit session)","ref":"f17ce4f3927e714bad120ec236b5575e1e2839b3","url":"https://github.com/Muriel2Horak/core-platform/commit/f17ce4f3927e714bad120ec236b5575e1e2839b3","weight":0.2760841261892839},{"kind":"velocity-burst","description":"3,839 lines of first-party code in ~5.2h (740 lines/hour, 10 commit session)","ref":"16a0a2a356c3e5b6d199da507e3f630544567631","url":"https://github.com/Muriel2Horak/core-platform/commit/16a0a2a356c3e5b6d199da507e3f630544567631","weight":0.22214530647235317},{"kind":"velocity-burst","description":"2,668 lines of first-party code in ~3.7h (718 lines/hour, 2 commit session)","ref":"4fe112fbecb3e826c1a152df686d41d3680b9b9f","url":"https://github.com/Muriel2Horak/core-platform/commit/4fe112fbecb3e826c1a152df686d41d3680b9b9f","weight":0.21546698571749048},{"kind":"velocity-burst","description":"2,823 lines of first-party code in ~4.0h (706 lines/hour, 1 commit session)","ref":"a3869f00ab979f7c3781cbb2cd31031ec906cb2f","url":"https://github.com/Muriel2Horak/core-platform/commit/a3869f00ab979f7c3781cbb2cd31031ec906cb2f","weight":0.211725}],"data":{"flagged_loc_by_commit":{"ea308f1ff08c1ee84a1cdf3c0b8954d47e6f3e13":1701,"cf5d3ea3a89ed10b3164d7a5ebbb4590b5205e05":4,"0b0642779bc089eedde1ac7222d07a2af34d8a2d":48,"28df38c5358d85a11fec9f0915b76b6700f547de":5,"90c5c4309c917b28f73b949ba4fb19f455033e96":2338,"5751a14a0c32cf081d1dfe7bf2cc1fbe85ed8a8a":2352,"a3869f00ab979f7c3781cbb2cd31031ec906cb2f":2823,"389eb10e2a8157989a8fd70fae1f7a8eb7086efc":4842,"66d7b0d1a823a198c07dddaa81597dbc41e32cf1":122,"deee88fe6c484b2135f8a0da443cf01b94c78e5c":1564,"caa7a6ad6e5070be3d584b591de16f86d1e68a60":5,"2b31e5b5ab5b1b749c0aa786e274680589c2b99c":3,"adc49ae70be9838b9c4ef5873fd4477187b17422":1,"9adfe29d7a1587b55c60aa69ef55ac7f019c7a4b":8,"8ec4996650a39ac8bd28dce294c53aa20a67914b":108,"7c99300e1b0f7608d05bf72cff25539b6b3c0bea":1,"65076ec2571d2a6668087c889dafb0f14aca0177":1028,"d6f3cce539caa397e73c7fbce8e2ac7d645e3912":106,"141fb9e9e7f87af9f9b047d891f4221980c3ddc8":23,"1060efaa8e5da203c82e1a1fb01295f06cc7ef22":2704,"7dbedc4067b0848e78ac13ad60287687f965cac0":30,"0fab17cc169310c12e2a1bcfa7f030873058d29b":242,"13636bb68df01ff7875ec71d3196eb681c4aac70":141,"786c5c6052ec9bab19e9cb63b52cceef95b0492a":57,"d1a87d3dd4ca0047418f78e0a8b292d563d13762":1,"c3aabe23c3e13d48c9440cd938b782ae1150ae31":2,"a8f72cb4529878affd95802352e9236e8946ecd1":7,"2d5177931df459ef562ce616c14432e90f915531":1787,"672ea5156d8c56d28ebc8ef2ed6db5e50ae117a2":884,"f17ce4f3927e714bad120ec236b5575e1e2839b3":1021,"d3d1c57417b6effa5f6a4ac6bfb6724dd17f7729":1403,"4fe112fbecb3e826c1a152df686d41d3680b9b9f":1265,"1cfa7affb78fdfb9379a4e495d39786ed7b55197":49,"adb5c9fa26a5d5a84cf5a86531c60167ebd4b50d":2011,"cffb4358313264981bc621015010810daa4e19fd":68,"4407af3d199fa5962ef9142c26fb1de579b8f406":119,"e1bc325d6bf99dadd660aad9135dc1b3e2d0beab":431,"98666ebb6255f3082f12315c15afbf5b460742b3":134,"ab2613030206f985b0a26bf2c78583ee420d3515":727,"f2d6b1e0445977dc15029449dc4b8289039ed2fe":104,"ecaec1ddc7f2e13c92a58f2f069d2591b8b305d1":325,"aa5d3e95c517ccf1dd41bb8686559e347632b95d":217,"d487bfd1699324bc6d118b55a8d6e2fa04c50636":1634,"1087f5167f6a97c74c695ae7d5c00b1ecbdea2be":178,"2686feed37fd23ee071d4e62bb0297c981eee09d":249,"82c1c2008157c535e9b0d670d617ee9a7cc1eadd":121,"7831b63ea0595261fd669dc8df9c333cff3e74f1":566,"873f8ad3ef73199e87e4c1ebca6bca26bdd18ffc":393,"3165f92616ec27013420aee460c5b19ed5079da8":330,"c0c7e9368d41e7ffbe1dc852d25a2f052ac19dc2":161,"5ffa9dd53e6f029d3f877c60c09286b879f3bd71":511,"4fc45c3ec9c74ca77b05c9664ce46aa34c44c3f6":49,"16ed2c96e4d7370386975c69e42079380abfe915":205,"be68ab95d3a79af66050a703ddc204c7f52a76a5":5,"378ae589633880e69fc3633f457bead57e5e60a0":107,"35c6c1279eb3c68a4ef49bb67e76a0c4460e0f99":154,"a7a8181f5032596062a0655a58a22cd60acf0e3e":74,"8317118880a0384c02eaf2b33a0115c478d5441a":85,"06404d229997608212b73c0d1c633a11b47f44ac":226,"1b14fa49ad18206ba21f0f7e6aff77a2b2d44af0":304,"08f2e31d59e77b5cff8a9625a60db9adf004172b":994,"60e558fd15e478df6e1805c3cb6d0f8a8c6e24c4":909,"324694da94f23e3e8779329519e3cae2b9a4f680":40,"7c2365c9588014a9e96b3e7c57bde729fcc30120":263,"b606b1d57912f7653826f7a9f37cebf88d2ccbcc":23,"587fec9c9ff6d542fd256b902e3f85dde534925a":73,"f310152dc58060b60ac8c08d79c341934aaf05d7":43,"944d4cefabacf5d46637226eb4d8e8923be55015":35,"365920f40728f7fbfa14e23d430d25840d559107":722,"a9f1dfa678bcb47f888fee3dba8f471c0605b21a":205,"32e7219e5ac5f0781945515797c7796be682ba37":408,"961f5a9c377e4902a96b3bbd95d49c06e7155286":300,"d0f0dc9726a0da6ebad8fe8b361a565d94d7880b":182,"d622eefac048d896a56ceb0e5222a5c9179ee9ce":173,"c25cc9c7af4c49fcbd9f47b92a24b4d0fbec36f8":677,"baa0255b692e5cecab58d99c7d419960b7fd2220":667,"6b0efa032306c1bb17ec7b054ace3fcd480d04fb":620,"456ed78e3f067a86d8476fa8f5fb40a1673b0a79":1235,"3be343e1d92df288fb2d8fea3534a7fe06c5c1b3":1019,"c3c368636da94f4c095765abe199c95fe3ff0e2d":430,"d1887f1fd032ff8fd3ab702b43d0ca3078c2cd3d":148,"852f69380613ad108b941463d6d5d5bf0a8dbc17":489,"c27f97bbca3edea8035732f4996acfabc076b209":405,"9a78a3586f87c2e88bcceeffd237bb56542e509c":1692,"a8318fd9b1f6d4217c59f06ffa11d4ffb68f8020":597,"f26e21d98233cfba273101761c17a96f3ff8eb64":49,"0d23adca77d66a89f1b38c67f996d66ae472ac3f":14,"f64ceb2cbf9a653db3ea50b9f741fcccc1f92a70":50,"4920e92f98013b48eec37458e6006e00f6757674":2099,"b9281d4c16b79fec2aae4cc7ad9db11b7db99f1b":490,"8d2dec68a146ff15aa16ee59fbfa9c1bb2df0fbb":394,"5efdc5805c4d7c365c6930202f75288a7934f716":131,"07df03fe6cf45379e99b01843b4f42ff4bf00812":25,"12c4be57bb1b686918e22a90100f0c21edfc7999":606,"48667a94845deda68cf0540cb40b28274d16de47":217,"b19328fd9df0ff30193ed3977b41eb8f3ddab9d5":169,"4ce67f4cf656ca79032243b8386958be766cc987":725,"f8ac5151f9630c5a9904f937b3c86e7f7df20b9f":736,"01d273afc15bae996391f8e8ef2caf7f4fcda0b7":695,"629564e12b5dc911127e92ffd04117c0de52751d":354,"b753ef36259f1d7231f1cb6daf587f55b90f534a":317,"5ccc79cc93c35550e2bb8352d42664c97ba2d5b4":135,"2642b0c0e3db3c116ee7c2986a33c37dc1d48eec":50,"3d994678d56506e43d2d30a712bebe15d3915694":48,"3c156d6f7c31105005bfec5238418ec54afdf079":102,"cfbae29cfb26338d18be708ff187207a6277731c":54,"6c2b82acb4ce7ccf33a170ee30b7e0f50969ecd4":279,"b21ae146d48cbfe6e65c63968fbc795dda12e414":882,"0e76faabcf298f5b5e154d3bd40697b251b2676d":896,"0819033ca0356dbf49f0bd558f54bda028a7aaf9":1500,"5da6f87f8c98b1dbde30a843d3a63ead669717fe":281,"7df540487b6a841209ce0520bf3dc1856ab4e3da":215,"4b3e7482bb793e9fd3e481b1ea76cf81942d7c76":1202,"e95f281a2e94894591f744672cdb9dd32c721a8d":374,"58b284c29054adbcea02e0a40af268fd4b3c94e4":333,"b0e6290ae6526ba8c31b26b0f137afcf25034160":280,"b50f088f1964d916ddc55a506adac5032d4d2b35":3,"fc3df682bd6ebb452e7728ab5ccca5585fba703c":256,"f6c7c91fccb697b04d27bdfb6b693a21332e7df9":513,"dc8a0c0d8385dc5fec72ec10a1489d3d7c414edc":3,"174cc9b416604b404b87a92becd82e328fd529e6":4,"532ddc0ecebaa878d191935263364671a9aef8ab":1,"82e3a5403dc9e861900dd3c9311855ddb24ffab7":1677,"6951998bc5474f88d4aa415974c0e286fa8843c7":1597,"74959846c637aa7ac2e893ec6c4525343f0ef24d":551,"de2b8674523d909922335f75a075f78693e3a375":283,"beb14445f417b015cc4a8e902f95975c06025c5b":1028,"adc4a8db31c8f5a1941438753ac3533c5903dbcf":521,"376c48ebd204508f45466990a2741ca6a2213302":250,"9c45a32d654687451b8e7a4870ee4ea491a1f2f3":243,"253504580d7195ee519250d43c0e05c71b96f2f2":845,"adddf59bae5c6290c9b1ca04777e9585bc250596":470,"2223dbfa450eb87dadf12a59b6f93501e0db3b5f":203,"0ccfeaed192fc075dabb24e0732caba954b71213":2419,"c2c1c2203ebc3b012897d6e4d7cd9764563cd927":1196,"34743f0b7fbbaa6ee91692e2c8f48fb55bd60eaf":1020,"14dc6edbe21433c25af0cedcb6c76c30d1012766":646,"825c8d465af4e2f2472c68c2f1916419b1bdbab2":743,"14a753cf6ad1b4294d44d805eab4bb00ab233e61":454,"158f149a9aecd7f447a6159099e2895f20480b0a":512,"0d054d60e6a32dda44a86d13a08f4f340fda2136":435,"58b6cef4156a58f9fd04370b34b47993370da098":3947,"995610f8f848db4ef13908c90545e4b99565d2d3":472,"da319934ea2c9306cd5802aed5b0cf35367ee94b":178,"84dbd46ac94ee5b843454e8ab09b2fa187b3ecf3":133,"c45012c780417e29012992f513a287ededd7b16f":289,"1db6ab4987eb4ecdf755e301270318a0892645b2":1170,"14366c9c7d4d758c488d7337206b67d3a5862c99":902,"369e4a1a3a1d8fc50394ac5f24b8a9e147aafc01":555,"eb295d8c1c50ee94fa42c2b627ee1a093da2113f":55,"981e5bff84a5b7974ea6ec97c3a6b0e10b92ac73":410,"88f1d3759a3dc36f44daedd502b6d43a72fefa2f":263,"4a7dadd7fab565cb86d832048f704328778c92d6":75,"e85b33cbe3c208e9f0ede252f94c884ed9bf21d4":83,"16a0a2a356c3e5b6d199da507e3f630544567631":37,"54e22095be80b4814afbae2097e124748891ab07":1142,"82c3960b6c59350bea5e4f8fc37549e262929a2a":4,"8d62dbd268135809d81159da88defad5aeaef852":93,"1bfb96d28db2aeadbaaa9f2ebc756cddb3c999a8":28,"5749a4c71c6c30511f0c271c6005b630be7bbdb2":9,"3c9b7f3390fdc43f1fee14c45fffeef99483e9c3":15,"ab9d0ac92b3196a84c70246cb3b60afb3e021bc0":8,"d20e84cf8a591640d01ffab2243e997bdb11a208":16,"024eeea14597185796c075f5b9724f199262a4f2":6,"582b983517f23d99e00a5b58e8e75d66f8eb54f8":91,"e85ebeedef5c12d4d97627257d1081f11fb79d37":278,"0b71cfab61ac9db98d461d6b7adf2dfb98981778":47,"55ab9e6b9ef1857c2216e6a16ebbaeddb034d189":3,"b6b0691739ae6c72b46a61d39059cf587433f921":9,"0fdc7106d4d9955f5682bc04a3605a40b8ebbf8b":18,"dc540b05a3798a6eee97116f351bcab81fddaee7":4,"ecec0c1e5956e724da657d3e4737226a0f96055c":16,"356a6377da6056373ea02a035338829e770c97ae":1610,"48ce6df222c9561c0558f8d0ef79fd70c7348cf0":2,"b58c14bd5ebd1f1b3e2020a1966a88ceff737dc1":13,"82658b5bcd60900ea8fa31df6db7d34c8f510513":16,"21196556245f22977a87a53be5560519da50f320":15,"583ae0f916a3cc912b97331807cb22c48a0dcb1d":3,"8617379825b3affb35f01d1016b8f7ae32ccaaa6":2434},"excluded_import_commits":["3d6f644b7365034c6839ba1dba8ffa2f337d3050","5069de7e27e27f9a5d206532ca5586659a6ee088","54dfc50a46f9f7851bea451a3e5cc6d1b676b862","5a0f5620d9ce37dc52eafd9fddd9a6e6af82838b","78339d43ce1dc2eccc5638f935ff828a24aa6b59","a37a0bae65b515ee22102ec8767710fa772b8f5a","ecac6ce2f457f21f251044de921d570c6f78bdb3","f17d31f36f27eebef742dbc675eff2e6a48aa9b2"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":96728.0,"index":13.46,"count:narrated_steps":31.0,"per_kloc:narrated_steps":0.32,"files:narrated_steps":8.0,"count:placeholder":4.0,"per_kloc:placeholder":0.041,"files:placeholder":4.0,"count:emoji_in_code":2518.0,"per_kloc:emoji_in_code":26.032,"files:emoji_in_code":368.0,"count:assistant_voice":2.0,"per_kloc:assistant_voice":0.021,"files:assistant_voice":2.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // First, get client UUID","ref":"backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java:1144","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java#L1144","weight":0.0},{"kind":"stylometry:placeholder","description":"placeholder or demo-only phrasing: // Note: This is a simplified version - in real implementation,","ref":"backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java:1247","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java#L1247","weight":0.0},{"kind":"stylometry:assistant_voice","description":"assistant-style phrasing left in code: * Key features: - Per-entity locks (not global) - Automatic lock cleanup - Fair","ref":"backend/src/main/java/cz/muriel/core/service/CdcLockService.java:18","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/CdcLockService.java#L18","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: Create backup if file exists","ref":"backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java:70","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java#L70","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Write to temp file","ref":"backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java:76","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java#L76","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Validate temp file","ref":"backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java:80","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java#L80","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 4: Atomic move","ref":"backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java:89","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java#L89","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 5: Delete backup on success","ref":"backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java:94","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/service/YamlPersistenceService.java#L94","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":3.0,"secrets_history":2.0,"secrets_nonprod":25.0,"secrets_low_confidence":9.0},"findings":[{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in the current tree (test/docs/example file)","path":"MONITORING_COMPLETE.md","line":89,"fingerprint":"MONITORING_COMPLETE.md:curl-auth-user:89"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"DB_SEPARATE_USERS_PLAN.md","line":199,"fingerprint":"DB_SEPARATE_USERS_PLAN.md:generic-api-key:199"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":".env.example","line":20,"fingerprint":".env.example:generic-api-key:20"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":".env.bak","line":79,"fingerprint":".env.bak:generic-api-key:79"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":".env.backup","line":27,"fingerprint":".env.backup:generic-api-key:27"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"backend/src/main/java/cz/muriel/core/backend/config/OpenApiConfig.java","line":101,"fingerprint":"backend/src/main/java/cz/muriel/core/backend/config/OpenApiConfig.java:generic-api-key:101"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"SECURITY_CONFIG_AUDIT.md","line":465,"fingerprint":"SECURITY_CONFIG_AUDIT.md:generic-api-key:465"},{"rule_id":"gitleaks/jwt","severity":"low","message":"Possible jwt secret in the current tree (test/docs/example file)","path":"backlog/EPIC-017-modular-architecture/stories/LIC-001-license-jwt-validation/README.md","line":89,"fingerprint":"backlog/EPIC-017-modular-architecture/stories/LIC-001-license-jwt-validation/README.md:jwt:89"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"backlog/EPIC-016-advanced-data-ux-framework/stories/DUX10-layout-sharing-collaboration/README.md","line":102,"fingerprint":"backlog/EPIC-016-advanced-data-ux-framework/stories/DUX10-layout-sharing-collaboration/README.md:generic-api-key:102"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in the current tree (test/docs/example file)","path":"docker/grafana/PROVISIONING_README.md","line":131,"fingerprint":"docker/grafana/PROVISIONING_README.md:curl-auth-user:131"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"docker/.env","line":23,"fingerprint":"docker/.env:generic-api-key:23"},{"rule_id":"gitleaks/curl-auth-user","severity":"high","message":"Possible curl-auth-user secret in the current tree","path":"docker/grafana/scripts/init-orgs.sh","line":7,"fingerprint":"docker/grafana/scripts/init-orgs.sh:curl-auth-user:7"},{"rule_id":"gitleaks/private-key","severity":"high","message":"Possible private-key secret in the current tree","path":"docker/ssl/key.pem","line":1,"fingerprint":"docker/ssl/key.pem:private-key:1"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in the current tree (test/docs/example file)","path":"docs/MONITORING_DEPLOYMENT_GUIDE.md","line":223,"fingerprint":"docs/MONITORING_DEPLOYMENT_GUIDE.md:curl-auth-user:223"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/API_DOCUMENTATION.md","line":46,"fingerprint":"docs/API_DOCUMENTATION.md:generic-api-key:46"},{"rule_id":"gitleaks/curl-auth-header","severity":"low","message":"Possible curl-auth-header secret in the current tree (test/docs/example file)","path":"docs/SECURITY_MIGRATION_GUIDE.md","line":100,"fingerprint":"docs/SECURITY_MIGRATION_GUIDE.md:curl-auth-header:100"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/TROUBLESHOOTING.md","line":148,"fingerprint":"docs/TROUBLESHOOTING.md:generic-api-key:148"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/MONITORING_BFF_ARCHITECTURE.md","line":591,"fingerprint":"docs/MONITORING_BFF_ARCHITECTURE.md:generic-api-key:591"},{"rule_id":"gitleaks/private-key","severity":"high","message":"Possible private-key secret in the current tree","path":"ssl/key.pem","line":1,"fingerprint":"ssl/key.pem:private-key:1"},{"rule_id":"gitleaks/jwt","severity":"low","message":"Possible jwt secret in the current tree (test/docs/example file)","path":"docs/MODULE_LICENSING.md","line":124,"fingerprint":"docs/MODULE_LICENSING.md:jwt:124"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/MODULE_LICENSING.md","line":161,"fingerprint":"docs/MODULE_LICENSING.md:generic-api-key:161"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 09ffd42252); removed from the current tree but still retrievable","path":"backlog/EPIC-016-advanced-data-ux-framework/stories/S10-sharing.md","line":84,"fingerprint":"09ffd42252bce9a367ed241d09cdb1d2040f3723:backlog/EPIC-016-advanced-data-ux-framework/stories/S10-sharing.md:generic-api-key:84"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 61b08decbe); removed from the current tree but still retrievable","path":"backlog/EPIC-016-advanced-data-ux-framework/stories/S10/README.md","line":84,"fingerprint":"61b08decbec53e11dbcd72f170ba82249f753f76:backlog/EPIC-016-advanced-data-ux-framework/stories/S10/README.md:generic-api-key:84"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit e1057e6f26); removed from the current tree but still retrievable","path":"docker/keycloak/realm-admin.json","line":219,"fingerprint":"e1057e6f26d882db399b7893f3dc2230b7c9de71:docker/keycloak/realm-admin.json:generic-api-key:219"},{"rule_id":"gitleaks/curl-auth-user","severity":"medium","message":"Possible curl-auth-user secret in history (commit ebfdf021c5); removed from the current tree but still retrievable","path":"docker/grafana/scripts/entrypoint.sh","line":126,"fingerprint":"ebfdf021c57ccc485e0b0a8c7330a4a6cabbe050:docker/grafana/scripts/entrypoint.sh:curl-auth-user:126"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit 3f0f7e66e0); removed from the current tree but still retrievable","path":"GRAFANA_SSO_DEBUG_SUMMARY.md","line":86,"fingerprint":"3f0f7e66e02f0947ada164ad9f4e9958b9c35384:GRAFANA_SSO_DEBUG_SUMMARY.md:curl-auth-user:86"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit ab1d81cf98); removed from the current tree but still retrievable","path":"GRAFANA_PROVISIONING_STABLE.md","line":238,"fingerprint":"ab1d81cf9881410abda80ae8d4f379c1c25728ee:GRAFANA_PROVISIONING_STABLE.md:curl-auth-user:238"},{"rule_id":"gitleaks/curl-auth-user","severity":"medium","message":"Possible curl-auth-user secret in history (commit ab1d81cf98); removed from the current tree but still retrievable","path":".github/workflows/grafana-provisioning.yml","line":111,"fingerprint":"ab1d81cf9881410abda80ae8d4f379c1c25728ee:.github/workflows/grafana-provisioning.yml:curl-auth-user:111"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit 3f0f7e66e0); removed from the current tree but still retrievable","path":"GRAFANA_SSO_FIX_SUMMARY.md","line":259,"fingerprint":"3f0f7e66e02f0947ada164ad9f4e9958b9c35384:GRAFANA_SSO_FIX_SUMMARY.md:curl-auth-user:259"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit 45ef0e40cd); removed from the current tree but still retrievable","path":"MONITORING_IMPLEMENTATION_COMPLETE.md","line":101,"fingerprint":"45ef0e40cd23f6c94aadd38cd8e5c448d0b23dc0:MONITORING_IMPLEMENTATION_COMPLETE.md:curl-auth-user:101"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 58b6cef415); removed from the current tree but still retrievable","path":"GRAFANA_SCENES_TESTS_COMPLETE.md","line":52,"fingerprint":"58b6cef4156a58f9fd04370b34b47993370da098:GRAFANA_SCENES_TESTS_COMPLETE.md:generic-api-key:52"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit cbe64322bf); removed from the current tree but still retrievable","path":"TESTING_GRAFANA_PROVISIONING.md","line":262,"fingerprint":"cbe64322bf3c158e36655ea808ef059712e24016:TESTING_GRAFANA_PROVISIONING.md:curl-auth-user:262"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit e0bb5673d8); removed from the current tree but still retrievable","path":"GRAFANA_PROVISIONING_IMPLEMENTATION.md","line":321,"fingerprint":"e0bb5673d803566f3fc8554637021f5a2598e22b:GRAFANA_PROVISIONING_IMPLEMENTATION.md:curl-auth-user:321"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 5069de7e27); removed from the current tree but still retrievable","path":".env","line":19,"fingerprint":"5069de7e27e27f9a5d206532ca5586659a6ee088:.env:generic-api-key:19"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit ddf174d26b); removed from the current tree but still retrievable","path":"docs/GRAFANA_USER_SYNC_ARCHITECTURE.md","line":168,"fingerprint":"ddf174d26be4769a288b8d372c9e81e2dd7eca8c:docs/GRAFANA_USER_SYNC_ARCHITECTURE.md:curl-auth-user:168"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit d0b1175c48); removed from the current tree but still retrievable","path":"docker/keycloak/realm-core-platform.json","line":89,"fingerprint":"d0b1175c48331b2717a85a83b9c0caa39d65ba5e:docker/keycloak/realm-core-platform.json:generic-api-key:89"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit d0b1175c48); removed from the current tree but still retrievable","path":"docker/keycloak/realm-core-platform.template.json","line":90,"fingerprint":"d0b1175c48331b2717a85a83b9c0caa39d65ba5e:docker/keycloak/realm-core-platform.template.json:generic-api-key:90"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 185cadbfdd); removed from the current tree but still retrievable","path":"docker/docker-compose.yml","line":85,"fingerprint":"185cadbfdd7d5a9d719a15f655b91824c7d8e461:docker/docker-compose.yml:generic-api-key:85"},{"rule_id":"gitleaks/jwt","severity":"low","message":"Possible jwt secret in history (commit a37a0bae65); removed from the current tree but still retrievable","path":"docker/cookie.txt","line":5,"fingerprint":"a37a0bae65b515ee22102ec8767710fa772b8f5a:docker/cookie.txt:jwt:5"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":72.0,"findings_high":5.0,"findings_medium":55.0,"findings_low":12.0,"weighted_findings":22.1,"scanned_lines":94884.0,"parse_errors":7.0},"findings":[{"rule_id":"opengrep/java.lang.security.audit.formatted-sql-string","severity":"high","message":"Detected a formatted string in a SQL statement. This could lead to SQL injection if variables in the SQL statement are not properly sanitized. Use a prepared statements (java.sql.PreparedStatement) instead. You can obtain a PreparedStatement using 'connection.prepareStatement'. [confidence medium]","path":"backend/src/main/java/cz/muriel/core/entities/MetamodelCrudService.java","line":127,"fingerprint":"java.lang.security.audit.formatted-sql-string:backend/src/main/java/cz/muriel/core/entities/MetamodelCrudService.java:127"},{"rule_id":"opengrep/java.lang.security.audit.formatted-sql-string","severity":"high","message":"Detected a formatted string in a SQL statement. This could lead to SQL injection if variables in the SQL statement are not properly sanitized. Use a prepared statements (java.sql.PreparedStatement) instead. You can obtain a PreparedStatement using 'connection.prepareStatement'. [confidence medium]","path":"backend/src/main/java/cz/muriel/core/entities/MetamodelCrudService.java","line":337,"fingerprint":"java.lang.security.audit.formatted-sql-string:backend/src/main/java/cz/muriel/core/entities/MetamodelCrudService.java:337"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"backend/src/main/java/cz/muriel/core/presence/config/WebSocketConfig.java","line":18,"fingerprint":"javascript.lang.security.detect-insecure-websocket:backend/src/main/java/cz/muriel/core/presence/config/WebSocketConfig.java:18"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"backend/src/main/java/cz/muriel/core/presence/config/WebSocketConfig.java","line":19,"fingerprint":"javascript.lang.security.detect-insecure-websocket:backend/src/main/java/cz/muriel/core/presence/config/WebSocketConfig.java:19"},{"rule_id":"opengrep/dockerfile.security.missing-user","severity":"high","message":"By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium]","path":"docker/frontend/Dockerfile","line":31,"fingerprint":"dockerfile.security.missing-user:docker/frontend/Dockerfile:31"},{"rule_id":"opengrep/bash.curl.security.curl-pipe-bash","severity":"medium","message":"Data is being piped into `bash` from a `curl` command. An attacker with control of the server in the `curl` command could inject malicious code into the pipe, resulting in a system compromise. Avoid piping untrusted data into `bash` or any other shell if you can. If you must do this, consider checki [confidence low]","path":".devcontainer/scripts/post-create.sh","line":13,"fingerprint":"bash.curl.security.curl-pipe-bash:.devcontainer/scripts/post-create.sh:13"},{"rule_id":"opengrep/java.lang.security.audit.bad-hexa-conversion","severity":"medium","message":"'Integer.toHexString()' strips leading zeroes from each byte if read byte-by-byte. This mistake weakens the hash value computed since it introduces more collisions. Use 'String.format(\"%02X\", ...)' instead. [confidence low]","path":"backend/src/main/java/cz/muriel/core/reporting/support/MetamodelSpecService.java","line":364,"fingerprint":"java.lang.security.audit.bad-hexa-conversion:backend/src/main/java/cz/muriel/core/reporting/support/MetamodelSpecService.java:364"},{"rule_id":"opengrep/java.lang.security.audit.bad-hexa-conversion","severity":"medium","message":"'Integer.toHexString()' strips leading zeroes from each byte if read byte-by-byte. This mistake weakens the hash value computed since it introduces more collisions. Use 'String.format(\"%02X\", ...)' instead. [confidence low]","path":"backend/src/main/java/cz/muriel/core/service/KeycloakEventProjectionService.java","line":804,"fingerprint":"java.lang.security.audit.bad-hexa-conversion:backend/src/main/java/cz/muriel/core/service/KeycloakEventProjectionService.java:804"},{"rule_id":"opengrep/java.lang.security.audit.bad-hexa-conversion","severity":"medium","message":"'Integer.toHexString()' strips leading zeroes from each byte if read byte-by-byte. This mistake weakens the hash value computed since it introduces more collisions. Use 'String.format(\"%02X\", ...)' instead. [confidence low]","path":"backend/src/main/java/cz/muriel/core/service/UiCapabilitiesService.java","line":121,"fingerprint":"java.lang.security.audit.bad-hexa-conversion:backend/src/main/java/cz/muriel/core/service/UiCapabilitiesService.java:121"},{"rule_id":"opengrep/java.spring.security.audit.spring-actuator-dangerous-endpoints-enabled","severity":"medium","message":"Spring Boot Actuators \"health,info,prometheus,metrics\" are enabled. Depending on the actuators, this can pose a significant security risk. Please double-check if the actuators are needed and properly secured. [confidence medium]","path":"backend/src/main/resources/application.properties","line":181,"fingerprint":"java.spring.security.audit.spring-actuator-dangerous-endpoints-enabled:backend/src/main/resources/application.properties:181"},{"rule_id":"opengrep/java.spring.security.audit.spring-actuator-dangerous-endpoints-enabled","severity":"medium","message":"Spring Boot Actuators \"health,info,metrics,prometheus\" are enabled. Depending on the actuators, this can pose a significant security risk. Please double-check if the actuators are needed and properly secured. [confidence medium]","path":"backend/src/main/resources/application.properties","line":322,"fingerprint":"java.spring.security.audit.spring-actuator-dangerous-endpoints-enabled:backend/src/main/resources/application.properties:322"},{"rule_id":"opengrep/dockerfile.security.secret-in-build-arg","severity":"medium","message":"Docker build time arguments are not suited for secrets, because the argument values are saved with the image. Running `docker image history` on the image will show information on how the image was built, including arguments. If these contain plain text secrets, anyone with access to the docker image [confidence low]","path":"docker/frontend/Dockerfile","line":10,"fingerprint":"dockerfile.security.secret-in-build-arg:docker/frontend/Dockerfile:10"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `textOrSelector` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user- [confidence low]","path":"e2e/helpers/scenes.ts","line":56,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:e2e/helpers/scenes.ts:56"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/esbuild.mjs","line":16,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/esbuild.mjs:16"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `dest` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":34,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:34"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `dest` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":35,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:35"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `src` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":37,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:37"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/esbuild.mjs","line":39,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/esbuild.mjs:39"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/esbuild.mjs","line":39,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/esbuild.mjs:39"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/esbuild.mjs","line":40,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/esbuild.mjs:40"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/esbuild.mjs","line":40,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/esbuild.mjs:40"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `src` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":44,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:44"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `dest` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":44,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:44"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `src` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/esbuild.mjs","line":44,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/esbuild.mjs:44"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":8,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:8"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/final-cleanup.cjs","line":11,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/final-cleanup.cjs:11"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/final-cleanup.cjs","line":11,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/final-cleanup.cjs:11"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":12,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:12"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":65,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:65"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":193,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:193"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `{ file, fix }` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":259,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:259"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `{ file, fix }` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":260,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:260"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `{ file, fix }` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/final-cleanup.cjs","line":263,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/final-cleanup.cjs:263"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":8,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-all-eslint-issues.cjs:8"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":11,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-all-eslint-issues.cjs:11"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":11,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-all-eslint-issues.cjs:11"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":12,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-all-eslint-issues.cjs:12"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":27,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-all-eslint-issues.cjs:27"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `component` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-contr [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":97,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:frontend/fix-all-eslint-issues.cjs:97"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `component` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-contr [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":98,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:frontend/fix-all-eslint-issues.cjs:98"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `component` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-contr [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":99,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:frontend/fix-all-eslint-issues.cjs:99"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-all-eslint-issues.cjs","line":131,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-all-eslint-issues.cjs:131"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-react-imports.cjs","line":14,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-react-imports.cjs:14"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-react-imports.cjs","line":17,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-react-imports.cjs:17"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-react-imports.cjs","line":17,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-react-imports.cjs:17"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-react-imports.cjs","line":18,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-react-imports.cjs:18"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-react-imports.cjs","line":33,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-react-imports.cjs:33"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-react-imports.cjs","line":94,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-react-imports.cjs:94"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":9,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-unused-imports.cjs:9"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":12,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-unused-imports.cjs:12"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":12,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:frontend/fix-unused-imports.cjs:12"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `currentDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":13,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-unused-imports.cjs:13"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":29,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-unused-imports.cjs:29"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"frontend/fix-unused-imports.cjs","line":119,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:frontend/fix-unused-imports.cjs:119"},{"rule_id":"opengrep/javascript.lang.security.audit.incomplete-sanitization","severity":"medium","message":"`metrics.errorRate.replace` method will only replace the first occurrence when used with a string argument ('%'). If this method is used for escaping of dangerous data then there is a possibility for a bypass. Try to use sanitization library instead or use a Regex with a global flag. [confidence low]","path":"frontend/src/components/Monitoring/MetricCard.tsx","line":96,"fingerprint":"javascript.lang.security.audit.incomplete-sanitization:frontend/src/components/Monitoring/MetricCard.tsx:96"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/grafana-org-admin.ts","line":157,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/grafana-org-admin.ts:157"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `orgId` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/grafana-org-admin.ts","line":159,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/grafana-org-admin.ts:159"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `tenantId` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/grafana-org-admin.ts","line":159,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/grafana-org-admin.ts:159"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"tools/grafana-org-admin.ts","line":253,"fingerprint":"javascript.lang.security.html-in-template-string:tools/grafana-org-admin.ts:253"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^[a-z][a-z0-9-]*(\\.[a-z][a-z0-9-]*){2,}(-retry|-dlq)?$` which appears to be vulnerable to a Regular expression Denial-of-Service (ReDoS). For this reason, it is recommended to review the regex and ensure it is not vulnerable to catastrophic backtracking, and [confidence low]","path":"tools/naming-lint/src/lint-kafka.js","line":88,"fingerprint":"javascript.lang.security.audit.detect-redos:tools/naming-lint/src/lint-kafka.js:88"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"bff/src/resolvers/index.ts","line":11,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:bff/src/resolvers/index.ts:11"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"bff/src/resolvers/index.ts","line":25,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:bff/src/resolvers/index.ts:25"},{"rule_id":"opengrep/javascript.browser.security.js-open-redirect-from-function","severity":"low","message":"The application accepts potentially user-controlled input `item` which can control the location of the current window context. This can lead two types of vulnerabilities open-redirection and Cross-Site-Scripting (XSS) with JavaScript URIs. It is recommended to validate user-controllable input before [confidence low]","path":"frontend/src/app/layouts/AppShell.tsx","line":217,"fingerprint":"javascript.browser.security.js-open-redirect-from-function:frontend/src/app/layouts/AppShell.tsx:217"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/components/Groups.jsx","line":95,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/components/Groups.jsx:95"},{"rule_id":"opengrep/javascript.browser.security.js-open-redirect-from-function","severity":"low","message":"The application accepts potentially user-controlled input `tenantKey` which can control the location of the current window context. This can lead two types of vulnerabilities open-redirection and Cross-Site-Scripting (XSS) with JavaScript URIs. It is recommended to validate user-controllable input b [confidence low]","path":"frontend/src/components/Layout.jsx","line":187,"fingerprint":"javascript.browser.security.js-open-redirect-from-function:frontend/src/components/Layout.jsx:187"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/components/Reporting/ExplorerGrid.jsx","line":65,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/components/Reporting/ExplorerGrid.jsx:65"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/components/Roles.jsx","line":142,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/components/Roles.jsx:142"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/components/Roles.jsx","line":149,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/components/Roles.jsx:149"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/hooks/useWorkflowCollaboration.ts","line":77,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/hooks/useWorkflowCollaboration.ts:77"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/hooks/useWorkflowCollaboration.ts","line":82,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/hooks/useWorkflowCollaboration.ts:82"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/pages/Admin/WorkflowDesignerPage.tsx","line":91,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/pages/Admin/WorkflowDesignerPage.tsx:91"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"frontend/src/pages/Admin/WorkflowDesignerPage.tsx","line":98,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:frontend/src/pages/Admin/WorkflowDesignerPage.tsx:98"}],"evidence":[],"data":{"rulesets":["java","javascript","typescript","bash","python","terraform","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":42.0,"vulnerabilities":185.0,"vulns_critical":1.0,"vulns_high":85.0,"vulns_medium":92.0,"vulns_low":7.0,"vulns_unknown":0.0,"penalty":281.0},"findings":[{"rule_id":"osv/GHSA-5xrq-8626-4rwp","severity":"critical","message":"vitest@4.0.17 (npm) is affected by GHSA-5xrq-8626-4rwp","path":"frontend/package-lock.json","line":null,"fingerprint":"vitest@4.0.17 (npm):GHSA-5xrq-8626-4rwp"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.25.4 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"docker/package-lock.json","line":null,"fingerprint":"browserslist@4.25.4 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.25.4 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"docker/package-lock.json","line":null,"fingerprint":"browserslist@4.25.4 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-28wg-ghj8-5hjv; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-2v37-7h3g-55p8; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-xwg4-73v4-xw9w","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-xwg4-73v4-xw9w; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-xwg4-73v4-xw9w"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@4.0.3 (npm) is affected by GHSA-c2c7-rcm5-vvqj; also in frontend/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-6g55-p6wh-862q; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-r28c-9q8g-f849; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-mw96-cpmx-2vgc","severity":"high","message":"rollup@4.50.1 (npm) is affected by GHSA-mw96-cpmx-2vgc","path":"docker/package-lock.json","line":null,"fingerprint":"rollup@4.50.1 (npm):GHSA-mw96-cpmx-2vgc"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@7.1.5 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-p9ff-h696-f583","severity":"high","message":"vite@7.1.5 (npm) is affected by GHSA-p9ff-h696-f583","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-p9ff-h696-f583"},{"rule_id":"osv/GHSA-v2wj-q39q-566r","severity":"high","message":"vite@7.1.5 (npm) is affected by GHSA-v2wj-q39q-566r","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-v2wj-q39q-566r"},{"rule_id":"osv/GHSA-35jp-ww65-95wh","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-35jp-ww65-95wh","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-35jp-ww65-95wh"},{"rule_id":"osv/GHSA-3g43-6gmg-66jw","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-3g43-6gmg-66jw","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-3g43-6gmg-66jw"},{"rule_id":"osv/GHSA-3pq3-5fj3-cg6v","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-3pq3-5fj3-cg6v","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-3pq3-5fj3-cg6v"},{"rule_id":"osv/GHSA-43fc-jf86-j433","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-43fc-jf86-j433","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-43fc-jf86-j433"},{"rule_id":"osv/GHSA-542g-h47m-68v8","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-542g-h47m-68v8","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-542g-h47m-68v8"},{"rule_id":"osv/GHSA-62hf-57xw-28j9","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-62hf-57xw-28j9","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-62hf-57xw-28j9"},{"rule_id":"osv/GHSA-6chq-wfr3-2hj9","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-6chq-wfr3-2hj9","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-6chq-wfr3-2hj9"},{"rule_id":"osv/GHSA-777c-7fjr-54vf","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-777c-7fjr-54vf","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-777c-7fjr-54vf"},{"rule_id":"osv/GHSA-hfxv-24rg-xrqf","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-hfxv-24rg-xrqf","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-hfxv-24rg-xrqf"},{"rule_id":"osv/GHSA-j5f8-grm9-p9fc","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-j5f8-grm9-p9fc","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-j5f8-grm9-p9fc"},{"rule_id":"osv/GHSA-p92q-9vqr-4j8v","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-p92q-9vqr-4j8v","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-p92q-9vqr-4j8v"},{"rule_id":"osv/GHSA-pf86-5x62-jrwf","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-pf86-5x62-jrwf","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-pf86-5x62-jrwf"},{"rule_id":"osv/GHSA-pmwg-cvhr-8vh7","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-pmwg-cvhr-8vh7","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-pmwg-cvhr-8vh7"},{"rule_id":"osv/GHSA-q8qp-cvcw-x6jj","severity":"high","message":"axios@1.13.2 (npm) is affected by GHSA-q8qp-cvcw-x6jj","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-q8qp-cvcw-x6jj"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-3jxr-9vmj-r5cp; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-6j4f-fj2g-mc7p; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-mh99-v99m-4gvg; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-qhr7-859c-m2p7; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-rgw5-rvv9-x895; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.26.3 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"frontend/package-lock.json","line":null,"fingerprint":"browserslist@4.26.3 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.26.3 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"frontend/package-lock.json","line":null,"fingerprint":"browserslist@4.26.3 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-px8p-9vwx-vf98","severity":"high","message":"fflate@0.8.2 (npm) is affected by GHSA-px8p-9vwx-vf98","path":"frontend/package-lock.json","line":null,"fingerprint":"fflate@0.8.2 (npm):GHSA-px8p-9vwx-vf98"},{"rule_id":"osv/GHSA-25h7-pfq9-p65f","severity":"high","message":"flatted@3.3.3 (npm) is affected by GHSA-25h7-pfq9-p65f","path":"frontend/package-lock.json","line":null,"fingerprint":"flatted@3.3.3 (npm):GHSA-25h7-pfq9-p65f"},{"rule_id":"osv/GHSA-rf6f-7fwh-wjgh","severity":"high","message":"flatted@3.3.3 (npm) is affected by GHSA-rf6f-7fwh-wjgh","path":"frontend/package-lock.json","line":null,"fingerprint":"flatted@3.3.3 (npm):GHSA-rf6f-7fwh-wjgh"},{"rule_id":"osv/GHSA-hmw2-7cc7-3qxx","severity":"high","message":"form-data@4.0.4 (npm) is affected by GHSA-hmw2-7cc7-3qxx; also in tools/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"form-data@4.0.4 (npm):GHSA-hmw2-7cc7-3qxx"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"frontend/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-52cp-r559-cp3m","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-52cp-r559-cp3m","path":"frontend/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-52cp-r559-cp3m"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"frontend/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash@4.17.21 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"frontend/package-lock.json","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-23c5-xmqv-rm74","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-3ppc-4f35-3m26","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-7r86-cg39-jmmj","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-23c5-xmqv-rm74; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-3ppc-4f35-3m26; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-7r86-cg39-jmmj; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-49rj-9fvp-4h2h","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-49rj-9fvp-4h2h","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-49rj-9fvp-4h2h"},{"rule_id":"osv/GHSA-8646-j5j9-6r62","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-8646-j5j9-6r62","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-8646-j5j9-6r62"},{"rule_id":"osv/GHSA-8x6r-g9mw-2r78","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-8x6r-g9mw-2r78","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-8x6r-g9mw-2r78"},{"rule_id":"osv/GHSA-chx6-hx7r-mcp5","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-chx6-hx7r-mcp5","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-chx6-hx7r-mcp5"},{"rule_id":"osv/GHSA-qwww-vcr4-c8h2","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-qwww-vcr4-c8h2","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-qwww-vcr4-c8h2"},{"rule_id":"osv/GHSA-rxv8-25v2-qmq8","severity":"high","message":"react-router@7.12.0 (npm) is affected by GHSA-rxv8-25v2-qmq8","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-rxv8-25v2-qmq8"},{"rule_id":"osv/GHSA-mw96-cpmx-2vgc","severity":"high","message":"rollup@4.55.2 (npm) is affected by GHSA-mw96-cpmx-2vgc","path":"frontend/package-lock.json","line":null,"fingerprint":"rollup@4.55.2 (npm):GHSA-mw96-cpmx-2vgc"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@7.3.1 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-p9ff-h696-f583","severity":"high","message":"vite@7.3.1 (npm) is affected by GHSA-p9ff-h696-f583","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-p9ff-h696-f583"},{"rule_id":"osv/GHSA-v2wj-q39q-566r","severity":"high","message":"vite@7.3.1 (npm) is affected by GHSA-v2wj-q39q-566r","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-v2wj-q39q-566r"},{"rule_id":"osv/GHSA-96hv-2xvq-fx4p","severity":"high","message":"ws@8.18.3 (npm) is affected by GHSA-96hv-2xvq-fx4p","path":"frontend/package-lock.json","line":null,"fingerprint":"ws@8.18.3 (npm):GHSA-96hv-2xvq-fx4p"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.3.5 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"frontend/package-lock.json","line":null,"fingerprint":"zod@4.3.5 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.26.2 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"browserslist@4.26.2 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.26.2 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"browserslist@4.26.2 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-mw96-cpmx-2vgc","severity":"high","message":"rollup@4.52.3 (npm) is affected by GHSA-mw96-cpmx-2vgc","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"rollup@4.52.3 (npm):GHSA-mw96-cpmx-2vgc"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@5.4.20 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-5j98-mcp5-4vw2","severity":"high","message":"glob@10.4.5 (npm) is affected by GHSA-5j98-mcp5-4vw2","path":"tools/naming-lint/package-lock.json","line":null,"fingerprint":"glob@10.4.5 (npm):GHSA-5j98-mcp5-4vw2"},{"rule_id":"osv/GHSA-35jp-ww65-95wh","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-35jp-ww65-95wh","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-35jp-ww65-95wh"},{"rule_id":"osv/GHSA-3g43-6gmg-66jw","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-3g43-6gmg-66jw","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-3g43-6gmg-66jw"},{"rule_id":"osv/GHSA-43fc-jf86-j433","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-43fc-jf86-j433","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-43fc-jf86-j433"},{"rule_id":"osv/GHSA-62hf-57xw-28j9","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-62hf-57xw-28j9","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-62hf-57xw-28j9"},{"rule_id":"osv/GHSA-6chq-wfr3-2hj9","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-6chq-wfr3-2hj9","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-6chq-wfr3-2hj9"},{"rule_id":"osv/GHSA-777c-7fjr-54vf","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-777c-7fjr-54vf","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-777c-7fjr-54vf"},{"rule_id":"osv/GHSA-hfxv-24rg-xrqf","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-hfxv-24rg-xrqf","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-hfxv-24rg-xrqf"},{"rule_id":"osv/GHSA-j5f8-grm9-p9fc","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-j5f8-grm9-p9fc","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-j5f8-grm9-p9fc"},{"rule_id":"osv/GHSA-p92q-9vqr-4j8v","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-p92q-9vqr-4j8v","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-p92q-9vqr-4j8v"},{"rule_id":"osv/GHSA-pf86-5x62-jrwf","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-pf86-5x62-jrwf","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-pf86-5x62-jrwf"},{"rule_id":"osv/GHSA-pmwg-cvhr-8vh7","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-pmwg-cvhr-8vh7","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-pmwg-cvhr-8vh7"},{"rule_id":"osv/GHSA-q8qp-cvcw-x6jj","severity":"high","message":"axios@1.12.2 (npm) is affected by GHSA-q8qp-cvcw-x6jj","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-q8qp-cvcw-x6jj"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.1.0 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"tools/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.0 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-52cp-r559-cp3m","severity":"high","message":"js-yaml@4.1.0 (npm) is affected by GHSA-52cp-r559-cp3m","path":"tools/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.0 (npm):GHSA-52cp-r559-cp3m"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.1.0 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"tools/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.0 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-xwmg-2g98-w7v9","severity":"medium","message":"com.nimbusds:nimbus-jose-jwt@9.37.3 (Maven) is affected by GHSA-xwmg-2g98-w7v9","path":"backend/pom.xml","line":null,"fingerprint":"com.nimbusds:nimbus-jose-jwt@9.37.3 (Maven):GHSA-xwmg-2g98-w7v9"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@4.0.3 (npm) is affected by GHSA-3v7f-55p6-f55p; also in frontend/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-fxqj-rqcc-2cmp; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-qx2v-qp2m-jg93; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-93m4-6634-74q7","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-93m4-6634-74q7","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-93m4-6634-74q7"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@7.1.5 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-p498-v437-472g","severity":"medium","message":"@humanfs/node@0.16.7 (npm) is affected by GHSA-p498-v437-472g","path":"frontend/package-lock.json","line":null,"fingerprint":"@humanfs/node@0.16.7 (npm):GHSA-p498-v437-472g"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@4.0.17 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"frontend/package-lock.json","line":null,"fingerprint":"@vitest/mocker@4.0.17 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@4.0.17 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"frontend/package-lock.json","line":null,"fingerprint":"@vitest/mocker@4.0.17 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@6.12.6 (npm) is affected by GHSA-2g4f-4pwh-qvx6","path":"frontend/package-lock.json","line":null,"fingerprint":"ajv@6.12.6 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-3p68-rc4w-qgx5","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-3p68-rc4w-qgx5","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-3p68-rc4w-qgx5"},{"rule_id":"osv/GHSA-3w6x-2g7m-8v23","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-3w6x-2g7m-8v23","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-3w6x-2g7m-8v23"},{"rule_id":"osv/GHSA-42h9-826w-cgv3","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-42h9-826w-cgv3","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-42h9-826w-cgv3"},{"rule_id":"osv/GHSA-445q-vr5w-6q77","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-445q-vr5w-6q77","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-445q-vr5w-6q77"},{"rule_id":"osv/GHSA-4hqw-qxg8-jxx2","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-4hqw-qxg8-jxx2","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-4hqw-qxg8-jxx2"},{"rule_id":"osv/GHSA-5c9x-8gcm-mpgx","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-5c9x-8gcm-mpgx","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-5c9x-8gcm-mpgx"},{"rule_id":"osv/GHSA-7q8q-rj6j-mhjq","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-7q8q-rj6j-mhjq","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-7q8q-rj6j-mhjq"},{"rule_id":"osv/GHSA-898c-q2cr-xwhg","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-898c-q2cr-xwhg","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-898c-q2cr-xwhg"},{"rule_id":"osv/GHSA-9fr6-4gfg-395g","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-9fr6-4gfg-395g","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-9fr6-4gfg-395g"},{"rule_id":"osv/GHSA-fvcv-3m26-pcqx","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-fvcv-3m26-pcqx","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-fvcv-3m26-pcqx"},{"rule_id":"osv/GHSA-j8rh-479h-cp32","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-j8rh-479h-cp32","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-j8rh-479h-cp32"},{"rule_id":"osv/GHSA-jqh4-m9w3-8hp9","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-jqh4-m9w3-8hp9","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-jqh4-m9w3-8hp9"},{"rule_id":"osv/GHSA-m7pr-hjqh-92cm","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-m7pr-hjqh-92cm","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-m7pr-hjqh-92cm"},{"rule_id":"osv/GHSA-mmx7-hfxf-jppx","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-mmx7-hfxf-jppx","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-mmx7-hfxf-jppx"},{"rule_id":"osv/GHSA-mwf2-3pr3-8698","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-mwf2-3pr3-8698","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-mwf2-3pr3-8698"},{"rule_id":"osv/GHSA-pmv8-rq9r-6j72","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-pmv8-rq9r-6j72","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-pmv8-rq9r-6j72"},{"rule_id":"osv/GHSA-vf2m-468p-8v99","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-vf2m-468p-8v99","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-vf2m-468p-8v99"},{"rule_id":"osv/GHSA-vh66-26gq-q6x8","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-vh66-26gq-q6x8","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-vh66-26gq-q6x8"},{"rule_id":"osv/GHSA-w9j2-pvgh-6h63","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-w9j2-pvgh-6h63","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-w9j2-pvgh-6h63"},{"rule_id":"osv/GHSA-xx6v-rp6x-q39c","severity":"medium","message":"axios@1.13.2 (npm) is affected by GHSA-xx6v-rp6x-q39c","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-xx6v-rp6x-q39c"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.8.16 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"frontend/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.8.16 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-f886-m6hf-6m8v; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-q2hr-2g5m-vwhr; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-fgmj-fm8m-jvvx","severity":"medium","message":"echarts@5.6.0 (npm) is affected by GHSA-fgmj-fm8m-jvvx","path":"frontend/package-lock.json","line":null,"fingerprint":"echarts@5.6.0 (npm):GHSA-fgmj-fm8m-jvvx"},{"rule_id":"osv/GHSA-r4q5-vmmm-2653","severity":"medium","message":"follow-redirects@1.15.11 (npm) is affected by GHSA-r4q5-vmmm-2653; also in tools/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"follow-redirects@1.15.11 (npm):GHSA-r4q5-vmmm-2653"},{"rule_id":"osv/GHSA-h67p-54hq-rp68","severity":"medium","message":"js-yaml@4.1.1 (npm) is affected by GHSA-h67p-54hq-rp68","path":"frontend/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-h67p-54hq-rp68"},{"rule_id":"osv/GHSA-xxjr-mmjv-4gpg","severity":"medium","message":"lodash@4.17.21 (npm) is affected by GHSA-xxjr-mmjv-4gpg","path":"frontend/package-lock.json","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-xxjr-mmjv-4gpg"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.5 (npm) is affected by GHSA-g3hv-75wg-m249; also in tools/naming-lint/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-2j2x-hqr9-3h42","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-2j2x-hqr9-3h42","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-2j2x-hqr9-3h42"},{"rule_id":"osv/GHSA-337j-9hxr-rhxg","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-337j-9hxr-rhxg","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-337j-9hxr-rhxg"},{"rule_id":"osv/GHSA-f22v-gfqf-p8f3","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-f22v-gfqf-p8f3","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-f22v-gfqf-p8f3"},{"rule_id":"osv/GHSA-h8fp-f39c-q6mh","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-h8fp-f39c-q6mh","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-h8fp-f39c-q6mh"},{"rule_id":"osv/GHSA-jjmj-jmhj-qwj2","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-jjmj-jmhj-qwj2","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-jjmj-jmhj-qwj2"},{"rule_id":"osv/GHSA-wrjc-x8rr-h8h6","severity":"medium","message":"react-router@7.12.0 (npm) is affected by GHSA-wrjc-x8rr-h8h6","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-wrjc-x8rr-h8h6"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@7.3.1 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@4.0.17 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"frontend/package-lock.json","line":null,"fingerprint":"vitest@4.0.17 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-58qx-3vcg-4xpx","severity":"medium","message":"ws@8.18.3 (npm) is affected by GHSA-58qx-3vcg-4xpx","path":"frontend/package-lock.json","line":null,"fingerprint":"ws@8.18.3 (npm):GHSA-58qx-3vcg-4xpx"},{"rule_id":"osv/GHSA-48c2-rrv3-qjmp","severity":"medium","message":"yaml@1.10.2 (npm) is affected by GHSA-48c2-rrv3-qjmp; also in themes/core-material/package-lock.json","path":"frontend/package-lock.json","line":null,"fingerprint":"yaml@1.10.2 (npm):GHSA-48c2-rrv3-qjmp"},{"rule_id":"osv/GHSA-48c2-rrv3-qjmp","severity":"medium","message":"yaml@2.8.2 (npm) is affected by GHSA-48c2-rrv3-qjmp","path":"frontend/package-lock.json","line":null,"fingerprint":"yaml@2.8.2 (npm):GHSA-48c2-rrv3-qjmp"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.8.9 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.8.9 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-67mh-4wv8-2f99","severity":"medium","message":"esbuild@0.21.5 (npm) is affected by GHSA-67mh-4wv8-2f99","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"esbuild@0.21.5 (npm):GHSA-67mh-4wv8-2f99"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-93m4-6634-74q7","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-93m4-6634-74q7","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-93m4-6634-74q7"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@5.4.20 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@10.4.5 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"tools/naming-lint/package-lock.json","line":null,"fingerprint":"glob@10.4.5 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-3p68-rc4w-qgx5","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-3p68-rc4w-qgx5","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-3p68-rc4w-qgx5"},{"rule_id":"osv/GHSA-3w6x-2g7m-8v23","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-3w6x-2g7m-8v23","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-3w6x-2g7m-8v23"},{"rule_id":"osv/GHSA-42h9-826w-cgv3","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-42h9-826w-cgv3","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-42h9-826w-cgv3"},{"rule_id":"osv/GHSA-445q-vr5w-6q77","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-445q-vr5w-6q77","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-445q-vr5w-6q77"},{"rule_id":"osv/GHSA-4hqw-qxg8-jxx2","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-4hqw-qxg8-jxx2","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-4hqw-qxg8-jxx2"},{"rule_id":"osv/GHSA-5c9x-8gcm-mpgx","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-5c9x-8gcm-mpgx","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-5c9x-8gcm-mpgx"},{"rule_id":"osv/GHSA-7q8q-rj6j-mhjq","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-7q8q-rj6j-mhjq","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-7q8q-rj6j-mhjq"},{"rule_id":"osv/GHSA-898c-q2cr-xwhg","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-898c-q2cr-xwhg","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-898c-q2cr-xwhg"},{"rule_id":"osv/GHSA-9fr6-4gfg-395g","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-9fr6-4gfg-395g","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-9fr6-4gfg-395g"},{"rule_id":"osv/GHSA-fvcv-3m26-pcqx","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-fvcv-3m26-pcqx","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-fvcv-3m26-pcqx"},{"rule_id":"osv/GHSA-j8rh-479h-cp32","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-j8rh-479h-cp32","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-j8rh-479h-cp32"},{"rule_id":"osv/GHSA-jqh4-m9w3-8hp9","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-jqh4-m9w3-8hp9","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-jqh4-m9w3-8hp9"},{"rule_id":"osv/GHSA-m7pr-hjqh-92cm","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-m7pr-hjqh-92cm","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-m7pr-hjqh-92cm"},{"rule_id":"osv/GHSA-mmx7-hfxf-jppx","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-mmx7-hfxf-jppx","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-mmx7-hfxf-jppx"},{"rule_id":"osv/GHSA-pmv8-rq9r-6j72","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-pmv8-rq9r-6j72","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-pmv8-rq9r-6j72"},{"rule_id":"osv/GHSA-vf2m-468p-8v99","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-vf2m-468p-8v99","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-vf2m-468p-8v99"},{"rule_id":"osv/GHSA-vh66-26gq-q6x8","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-vh66-26gq-q6x8","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-vh66-26gq-q6x8"},{"rule_id":"osv/GHSA-w9j2-pvgh-6h63","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-w9j2-pvgh-6h63","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-w9j2-pvgh-6h63"},{"rule_id":"osv/GHSA-xx6v-rp6x-q39c","severity":"medium","message":"axios@1.12.2 (npm) is affected by GHSA-xx6v-rp6x-q39c","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-xx6v-rp6x-q39c"},{"rule_id":"osv/GHSA-h67p-54hq-rp68","severity":"medium","message":"js-yaml@4.1.0 (npm) is affected by GHSA-h67p-54hq-rp68","path":"tools/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.0 (npm):GHSA-h67p-54hq-rp68"},{"rule_id":"osv/GHSA-mh29-5h37-fv8m","severity":"medium","message":"js-yaml@4.1.0 (npm) is affected by GHSA-mh29-5h37-fv8m","path":"tools/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.0 (npm):GHSA-mh29-5h37-fv8m"},{"rule_id":"osv/GHSA-4x5r-pxfx-6jf8","severity":"low","message":"@babel/core@7.28.4 (npm) is affected by GHSA-4x5r-pxfx-6jf8; also in frontend/package-lock.json; also in themes/core-material/package-lock.json","path":"docker/package-lock.json","line":null,"fingerprint":"@babel/core@7.28.4 (npm):GHSA-4x5r-pxfx-6jf8"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@7.1.5 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"docker/package-lock.json","line":null,"fingerprint":"vite@7.1.5 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-xhjh-pmcv-23jw","severity":"low","message":"axios@1.13.2 (npm) is affected by GHSA-xhjh-pmcv-23jw","path":"frontend/package-lock.json","line":null,"fingerprint":"axios@1.13.2 (npm):GHSA-xhjh-pmcv-23jw"},{"rule_id":"osv/GHSA-84g9-w2xq-vcv6","severity":"low","message":"react-router@7.12.0 (npm) is affected by GHSA-84g9-w2xq-vcv6","path":"frontend/package-lock.json","line":null,"fingerprint":"react-router@7.12.0 (npm):GHSA-84g9-w2xq-vcv6"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@7.3.1 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"frontend/package-lock.json","line":null,"fingerprint":"vite@7.3.1 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@5.4.20 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"themes/core-material/package-lock.json","line":null,"fingerprint":"vite@5.4.20 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-xhjh-pmcv-23jw","severity":"low","message":"axios@1.12.2 (npm) is affected by GHSA-xhjh-pmcv-23jw","path":"tools/package-lock.json","line":null,"fingerprint":"axios@1.12.2 (npm):GHSA-xhjh-pmcv-23jw"}],"evidence":[],"data":{"ecosystems":["Maven","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":4.0,"findings":33.0,"findings_high":1.0,"findings_medium":32.0,"findings_low":0.0,"penalty":67.2},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":34,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:34"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":8,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:8"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":63,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:63"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":117,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:117"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":140,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:140"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":163,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:163"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":178,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:178"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":33,"fingerprint":"artipacked:.github/workflows/ci.yml:33"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":15,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:15"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":61,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:61"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":146,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:146"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":185,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:185"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":218,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:218"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":280,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:280"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":336,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:336"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":385,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:385"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-nightly.yml","line":426,"fingerprint":"artipacked:.github/workflows/quality-gates-nightly.yml:426"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":15,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:15"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":61,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:61"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":147,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:147"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":187,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:187"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":223,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:223"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":283,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:283"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":343,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:343"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-pr.yml","line":401,"fingerprint":"artipacked:.github/workflows/quality-gates-pr.yml:401"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":18,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:18"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":64,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:64"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":149,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:149"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":188,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:188"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":221,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:221"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":284,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:284"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":317,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:317"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/quality-gates-release.yml","line":357,"fingerprint":"artipacked:.github/workflows/quality-gates-release.yml:357"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":1.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.01,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0},{"kind":"posture","description":"bff/package.json has no lockfile alongside it (unpinned dependencies)","ref":"bff/package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"readme-download-lure","description":"gives an archive password","ref":"README.md","url":null,"weight":0.0}],"data":{"signals":["readme-download-lure"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":3048.0,"function_nloc":41158.0,"mean_ccn":2.71,"p90_ccn":6.0,"complex_functions":39.0,"long_functions":45.0,"many_param_functions":2.0,"risky_nloc_share":0.2358},"findings":[],"evidence":[{"kind":"complex-function","description":"Profile in frontend/src/components/Profile.jsx: complexity 48, 518 lines","ref":"frontend/src/components/Profile.jsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/components/Profile.jsx#L82","weight":0.8},{"kind":"complex-function","description":"RoleDetailDialog in frontend/src/components/Roles/RoleDetailDialog.jsx: complexity 33, 267 lines","ref":"frontend/src/components/Roles/RoleDetailDialog.jsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/components/Roles/RoleDetailDialog.jsx#L50","weight":0.55},{"kind":"complex-function","description":"UserEditPage in frontend/src/pages/Admin/UserEditPage.tsx: complexity 32, 210 lines","ref":"frontend/src/pages/Admin/UserEditPage.tsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/pages/Admin/UserEditPage.tsx#L37","weight":0.5333333333333333},{"kind":"complex-function","description":"renderNavItem in frontend/src/shared/ui/SidebarNav.tsx: complexity 32, 149 lines","ref":"frontend/src/shared/ui/SidebarNav.tsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/shared/ui/SidebarNav.tsx#L387","weight":0.5333333333333333},{"kind":"complex-function","description":"UserDirectory in frontend/src/components/UserDirectory.jsx: complexity 31, 413 lines","ref":"frontend/src/components/UserDirectory.jsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/components/UserDirectory.jsx#L57","weight":0.5166666666666667},{"kind":"complex-function","description":"Layout in frontend/src/components/Layout.jsx: complexity 30, 499 lines","ref":"frontend/src/components/Layout.jsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/components/Layout.jsx#L53","weight":0.5},{"kind":"complex-function","description":"handleMessage in frontend/src/lib/workflow/WorkflowCollaborationClient.ts: complexity 29, 51 lines","ref":"frontend/src/lib/workflow/WorkflowCollaborationClient.ts","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/lib/workflow/WorkflowCollaborationClient.ts#L198","weight":0.48333333333333334},{"kind":"complex-function","description":"FormField in frontend/src/shared/ui/FormField.tsx: complexity 27, 125 lines","ref":"frontend/src/shared/ui/FormField.tsx","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/frontend/src/shared/ui/FormField.tsx#L57","weight":0.45},{"kind":"complex-function","description":"FrontendLogsController::enrichLogEntry in backend/src/main/java/cz/muriel/core/controller/FrontendLogsController.java: complexity 24, 69 lines","ref":"backend/src/main/java/cz/muriel/core/controller/FrontendLogsController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/controller/FrontendLogsController.java#L74","weight":0.4},{"kind":"complex-function","description":"WorkflowAiValidator::validateWorkflow in backend/src/main/java/cz/muriel/core/metamodel/validator/WorkflowAiValidator.java: complexity 23, 52 lines","ref":"backend/src/main/java/cz/muriel/core/metamodel/validator/WorkflowAiValidator.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/metamodel/validator/WorkflowAiValidator.java#L28","weight":0.38333333333333336}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":65262.0,"duplicated_lines":5293.0,"duplicated_share":0.0811,"files":669.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/com/platform/workflow/versioning/WorkflowVersionService.java:89 and backend/src/main/java/com/platform/workflow/versioning/WorkflowVersionService.java:128","ref":"backend/src/main/java/com/platform/workflow/versioning/WorkflowVersionService.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/com/platform/workflow/versioning/WorkflowVersionService.java#L89","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/auth/AuthController.java:423 and backend/src/main/java/cz/muriel/core/controller/FrontendLogsController.java:294","ref":"backend/src/main/java/cz/muriel/core/auth/AuthController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/auth/AuthController.java#L423","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java:84 and backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java:135","ref":"backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/auth/KeycloakAdminService.java#L84","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/config/PermissionConfig.java:30 and backend/src/main/java/cz/muriel/core/dto/UiCapabilitiesDto.java:40","ref":"backend/src/main/java/cz/muriel/core/config/PermissionConfig.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/config/PermissionConfig.java#L30","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/controller/UserDirectoryController.java:169 and backend/src/main/java/cz/muriel/core/controller/UserDirectoryController.java:273","ref":"backend/src/main/java/cz/muriel/core/controller/UserDirectoryController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/controller/UserDirectoryController.java#L169","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java:228 and backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java:402","ref":"backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java#L228","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java:444 and backend/src/main/java/cz/muriel/core/controller/admin/WorkflowAdminController.java:178","ref":"backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/controller/admin/StudioAdminController.java#L444","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/controller/admin/WorkflowAdminController.java:166 and backend/src/main/java/cz/muriel/core/workflow/WorkflowExecutionService.java:188","ref":"backend/src/main/java/cz/muriel/core/controller/admin/WorkflowAdminController.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/controller/admin/WorkflowAdminController.java#L166","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/dto/UserCreateRequest.java:20 and backend/src/main/java/cz/muriel/core/dto/UserUpdateRequest.java:13","ref":"backend/src/main/java/cz/muriel/core/dto/UserCreateRequest.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/dto/UserCreateRequest.java#L20","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backend/src/main/java/cz/muriel/core/entity/GroupEntity.java:93 and backend/src/main/java/cz/muriel/core/metamodel/util/DeterministicUuidGenerator.java:66","ref":"backend/src/main/java/cz/muriel/core/entity/GroupEntity.java","url":"https://github.com/Muriel2Horak/core-platform/blob/05a15d048a20587585d9ddb352dca98a195eb5c9/backend/src/main/java/cz/muriel/core/entity/GroupEntity.java#L93","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":142.0,"weighted_findings":88.25,"scanned_lines":94884.0,"category:best-practice":62.0,"category:correctness":80.0},"findings":[{"rule_id":"opengrep/typescript.lang.correctness.useless-ternary","severity":"high","message":"It looks like no matter how typeof children === 'string' && children.includes('...') is evaluated, this expression returns children. This is probably a copy-paste error.","path":"frontend/src/shared/ui/AppButton.tsx","line":191,"fingerprint":"typescript.lang.correctness.useless-ternary:frontend/src/shared/ui/AppButton.tsx:191"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.identical-is-comparison","severity":"high","message":"Found identical comparison using is. Ensure this is what you intended.","path":"scripts/backlog/lib/yaml_parser.py","line":63,"fingerprint":"python.lang.correctness.common-mistakes.identical-is-comparison:scripts/backlog/lib/yaml_parser.py:63"},{"rule_id":"opengrep/java.lang.correctness.no-string-eqeq","severity":"medium","message":"Strings should not be compared with '=='. This is a reference comparison operator. Use '.equals()' instead.","path":"backend/src/main/java/cz/muriel/core/auth/security/HmacUtils.java","line":71,"fingerprint":"java.lang.correctness.no-string-eqeq:backend/src/main/java/cz/muriel/core/auth/security/HmacUtils.java:71"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/DesignSystem.jsx","line":35,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/DesignSystem.jsx:35"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/DesignSystemDemo.jsx","line":75,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/DesignSystemDemo.jsx:75"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Groups/GroupMembersDialog.jsx","line":189,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Groups/GroupMembersDialog.jsx:189"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Profile.jsx","line":63,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Profile.jsx:63"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/Reporting/ExplorerGrid.stories.tsx","line":119,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/Reporting/ExplorerGrid.stories.tsx:119"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Reporting/ReportingPage.tsx","line":34,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Reporting/ReportingPage.tsx:34"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Reporting/ReportingPage.tsx","line":170,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Reporting/ReportingPage.tsx:170"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Reporting/ReportingPage.tsx","line":171,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Reporting/ReportingPage.tsx:171"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Reporting/ReportingPage.tsx","line":172,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Reporting/ReportingPage.tsx:172"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Roles/CompositeRoleBuilder.jsx","line":272,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Roles/CompositeRoleBuilder.jsx:272"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Roles/CompositeRoleBuilder.jsx","line":278,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Roles/CompositeRoleBuilder.jsx:278"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/Studio/EntityEditor.tsx","line":261,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/Studio/EntityEditor.tsx:261"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/CreateUserDialog.jsx","line":329,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/CreateUserDialog.jsx:329"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/CreateUserDialog.jsx","line":339,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/CreateUserDialog.jsx:339"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":453,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:453"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":459,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:459"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":513,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:513"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":525,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:525"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":549,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:549"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/components/Users/EditUserDialog.jsx","line":561,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/components/Users/EditUserDialog.jsx:561"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/hooks/usePermissions.js","line":180,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/hooks/usePermissions.js:180"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/pages/Admin/MonitoringPage.tsx","line":22,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/pages/Admin/MonitoringPage.tsx:22"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/pages/Admin/SyncHistoryPage.jsx","line":146,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/pages/Admin/SyncHistoryPage.jsx:146"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/pages/Examples/KanbanPage.jsx","line":150,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/pages/Examples/KanbanPage.jsx:150"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/pages/Examples/KanbanPage.jsx","line":151,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/pages/Examples/KanbanPage.jsx:151"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/pages/Examples/KanbanPage.tsx","line":178,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/pages/Examples/KanbanPage.tsx:178"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/pages/Examples/KanbanPage.tsx","line":179,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/pages/Examples/KanbanPage.tsx:179"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/shared/ui/AppButton.tsx","line":187,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/shared/ui/AppButton.tsx:187"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/shared/ui/FormField.tsx","line":126,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/shared/ui/FormField.tsx:126"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"frontend/src/shared/ui/GlassPaper.tsx","line":36,"fingerprint":"typescript.react.best-practice.react-props-spreading:frontend/src/shared/ui/GlassPaper.tsx:36"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":36,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:36"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":37,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:37"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":38,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:38"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":39,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:39"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":40,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:40"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":52,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:52"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":63,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:63"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":64,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:64"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":65,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:65"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":66,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:66"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":105,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:105"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":106,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:106"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":183,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:183"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":184,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:184"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":189,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:189"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":200,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:200"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":210,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:210"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":241,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:241"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":253,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:253"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":254,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:254"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":255,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:255"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":308,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:308"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":309,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:309"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":310,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:310"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":311,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:311"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":344,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:344"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":345,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:345"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/test-trigger-sync.sh","line":346,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/test-trigger-sync.sh:346"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"scripts/vault/bootstrap-vault.sh","line":143,"fingerprint":"bash.lang.best-practice.useless-cat:scripts/vault/bootstrap-vault.sh:143"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"themes/core-material/src/Account.tsx","line":126,"fingerprint":"javascript.lang.best-practice.javascript-alert:themes/core-material/src/Account.tsx:126"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"themes/core-material/src/account-entry.tsx","line":31,"fingerprint":"typescript.react.best-practice.react-props-spreading:themes/core-material/src/account-entry.tsx:31"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"themes/core-material/src/login-entry.tsx","line":37,"fingerprint":"typescript.react.best-practice.react-props-spreading:themes/core-material/src/login-entry.tsx:37"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"backend/start-backend.sh","line":15,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:backend/start-backend.sh:15"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/backend/start-backend.sh","line":11,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/backend/start-backend.sh:11"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/backend/start-backend.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/backend/start-backend.sh:14"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/backend/start-backend.sh","line":25,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/backend/start-backend.sh:25"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/grafana/scripts/fetch-jwks.sh","line":48,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/grafana/scripts/fetch-jwks.sh:48"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/entrypoint.sh","line":33,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/entrypoint.sh:33"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":18,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:18"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":37,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:37"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":46,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:46"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":50,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:50"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":57,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:57"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"docker/keycloak/init-realm.sh","line":67,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:docker/keycloak/init-realm.sh:67"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/final-cleanup.cjs","line":208,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/final-cleanup.cjs:208"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/final-cleanup.cjs","line":208,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/final-cleanup.cjs:208"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/final-cleanup.cjs","line":234,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/final-cleanup.cjs:234"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/final-cleanup.cjs","line":234,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/final-cleanup.cjs:234"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/App.jsx","line":211,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/App.jsx:211"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/App.jsx","line":211,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/App.jsx:211"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/Reporting/ExplorerGrid.stories.tsx","line":22,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/Reporting/ExplorerGrid.stories.tsx:22"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/Reporting/ExplorerGrid.stories.tsx","line":22,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/Reporting/ExplorerGrid.stories.tsx:22"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/pages/Admin/KeycloakSyncPage.jsx","line":491,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/pages/Admin/KeycloakSyncPage.jsx:491"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/pages/Admin/KeycloakSyncPage.jsx","line":491,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/pages/Admin/KeycloakSyncPage.jsx:491"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/backlog/test_validator.sh","line":489,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/backlog/test_validator.sh:489"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/ci/check-ai-risky-patterns.sh","line":68,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/ci/check-ai-risky-patterns.sh:68"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/ci/check-ai-risky-patterns.sh","line":114,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/ci/check-ai-risky-patterns.sh:114"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/create-service-account.sh","line":44,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/create-service-account.sh:44"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/db/rollback.sh","line":69,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/db/rollback.sh:69"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/db/validate-undo-scripts.sh","line":13,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/db/validate-undo-scripts.sh:13"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/docker/prod-deploy.sh","line":54,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/docker/prod-deploy.sh:54"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/docker/staging-deploy.sh","line":43,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/docker/staging-deploy.sh:43"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/docker/staging-deploy.sh","line":50,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/docker/staging-deploy.sh:50"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":43,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:43"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":53,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:53"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":69,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:69"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":108,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:108"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":118,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:118"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":130,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:130"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":142,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:142"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/infra-smoke-test.sh","line":154,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/infra-smoke-test.sh:154"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":32,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:32"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":46,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:46"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":58,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:58"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":64,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:64"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":75,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:75"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":77,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:77"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":92,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:92"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":94,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:94"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":115,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:115"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":120,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:120"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":122,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:122"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":131,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:131"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":133,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:133"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":144,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:144"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":148,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:148"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":158,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:158"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":160,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:160"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":163,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:163"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":170,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:170"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":175,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:175"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":179,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:179"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":190,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:190"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":192,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:192"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":195,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:195"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":204,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:204"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":209,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:209"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/kc_bootstrap_realm.sh","line":211,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/kc_bootstrap_realm.sh:211"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"scripts/quick-fix.sh","line":11,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/quick-fix.sh:11"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/templates/validate-syntax.sh","line":21,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/templates/validate-syntax.sh:21"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/templates/validate-syntax.sh","line":28,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/templates/validate-syntax.sh:28"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/test-monitoring-runtime.sh","line":76,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/test-monitoring-runtime.sh:76"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/test-role-group-sync.sh","line":143,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/test-role-group-sync.sh:143"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/validate-dashboard-structure.sh","line":95,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/validate-dashboard-structure.sh:95"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/vault/oidc-setup.sh","line":48,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/vault/oidc-setup.sh:48"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"tools/naming-lint/src/lint-db.js","line":75,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:tools/naming-lint/src/lint-db.js:75"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"tools/naming-lint/src/lint-db.js","line":75,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:tools/naming-lint/src/lint-db.js:75"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"tools/naming-lint/src/lint-db.js","line":78,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:tools/naming-lint/src/lint-db.js:78"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"tools/naming-lint/src/lint-db.js","line":78,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:tools/naming-lint/src/lint-db.js:78"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.4162,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.96,"test_lines":20131.0,"source_lines":96728.0,"test_ratio":0.2081,"ci_files":4.0,"cochange_share":0.24,"cochange_commits":125.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/quality-gates-nightly.yml","ref":".github/workflows/quality-gates-nightly.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/quality-gates-pr.yml","ref":".github/workflows/quality-gates-pr.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/quality-gates-release.yml","ref":".github/workflows/quality-gates-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":0.0,"check:contributing":0.0,"check:changelog":1.0,"readme_lines":537.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.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":"ok","tool_version":null,"metrics":{"check:strict_config":0.9226,"check:low_escape_density":1.0,"escapes":99.0,"escapes_per_kloc":4.582},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: bff/tsconfig.json","ref":"bff/tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null}],"flags":[]}