{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:51:15.437485Z","repo":{"ref":{"host":"github.com","owner":"Tyche-MKR","name":"vmark"},"default_branch":"main","clone_url":"https://github.com/Tyche-MKR/vmark.git","html_url":"https://github.com/Tyche-MKR/vmark","description":null,"stars":8,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":52172,"primary_language":"TypeScript","license_spdx":"ISC","created_at":"2026-08-31T02:22:25Z","pushed_at":"2026-11-09T23:52:41Z","security_policy_url":null,"distribution":{"owner_created_at":"2026-08-21T19:52:31Z","owner_type":"User","release_assets":[]}},"commit_sha":"b6ffc7e1e81044fe97b5982a11d00214d4f59721","profile":{"lines_by_language":{"TypeScript":654130,"Rust":97752,"JavaScript":35954,"Shell":6941,"Vue":3131,"Python":181},"files_by_category":{"source":2231,"test":1888,"docs":657,"config":284,"other":177,"binary":92,"oversized":4,"generated":2},"source_lines":322817,"test_lines":475272},"pillars":{"ai_provenance":{"score":2.0,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.0203,"suspected_share":0.4501,"estimated_share":0.0203,"ai_artifacts":52.0,"flagged_work_units":145.0,"flagged_releases":null},"summary":"Explicit AI attribution on 2% of first-party code added; an estimated 2% including velocity signals."},"quality":{"score":86.6,"confidence":0.9,"coverage":1.0,"label":"strong","breakdown":{"complexity":68.3,"duplication":82.3,"lint":92.9,"testing":100.0,"docs":80.0,"type_safety":100.0,"process":null},"summary":"Code quality is strong: test-to-source ratio 1.47, CI runs tests; 13% of function code in complex or long functions; 3% duplicated lines. Weakest area: complexity."},"security":{"score":48.7,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":87.5,"sast":89.3,"dependencies":0.2,"ci_actions":0.0,"posture":40.0,"scorecard":null},"summary":"Security posture is poor: 196 known vulnerabilities in 68 dependencies; 65 high-severity SAST findings; 70 high-severity workflow issues. Weakest area: ci actions."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":209.0,"checked":209.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":4432.0,"attributed_commits":169.0,"attributed_commit_share":0.03813176895306859,"effective_loc":1118810.0,"attributed_loc":22747.0,"attributed_loc_share":0.02033142356611042,"tools_detected":2.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 168 attributed commits, 22,575 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"OpenAI Codex: 1 attributed commits, 172 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: message 'claude.ai/code'","ref":"be47edff2cf21347bc3d9ea51b27c256502273d5","url":"https://github.com/Tyche-MKR/vmark/commit/be47edff2cf21347bc3d9ea51b27c256502273d5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5a326eeb6135640c700874e0aac33442a975c0f0","url":"https://github.com/Tyche-MKR/vmark/commit/5a326eeb6135640c700874e0aac33442a975c0f0","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: trailer 'Co-authored-by: Codex'","ref":"c1da9392ef9347b32e18466a12f374d9dc49a8b1","url":"https://github.com/Tyche-MKR/vmark/commit/c1da9392ef9347b32e18466a12f374d9dc49a8b1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"77289ccafa392329bac417e7c0f113867b13a4d8","url":"https://github.com/Tyche-MKR/vmark/commit/77289ccafa392329bac417e7c0f113867b13a4d8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"f5bdf9f9513d69f17203e382c6046ebd371c228e","url":"https://github.com/Tyche-MKR/vmark/commit/f5bdf9f9513d69f17203e382c6046ebd371c228e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"badd1f14c39dde2ea66a2f76d68392ba57bae58e","url":"https://github.com/Tyche-MKR/vmark/commit/badd1f14c39dde2ea66a2f76d68392ba57bae58e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"27669ce4fa60b74289cd9062b62f8bd0d81b78b9","url":"https://github.com/Tyche-MKR/vmark/commit/27669ce4fa60b74289cd9062b62f8bd0d81b78b9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"c00517b6f84b2d62f223125d592b2415f6f0a3a4","url":"https://github.com/Tyche-MKR/vmark/commit/c00517b6f84b2d62f223125d592b2415f6f0a3a4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"9615067109f2d79fb8ac396f2bb36af9e5b23586","url":"https://github.com/Tyche-MKR/vmark/commit/9615067109f2d79fb8ac396f2bb36af9e5b23586","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"ae33f95f849b1a9e6d05972aa3f89d9f0935873b","url":"https://github.com/Tyche-MKR/vmark/commit/ae33f95f849b1a9e6d05972aa3f89d9f0935873b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"2874d57efda7d9211ddb843052e5ac9209e0f896","url":"https://github.com/Tyche-MKR/vmark/commit/2874d57efda7d9211ddb843052e5ac9209e0f896","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"10f724603718ed247a89625d2e340225c3171b84","url":"https://github.com/Tyche-MKR/vmark/commit/10f724603718ed247a89625d2e340225c3171b84","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"a602c681ea583d3b942b5e24e9ae9bda42ab8211","url":"https://github.com/Tyche-MKR/vmark/commit/a602c681ea583d3b942b5e24e9ae9bda42ab8211","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"a03b618cf99e02cc6001caa98cbdf3ad96911886","url":"https://github.com/Tyche-MKR/vmark/commit/a03b618cf99e02cc6001caa98cbdf3ad96911886","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"c2a03ed080a03645cf6c43a19f0cf1a809c16c53","url":"https://github.com/Tyche-MKR/vmark/commit/c2a03ed080a03645cf6c43a19f0cf1a809c16c53","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: claude'","ref":"0258d27e636c2c0e5acb31ca8a6f2663789fafea","url":"https://github.com/Tyche-MKR/vmark/commit/0258d27e636c2c0e5acb31ca8a6f2663789fafea","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"233b002e9d4c1501a8c8ba03861b837058c67824","url":"https://github.com/Tyche-MKR/vmark/commit/233b002e9d4c1501a8c8ba03861b837058c67824","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"04047f4975a966d29abe29a9d143faf5fc9038cc","url":"https://github.com/Tyche-MKR/vmark/commit/04047f4975a966d29abe29a9d143faf5fc9038cc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"784a88478542c1c01db43297150d9f16f57cf644","url":"https://github.com/Tyche-MKR/vmark/commit/784a88478542c1c01db43297150d9f16f57cf644","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9df3dae3446a8ca48100c077558c4c48d24be432","url":"https://github.com/Tyche-MKR/vmark/commit/9df3dae3446a8ca48100c077558c4c48d24be432","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"054915a7da63b98a902cfba385bfafde9d5aa872","url":"https://github.com/Tyche-MKR/vmark/commit/054915a7da63b98a902cfba385bfafde9d5aa872","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6c8d891088fc3887d512c4ad02801833ce8542a9","url":"https://github.com/Tyche-MKR/vmark/commit/6c8d891088fc3887d512c4ad02801833ce8542a9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"42a0133e87fcbb2a1314d8775359dba9b9419de9","url":"https://github.com/Tyche-MKR/vmark/commit/42a0133e87fcbb2a1314d8775359dba9b9419de9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ff35e56bc58beba2ba5a3770b9040cc0e6cb9c2b","url":"https://github.com/Tyche-MKR/vmark/commit/ff35e56bc58beba2ba5a3770b9040cc0e6cb9c2b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e9fb605714d5112770b30b2d90d7266c4dd55c61","url":"https://github.com/Tyche-MKR/vmark/commit/e9fb605714d5112770b30b2d90d7266c4dd55c61","weight":0.9}],"data":{"attributed_loc_by_commit":{"0deda67eb88906af6e87b448fdecf4b39a30930f":25,"9b78fb2e22622e7625e455def1272cee1b09a500":5,"5a1b571649ebd630a89fc129534d0a8117ba6fc5":323,"449d6a8d26da2c8ec1aca88e19ad61cda84e1d8a":267,"118c0d0f956347655dd6ff30d02f0c6e456eceb3":170,"7bcb530c17132a0e2db9196ceff55064838cd45f":126,"c4c7738dfc1593a7c3659ca1b0f4f60919d57956":249,"6ff4ee84dfb344c0bef805bbf9e6af2dd4af30b6":106,"cd154397a5a2d6e070d13e43bfd5f079609049da":4700,"4c2a3d985785267cba345fb9b4c399b9d2c670ba":0,"39a2a3074655385b187045f7ad9cbc7b5f81fc2a":0,"8fbe233a581a81d17b973afe15cc955cd97ee5eb":0,"5bdebdd5cf501f867e561db29e86be1cc16d8376":37,"81afc2b33b7560e21b4a19dc1acfad3feee815f8":162,"9a28e127d45f1e96972c94628f3fd4c39f7c38e1":125,"83b0b5bb33b20dc61f3396287479116efc0895b3":93,"f9e639126d90e5832c5ef95b22541aceba525b8a":15,"61d37b91ab1e2a344ad4d9c7839ae51d0eaef397":536,"d98d2baaa1cb939345f927db682d5a5e9cf7ccc7":156,"534ee332e005de9d072ca18650e5634940ed4ffa":0,"e3d29028ba7e53ef4d390cb36febc2cf90750813":88,"b00215e7ddb909bbb469ff854f05b4cd8aa37409":1,"3c2fb8033783ab707564f1d4f369d913cae59e0d":66,"f5bb304d904fca67fcc7946499fb07b901be16af":18,"725f45175aee53c33478f361063d74af8ed95642":30,"29792d8361c6cba986da8a78707fb05c7faf5124":0,"c400f4b942d71812f61f31390d8fd04baaeea609":0,"a49cfdff4de8bbbc663c45bb1d432d66f4e1a5f6":9,"e19a6888ff302ecd06a2b1a10ba37180c5441bbb":97,"bc29b8e71f287004db341d56a4737f77b6c27f60":12,"083321487442c0aaeb29af9fb1a99bff3b8af6e5":4,"70cab00f64c67af5ed29ac0ee34adbe63148f696":98,"82c8ee6d5c0f415c2eb99a2f88f5aa5fb2ba4a90":2,"4a6df413a325d688fe060c6f7c4d395309cae004":19,"6589309e57d0782cf6255504824ec8d4691551a3":64,"38225f1e6116d46e2728ceb361df24124fe8618b":1,"8497b1ba41fa4b987dd0ed06f7a390eb4be5408a":3,"f1a28aa6797fc0494c946fd77155b2d4fd2ab903":12,"171b991c67e69f621d309482734c9cf32917c6c5":24,"46f8de7a6ec8b809c41793943a3e44b79419b381":9,"eb9ce1ad3dff3972f3d05d682ef48119261852d3":78,"39ec60b0370bd7ba823e7bbe6f1d6eef0faded87":103,"98c6718bf2bc41692a48e0d4a91da90f0f0e2a87":15,"5d60540bcbd735701a6fcfc450d185a09b826149":111,"8d3fd42d077ce6b4247dfe84de789a5e8acea44a":0,"b8fc36e5d16909672f14b7a6b91f1bee8c482145":20,"811a564ef17d67fd0ee9c1a5ce5194064b2adcd5":0,"0ffbc72315fcb2e3566005c0fe3c51fe818dd2a1":2,"178b5f1f91ac466ead6812e59502cb57ab029f59":6,"a7e4a7c5732aed5fbdd8c313f325a0ba66c9d80e":2,"585c4a566230c866a9def970aefdfc7021655a8f":14,"440053e93982f25fc0ef2ca193e39d367d01173c":274,"16e1aecb2ff39655349eb8f3a4df26304ac79890":27,"dc4d76c5aaf27da168ead1e29f2b03cd6db07b24":27,"154baceab71b5319bbffee9627d48bcd162b3b90":3,"bea6e84a67a91f66207eb09d02666de0ba4a6d4f":148,"eeebf6b1870b37ffe256e645f052fffd523773f6":1,"7f4d8810f4d22fccdb86d34d5ba0dc2c7f25d539":0,"dccfc0bc87e0d5a28650d9877cadeead8116999e":3,"6c3efd5a88d4ccca3fb9c607bf974a6d63b63488":0,"e955feae4cf7c8a51f4df5475921fb3a8d86fb11":12,"6a2ccdbfbfc3ba5777df40d4a76b6f91b85955ed":8,"479e06a4428b61d4e9fc04a0b2d4fa986c7795bf":27,"77a124174dcc28120c2c3f150e357786f892cc97":4,"eb82b5b531b4718f60721f89de4f28ae153a565e":144,"1bedbd7d12f21eb0e832e0b57d02208bdc7e54d0":2,"042274fb84b7227400b947ee6988c179f4649423":29,"f5a5f093f2b0529ff8a8ca58b28b4de23e73b40c":3,"f43857afb0ce756826577582b516f991fce7f49d":19,"098231ae995ed5a5be6aa80de512f845d9a50e0e":0,"8ccc02f925dbeae60593dc3b56697a2ecfbb41a2":144,"e9e3bb8cc148d5566fdd138d410940ef32056480":6,"d5aa552e06171e15bb7a8bfb5f2efd24aed37cd9":38,"d9c7ef3668267e9c429be02f9168d042f6648811":13,"bd979060ea261d564c59eb1eeb81a31c3a767bbc":32,"65460eb3825580905f8d6230a2ab92fc6325f7be":7,"3b53981ddd9c574c099cae8762ec65ba096b89da":0,"102c2f0599b43db62cfd8e0f16770df99c796fab":19,"95cd18f6bf865e12bf5d7f0272a6b4586c16248b":7,"19d1b880c245cbaa0da02cb17a340cc5337dd94b":38,"a847683c5405c7f6894ecc18283f36f47f9c68b6":68,"b05011803b0cb0c782bbbdcb5d2fa6a22c1813d8":59,"c68a0ceb7425193377126f6e2196eee682eb2bb7":319,"237b718f23382fb89b904dd8c0454048be604849":247,"5b3d03dfd08d752c8e97e13ebce5c469e69f3af6":4,"126b5f5f1d00bd0297772bcc164db71e14dd10f0":26,"97d19d122300df0c40aa9e7e59bbb03f19785059":9,"05fe9b1d9af48c7e55202e61fc2e3bdf59858ed6":1,"b427d45cda6da34359e9e42b1e409fde41db3e79":15,"0940668953989e12e2a8d20ce7ee43248417bf20":1,"473426df8e3a1c96582a5f17adf04c34d5176e3f":9,"cbc99adda6d3145ca849f7f2bacc18c2ceb7b211":7,"0d8dfbc39e9fe81ab38ae5c24574c0ecfa94e280":11,"b7d501d4cd13d714d47115081d11b5ad802c7679":11,"f4d06f7eeecd8b3df3be688d8de04d8d57d8e585":0,"ec94b015ab9ffdc6df5470d95cc779a888e4746d":10,"594adeb0ca59c08179a9e034ed4ac350a20fd5b6":0,"2b56d20e2c0c6f4be160282f94f0ff251008b8ee":2,"ac1a71e19f5a53c90fff861c74bc6c19aa26d131":124,"867d0e1cc9847b94d58cb819266567efb3149f40":9,"fab40364ff959619523a4512ea9e33f5712ef72e":7,"8ddf9eb1d3f382d18e8f0fbcbbb4bb66737ce843":8,"06ec44eaab9dce760e4b3629f41e9cbfaf4f62d4":105,"f711de160a3803c3005c4a857d33d4d07ce0c315":94,"ad4caa56a53688a41235687162ac969af4e11abf":57,"c162ee8699b753f6436b4471a21ecd8ff342ebba":44,"45ee12f98dd89c7fcfc1d368043d868b54e3871f":133,"cae5c57d203cbfdd2069243b12842e876f9d221f":2,"383a44b751bf247d95f32590be402f7374570374":68,"fd954909194fab2c10998ba116dcf9eb25343a97":173,"e27b2d031440632428ee56ee78562b0c2471f281":156,"1f115916872ed7f18ca69b20778e0dab5573dc9b":3,"6250f083375b1e844d5687c4fffe7ad8875d04d7":0,"f6039c070cc40e8ddd7ffbfc273cdd127e557efd":1,"5ca10411b005a7cb46f444c2b97cce9632782957":3,"411809c3d70e8b9c6b3ccddf735a386cfc2de086":62,"3cb5bcd52bf0bb5ce161931c06998053a4361144":55,"016a6d6994b1ebb5a4da0d4ad22ea4b173408b34":13,"4f7b13af593afaf050f75d3f9c20e5d096614c5a":8,"09a501fe22f627efc63d7d9d5b8a85594b507f56":84,"bf181296a3f5306e798e97a1abf8724ea159dea4":0,"649a838782751c6af91c5aabba832c991b5a5214":95,"402045141afe7c9261b241e8617cbe000128b53f":5,"52868a18ffac31dcd070a46a34dc09122a972b87":4,"76d43f41c2dd211930d2aeb886cb4c5f525ee044":12,"8ffe75b6ac4896b2231563e676c4f0c0f963b189":30,"f38e323e3b5bde33b8e225881f9cae9dc802b939":276,"19efffcefd0bcc0ead296a705761e462955d4b21":38,"a0948ee17aa702357018356c58d3de74d0949a8c":1,"32016d75d053388e6902267da0d2dc438defd64d":0,"0e6af6a78deb37ce09b63e57491a125fc6c19095":9,"51d7b96ba5c4fa0f6c32a444327d051d4c071432":211,"359187fc27a8b1443581b9698835f86d809f7e8d":145,"f2537f7f6b7da48f27e2ce56ac4a8ff077141ce3":48,"2fda14b6bd54091537ddea94d3572f33e76fb6d0":2169,"33f9f7be1b0d631d38b29bf38b25c6eecf8e8963":368,"bbf21813ca14acde0d1a6d6bc89fdbc36fb11b0b":110,"42f9bb56d0ce69fb591b88b4823a9daa34f8046b":1,"5506f69af30c22542e229838bcbba9fffb80b187":1260,"8654e00eba0255761b0850f1a5d9481e208e0089":41,"615d5598a278d4f4a8ecde1aeff3f90e015b2074":54,"c4865ae080ebe7f29bd4f41dc7bd97a054bab5ca":54,"9aa2a3fe75f99618ce5cd3e88cf954121e80785f":0,"6fec1de1bf451a97dda0fa4328dce12db87c2517":42,"e9fb605714d5112770b30b2d90d7266c4dd55c61":825,"ff35e56bc58beba2ba5a3770b9040cc0e6cb9c2b":210,"42a0133e87fcbb2a1314d8775359dba9b9419de9":0,"6c8d891088fc3887d512c4ad02801833ce8542a9":43,"054915a7da63b98a902cfba385bfafde9d5aa872":28,"9df3dae3446a8ca48100c077558c4c48d24be432":224,"784a88478542c1c01db43297150d9f16f57cf644":216,"04047f4975a966d29abe29a9d143faf5fc9038cc":274,"233b002e9d4c1501a8c8ba03861b837058c67824":74,"0258d27e636c2c0e5acb31ca8a6f2663789fafea":109,"c2a03ed080a03645cf6c43a19f0cf1a809c16c53":79,"a03b618cf99e02cc6001caa98cbdf3ad96911886":218,"a602c681ea583d3b942b5e24e9ae9bda42ab8211":108,"10f724603718ed247a89625d2e340225c3171b84":29,"2874d57efda7d9211ddb843052e5ac9209e0f896":3,"ae33f95f849b1a9e6d05972aa3f89d9f0935873b":16,"9615067109f2d79fb8ac396f2bb36af9e5b23586":51,"c00517b6f84b2d62f223125d592b2415f6f0a3a4":48,"27669ce4fa60b74289cd9062b62f8bd0d81b78b9":98,"badd1f14c39dde2ea66a2f76d68392ba57bae58e":50,"f5bdf9f9513d69f17203e382c6046ebd371c228e":275,"77289ccafa392329bac417e7c0f113867b13a4d8":131,"c1da9392ef9347b32e18466a12f374d9dc49a8b1":172,"5a326eeb6135640c700874e0aac33442a975c0f0":1241,"be47edff2cf21347bc3d9ea51b27c256502273d5":2206},"tools":{"claude-code":{"name":"Claude Code","commits":168,"loc":22575,"first_seen":1771678406,"last_seen":1787674970},"openai-codex":{"name":"OpenAI Codex","commits":1,"loc":172,"first_seen":1781145365,"last_seen":1781145365}},"monthly":{"2025-12":{"loc":22232,"attributed_loc":0},"2026-01":{"loc":195604,"attributed_loc":0},"2026-02":{"loc":107870,"attributed_loc":6295},"2026-03":{"loc":221663,"attributed_loc":3436},"2026-04":{"loc":32521,"attributed_loc":1785},"2026-05":{"loc":90762,"attributed_loc":7612},"2026-06":{"loc":48849,"attributed_loc":1413},"2026-07":{"loc":257548,"attributed_loc":0},"2026-08":{"loc":141761,"attributed_loc":2206}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":50.0,"workflow_agents":2.0,"tools_configured":1.0,"earliest_adoption":1770877709.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/README.md (claude-code configuration)","ref":".claude/README.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/README.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/auditor.md (claude-code configuration)","ref":".claude/agents/auditor.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/auditor.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/impact-analyst.md (claude-code configuration)","ref":".claude/agents/impact-analyst.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/impact-analyst.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/implementer.md (claude-code configuration)","ref":".claude/agents/implementer.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/implementer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/manual-test-author.md (claude-code configuration)","ref":".claude/agents/manual-test-author.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/manual-test-author.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/planner.md (claude-code configuration)","ref":".claude/agents/planner.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/planner.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/release-steward.md (claude-code configuration)","ref":".claude/agents/release-steward.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/release-steward.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/spec-guardian.md (claude-code configuration)","ref":".claude/agents/spec-guardian.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/spec-guardian.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/test-runner.md (claude-code configuration)","ref":".claude/agents/test-runner.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/test-runner.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/verifier.md (claude-code configuration)","ref":".claude/agents/verifier.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/agents/verifier.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/bump.md (claude-code configuration)","ref":".claude/commands/bump.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/bump.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/feature-workflow.md (claude-code configuration)","ref":".claude/commands/feature-workflow.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/feature-workflow.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/fix-issue.md (claude-code configuration)","ref":".claude/commands/fix-issue.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/fix-issue.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/fix.md (claude-code configuration)","ref":".claude/commands/fix.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/fix.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/merge-prs.md (claude-code configuration)","ref":".claude/commands/merge-prs.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/merge-prs.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/repo-clean-up.md (claude-code configuration)","ref":".claude/commands/repo-clean-up.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/repo-clean-up.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/test-guide.md (claude-code configuration)","ref":".claude/commands/test-guide.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/commands/test-guide.md","weight":0.5},{"kind":"ai-artifact","description":".claude/docs-guardian/config.json (claude-code configuration)","ref":".claude/docs-guardian/config.json","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/docs-guardian/config.json","weight":0.5},{"kind":"ai-artifact","description":".claude/hooks/gha-tdd-guard.mjs (claude-code configuration)","ref":".claude/hooks/gha-tdd-guard.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/hooks/gha-tdd-guard.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/hooks/gha-tdd-guard.test.mjs (claude-code configuration)","ref":".claude/hooks/gha-tdd-guard.test.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/hooks/gha-tdd-guard.test.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/hooks/multi-format-tdd-guard.mjs (claude-code configuration)","ref":".claude/hooks/multi-format-tdd-guard.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/hooks/multi-format-tdd-guard.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/hooks/multi-format-tdd-guard.test.mjs (claude-code configuration)","ref":".claude/hooks/multi-format-tdd-guard.test.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/hooks/multi-format-tdd-guard.test.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/loc-guardian.local.md (claude-code configuration)","ref":".claude/loc-guardian.local.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/loc-guardian.local.md","weight":0.5},{"kind":"ai-artifact","description":".claude/plugins/.claude-plugin/marketplace.json (claude-code configuration)","ref":".claude/plugins/.claude-plugin/marketplace.json","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/plugins/.claude-plugin/marketplace.json","weight":0.5},{"kind":"ai-artifact","description":".claude/plugins/vmark-lsp/.claude-plugin/plugin.json (claude-code configuration)","ref":".claude/plugins/vmark-lsp/.claude-plugin/plugin.json","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/plugins/vmark-lsp/.claude-plugin/plugin.json","weight":0.5},{"kind":"ai-artifact","description":".claude/plugins/vmark-lsp/README.md (claude-code configuration)","ref":".claude/plugins/vmark-lsp/README.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/plugins/vmark-lsp/README.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/00-engineering-principles.md (claude-code configuration)","ref":".claude/rules/00-engineering-principles.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/00-engineering-principles.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/10-tdd.md (claude-code configuration)","ref":".claude/rules/10-tdd.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/10-tdd.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/20-logging-and-docs.md (claude-code configuration)","ref":".claude/rules/20-logging-and-docs.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/20-logging-and-docs.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/21-website-docs.md (claude-code configuration)","ref":".claude/rules/21-website-docs.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/21-website-docs.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/22-comment-maintenance.md (claude-code configuration)","ref":".claude/rules/22-comment-maintenance.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/22-comment-maintenance.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/30-ui-consistency.md (claude-code configuration)","ref":".claude/rules/30-ui-consistency.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/30-ui-consistency.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/31-design-tokens.md (claude-code configuration)","ref":".claude/rules/31-design-tokens.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/31-design-tokens.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/32-component-patterns.md (claude-code configuration)","ref":".claude/rules/32-component-patterns.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/32-component-patterns.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/33-focus-indicators.md (claude-code configuration)","ref":".claude/rules/33-focus-indicators.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/33-focus-indicators.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/34-dark-theme.md (claude-code configuration)","ref":".claude/rules/34-dark-theme.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/34-dark-theme.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/35-copy-conventions.md (claude-code configuration)","ref":".claude/rules/35-copy-conventions.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/35-copy-conventions.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/40-version-bump.md (claude-code configuration)","ref":".claude/rules/40-version-bump.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/40-version-bump.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/41-keyboard-shortcuts.md (claude-code configuration)","ref":".claude/rules/41-keyboard-shortcuts.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/41-keyboard-shortcuts.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/50-codebase-conventions.md (claude-code configuration)","ref":".claude/rules/50-codebase-conventions.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/50-codebase-conventions.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/60-ai-governance.md (claude-code configuration)","ref":".claude/rules/60-ai-governance.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/rules/60-ai-governance.md","weight":0.5},{"kind":"ai-artifact","description":".claude/settings.json (claude-code configuration)","ref":".claude/settings.json","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/settings.json","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/ai-coding-agents/SKILL.md (claude-code configuration)","ref":".claude/skills/ai-coding-agents/SKILL.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/ai-coding-agents/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/ai-coding-agents/references/claude-code-advanced.md (claude-code configuration)","ref":".claude/skills/ai-coding-agents/references/claude-code-advanced.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/ai-coding-agents/references/claude-code-advanced.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/ai-coding-agents/references/codex-advanced.md (claude-code configuration)","ref":".claude/skills/ai-coding-agents/references/codex-advanced.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/ai-coding-agents/references/codex-advanced.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/ai-coding-agents/references/comparison-and-edge-cases.md (claude-code configuration)","ref":".claude/skills/ai-coding-agents/references/comparison-and-edge-cases.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/ai-coding-agents/references/comparison-and-edge-cases.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/css-design-tdd/SKILL.md (claude-code configuration)","ref":".claude/skills/css-design-tdd/SKILL.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/css-design-tdd/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/mcp-dev/SKILL.md (claude-code configuration)","ref":".claude/skills/mcp-dev/SKILL.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/mcp-dev/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/mcp-dev/references/paths.md (claude-code configuration)","ref":".claude/skills/mcp-dev/references/paths.md","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/mcp-dev/references/paths.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/mcp-dev/scripts/scan_mcp.sh (claude-code configuration)","ref":".claude/skills/mcp-dev/scripts/scan_mcp.sh","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.claude/skills/mcp-dev/scripts/scan_mcp.sh","weight":0.5},{"kind":"ai-workflow","description":".github/workflows/claude-audit.yml runs anthropics/claude-code-action","ref":".github/workflows/claude-audit.yml","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.github/workflows/claude-audit.yml","weight":0.6},{"kind":"ai-workflow","description":".github/workflows/claude.yml runs anthropics/claude-code-action","ref":".github/workflows/claude.yml","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/.github/workflows/claude.yml","weight":0.6}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/README.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/auditor.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/impact-analyst.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/implementer.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/manual-test-author.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/planner.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/release-steward.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/spec-guardian.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/test-runner.md","added_at":1770877709},{"tool":"claude-code","path":".claude/agents/verifier.md","added_at":1770877709},{"tool":"claude-code","path":".claude/commands/bump.md","added_at":1770940822},{"tool":"claude-code","path":".claude/commands/feature-workflow.md","added_at":1770877709},{"tool":"claude-code","path":".claude/commands/fix-issue.md","added_at":1770939887},{"tool":"claude-code","path":".claude/commands/fix.md","added_at":1770877709},{"tool":"claude-code","path":".claude/commands/merge-prs.md","added_at":1770939887},{"tool":"claude-code","path":".claude/commands/repo-clean-up.md","added_at":1774044853},{"tool":"claude-code","path":".claude/commands/test-guide.md","added_at":1770877709},{"tool":"claude-code","path":".claude/docs-guardian/config.json","added_at":1772256692},{"tool":"claude-code","path":".claude/hooks/gha-tdd-guard.mjs","added_at":1777857716},{"tool":"claude-code","path":".claude/hooks/gha-tdd-guard.test.mjs","added_at":1783961393},{"tool":"claude-code","path":".claude/hooks/multi-format-tdd-guard.mjs","added_at":1778036965},{"tool":"claude-code","path":".claude/hooks/multi-format-tdd-guard.test.mjs","added_at":1783961393},{"tool":"claude-code","path":".claude/loc-guardian.local.md","added_at":1772256692},{"tool":"claude-code","path":".claude/plugins/.claude-plugin/marketplace.json","added_at":1786085675},{"tool":"claude-code","path":".claude/plugins/vmark-lsp/.claude-plugin/plugin.json","added_at":1786085675},{"tool":"claude-code","path":".claude/plugins/vmark-lsp/README.md","added_at":1786085675},{"tool":"claude-code","path":".claude/rules/00-engineering-principles.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/10-tdd.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/20-logging-and-docs.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/21-website-docs.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/22-comment-maintenance.md","added_at":1771073905},{"tool":"claude-code","path":".claude/rules/30-ui-consistency.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/31-design-tokens.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/32-component-patterns.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/33-focus-indicators.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/34-dark-theme.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/35-copy-conventions.md","added_at":1787997481},{"tool":"claude-code","path":".claude/rules/40-version-bump.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/41-keyboard-shortcuts.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/50-codebase-conventions.md","added_at":1770877709},{"tool":"claude-code","path":".claude/rules/60-ai-governance.md","added_at":1777857716},{"tool":"claude-code","path":".claude/settings.json","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/ai-coding-agents/SKILL.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/ai-coding-agents/references/claude-code-advanced.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/ai-coding-agents/references/codex-advanced.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/ai-coding-agents/references/comparison-and-edge-cases.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/css-design-tdd/SKILL.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/mcp-dev/SKILL.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/mcp-dev/references/paths.md","added_at":1770877709},{"tool":"claude-code","path":".claude/skills/mcp-dev/scripts/scan_mcp.sh","added_at":1770877709}],"workflows":[{"tool":"claude-code","path":".github/workflows/claude-audit.yml","action":"anthropics/claude-code-action"},{"tool":"claude-code","path":".github/workflows/claude.yml","action":"anthropics/claude-code-action"}],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":939.0,"flagged_units":145.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":843746.0,"flagged_loc":516562.0,"flagged_loc_share":0.6122245320274111,"max_loc_per_hour":6207.8371941978785,"median_loc_per_hour":245.42700482021905,"pr_timed_units":0.0,"excluded_import_loc":275064.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"7,965 lines of first-party code in ~1.3h (6,208 lines/hour, 4 commit session)","ref":"9b552161d70e47304c60fe32368a67a4289b0a40","url":"https://github.com/Tyche-MKR/vmark/commit/9b552161d70e47304c60fe32368a67a4289b0a40","weight":0.6},{"kind":"velocity-burst","description":"11,381 lines of first-party code in ~2.4h (4,818 lines/hour, 8 commit session)","ref":"2538155dcdd9f34efd6efbb4fe159cdbd19ed0a5","url":"https://github.com/Tyche-MKR/vmark/commit/2538155dcdd9f34efd6efbb4fe159cdbd19ed0a5","weight":0.6},{"kind":"velocity-burst","description":"5,068 lines of first-party code in ~1.2h (4,057 lines/hour, 3 commit session)","ref":"994f601c277ac658845084b741d91f6040b080e9","url":"https://github.com/Tyche-MKR/vmark/commit/994f601c277ac658845084b741d91f6040b080e9","weight":0.6},{"kind":"velocity-burst","description":"5,202 lines of first-party code in ~1.7h (3,082 lines/hour, 1 commit session)","ref":"ea9e2e13da4ec17cf798288bf7fa5799cf15f7b8","url":"https://github.com/Tyche-MKR/vmark/commit/ea9e2e13da4ec17cf798288bf7fa5799cf15f7b8","weight":0.6},{"kind":"velocity-burst","description":"13,860 lines of first-party code in ~4.6h (3,004 lines/hour, 14 commit session)","ref":"7423e46d7f705e34bbac2ff0312ec5e6d20c05fc","url":"https://github.com/Tyche-MKR/vmark/commit/7423e46d7f705e34bbac2ff0312ec5e6d20c05fc","weight":0.6},{"kind":"velocity-burst","description":"6,777 lines of first-party code in ~2.3h (2,966 lines/hour, 21 commit session)","ref":"757b8dbd6edd06df8e374d6801cb9e31267e8b43","url":"https://github.com/Tyche-MKR/vmark/commit/757b8dbd6edd06df8e374d6801cb9e31267e8b43","weight":0.6},{"kind":"velocity-burst","description":"9,026 lines of first-party code in ~3.2h (2,780 lines/hour, 3 commit session)","ref":"7a1cb7f7830bc797df0d2f12f1bfa7819db96e4d","url":"https://github.com/Tyche-MKR/vmark/commit/7a1cb7f7830bc797df0d2f12f1bfa7819db96e4d","weight":0.6},{"kind":"velocity-burst","description":"12,640 lines of first-party code in ~5.1h (2,464 lines/hour, 20 commit session)","ref":"8446cd8ab7e2e6ac5034f2b80c5c0737dc51c290","url":"https://github.com/Tyche-MKR/vmark/commit/8446cd8ab7e2e6ac5034f2b80c5c0737dc51c290","weight":0.6},{"kind":"velocity-burst","description":"13,699 lines of first-party code in ~5.6h (2,453 lines/hour, 13 commit session)","ref":"fc56edaa4e97b11d334ea8c24816ff236de9e39c","url":"https://github.com/Tyche-MKR/vmark/commit/fc56edaa4e97b11d334ea8c24816ff236de9e39c","weight":0.6},{"kind":"velocity-burst","description":"12,140 lines of first-party code in ~5.0h (2,449 lines/hour, 24 commit session)","ref":"50061b34b08804e5a38f16c3b7d366fa3f5217b4","url":"https://github.com/Tyche-MKR/vmark/commit/50061b34b08804e5a38f16c3b7d366fa3f5217b4","weight":0.6},{"kind":"velocity-burst","description":"3,231 lines of first-party code in ~1.3h (2,395 lines/hour, 1 commit session)","ref":"a3f0aea4393f8e1257eaa2458620366da544a701","url":"https://github.com/Tyche-MKR/vmark/commit/a3f0aea4393f8e1257eaa2458620366da544a701","weight":0.6},{"kind":"velocity-burst","description":"3,188 lines of first-party code in ~1.3h (2,380 lines/hour, 2 commit session)","ref":"84a502ce4db5f864340e98b29473c1d5216ff6d0","url":"https://github.com/Tyche-MKR/vmark/commit/84a502ce4db5f864340e98b29473c1d5216ff6d0","weight":0.6},{"kind":"velocity-burst","description":"9,576 lines of first-party code in ~4.2h (2,300 lines/hour, 6 commit session)","ref":"d27fad632b4b3733d1083fd9f618adb5d6109a6d","url":"https://github.com/Tyche-MKR/vmark/commit/d27fad632b4b3733d1083fd9f618adb5d6109a6d","weight":0.6},{"kind":"velocity-burst","description":"2,918 lines of first-party code in ~1.4h (2,049 lines/hour, 4 commit session)","ref":"90ffd920601ab0117bf953facc8947605f11bcb0","url":"https://github.com/Tyche-MKR/vmark/commit/90ffd920601ab0117bf953facc8947605f11bcb0","weight":0.6},{"kind":"velocity-burst","description":"3,251 lines of first-party code in ~1.8h (1,811 lines/hour, 5 commit session)","ref":"0ab3a7291ab359ee3f3d4ba84f47b11e1ec34fc5","url":"https://github.com/Tyche-MKR/vmark/commit/0ab3a7291ab359ee3f3d4ba84f47b11e1ec34fc5","weight":0.5433426183844011}],"data":{"flagged_loc_by_commit":{"93cdd8509d03350917792c2fe1e475fc3905e47b":56,"d510979e39874cee1c1bdf9083f60c50ba4152e1":336,"5794ee615ba2c299149bd2cdac4d2b46edf722c8":743,"ecef7c100c51fff4f4e77976f6dcad1e20c5485e":37,"b6020cc6d84d0d470453f745c6b2a108dbe1a4f3":8,"f34d53aca99b3e630ea57b700d159ea2883a282e":229,"ba0d824127b6fe0d76dd2b63c47bade3f9bfc118":27,"a1ffdc40c0dd7479290448557443c19a9998d566":284,"6bae17e253991e60dc10a63edaf45f7d842e0176":2,"36b2ffa72658cc2b999a4f2fa1f3665e2bc68165":272,"1b4e31be918fa6a583c968b8798fd1858c3878ce":1240,"08184845b0a2915a9a7f2d607893d801803b2dfe":1081,"a4ac53f5225b5a93d238fffcd49ea90c2965fc3f":113,"728d882ce0c8482619a69a6e5d70a1ee8d90d472":313,"eb3c0ecad08de784bb0c5decdc0dd74ad118821a":8,"3953ffd5aa277543878e9b660ff2b3b851b6b3fd":660,"9b3623952c5d0a70ccc88bced10ab56d3b6d6c83":276,"795a9bab26ea61d7178f545387ef8de9f7690c43":1383,"4168ad0240a9e7fbba91cb958e14b64632ebf446":1146,"7d37834f8062c00a0693a54fc14683b25b5b226c":1153,"53771887c45b7755fde2217c1cb78b53f8ec8180":1800,"97ec25aaec5876b4f6ebd03f60577a367e4f7ae1":1425,"b26c7c8e4921e0b08f3e1400afc4e67ef579e057":83,"9c965ee4fcff52380ee32f383bdec96926b29476":86,"7eaa4aedb749b21fa6149904909602d0f097daca":10,"df3687282f01b6b4077d4a99eb3de113545593a0":687,"c6adca613a8f9ba60e1fd78c54f75df109bd9e4e":7,"490c7242bb575900e43eace467747dd2d23de129":155,"2c907d3dcdadeb406c67b5a2f2d64989147b8c12":66,"6cbeb662826562c7c6ffedc8b1b492f68690f2c3":221,"1836a119a8057398114683fa2e5f397cd264b6f7":55,"9ad0441001f1072f559565170675e3773ad42675":162,"f7b5cbd0bae90648c42ccad57fcb1f6b25a38eee":82,"de50673cc25b2bf29d4d0e40bc65224cb2caadf1":206,"cd21cc7c2d7619b163f5fe2de7bec16fd44eae29":65,"ecca378f219dc6dec0a79f1ea44268279398c3d9":838,"d72dc75dbb845ce10faafc1851c8217791809ffb":1222,"697bb1a3e90fb00077a34a17d78369a6b631b180":911,"706b9871c28615ccc06911050ca566db58048e07":154,"9cc5cc9dff99ac6c81e75a13e96006549b6be3be":67,"1833e7527d0f02a941f6f26ee8af21dfa67a40c6":519,"c215cbef81b4ccb897a89c2c6aec3cf37d3406ed":925,"ca7110a37fff412d7186d5dea76a0e4e67736825":142,"9bb54d3786bd88f983e217d814e475004669c582":2505,"a27c3138266ee8f68d904d1a77fb5562bde4d235":1096,"6e1fdd920d86512c7024c3c1c4fb5ec7c6d88c99":242,"ea423fcebab212c5d62d940afa8c2f1b1082aa96":15,"11c5ffb49a453f9b3b78f9727caff573ea03f382":175,"571fa25b7940ead09e86411bb4bcff5985af3576":346,"b7497aacac719933778e8684d3089463e38472ef":211,"9ff29b4165e76cc4d3ce153d2dc6d74b65fda6ad":394,"4d14057f6084451fe2aaac846208f18f035d93dc":172,"7ff2eafb284263fc4eb27ed1de94304349111e1e":152,"c83ad29f4c60337736482ee77ad95fe22411c02e":239,"dda0a8ff4fa7882f5952a11fc3cdf17b5b6942dd":353,"3f02255225755b4ee7b553e6361014dda33a3dbd":269,"7cadde3e3412868fa0d8e19705874c521f960071":165,"c69c578b697b1225a588c0bb8f4a819946651ac4":298,"4b2c14d0a453676aaa6113aca7c76a5ff606e148":488,"f09d50bfc858323ef0c57396924688adca43cdad":1015,"246dca808ee1ade10cf67a390e22ac725af12f21":240,"dc88deb13658ee410f03c7738d3b0e93374ea014":665,"1bbf85b14266198115888765793f15fe3988761b":395,"3b2f74e737d50dc289b1dd52d6b01d68df123d03":19,"ac3b95815664e16b291525e275f7e163747ab4c8":103,"bcefaf1e544af5ac9092222a9215136c0b53c511":2370,"ef2975a9702f2cf69518007d52ab6668495f508a":145,"db874051cdc320ddce9b1a554e4cd8d73cdb1b74":659,"76f34aca9aae39ce7d4b8a9566e79f900553814d":633,"a23efc077679453e2722104e0b2bafc2e52f92ad":410,"98befca130e67151a7e91711914900767fcf8651":725,"29db84f75f3c16cb3b8bc6a16f0819829f409a97":28,"78b82da02aaa5d9652719c6c8987c0bd11374530":490,"cd590a55b525b49e29eb50fce091ef45f6c4326d":929,"188e82150eb513fa3c2402d94d1454ff89a40720":93,"d1c16cb47edcb1170a72985afb8264d41bac9816":1929,"98c4e38de05b5ded71d3ab7aaeb73dabc8707b1e":2,"a3f0aea4393f8e1257eaa2458620366da544a701":3231,"c50506bf3d19dd474c9cdcf1ab626993a9f9556e":1184,"d0aff014d2d76297e67b8426a0fbad234f270777":1575,"fe8e6bfc543e3ca72d8087e41cea0b202074ea55":22,"9fcd40ec284271efeb1b4c49abb5570f03648296":216,"4ba610978bb27505c5e6e8c8c53647e1c6a6d607":75,"ab5790584811e3628bc91793010bc65f670f584c":81,"344d2562dd329536632178de50aadf19e82fad9d":16,"ebe9e31b884bea2047f7801144ae74f7a89ec12e":10,"6f7333be62860d9d3b9ad5f07a75d88850c974e8":70,"ec45fa452d72d20bcbf9288fef6ba7ec8913bf7b":268,"b7232c00d1c2dfe573804fb6858e3c6422396950":93,"80928e5c7fc46fcd6d9b56be5ac45ca9a77faf53":37,"47ce2b428d731996b3a19cf8660d5938cca9c2a3":328,"b54ed5c27110d6b6ba1dd2095087913740e8e42c":104,"6e792097553f751039cf28943189bff266d3f0b3":194,"52462726eea2e5441f97a9f29f0231d5d3b90a1a":122,"b34218e72b051c9d524041d700029ca601f09dc2":124,"944ff19dc9321dc216b43282a8236dd5a74e97ad":153,"ebfb4a7a187e35f445629475a43253438214ca4d":486,"0cff44fc9fa20877d2d338e4d9227b5f47c1b3d7":257,"31b247a855def15bbc9701fb1c191181f3177ee6":78,"8084dc98ca61ef6cb18e0e63ec8ef867245cc956":413,"a5dff2d1da540d2cf355200e513b4254dd5a143b":4,"1ee1cff1fe3e534ad18be11df98e7060a1a865fe":789,"1a1c828a0e733156b6d47e61e3e546f22231d934":16,"d042808c7e1708e0789e55b2b485b9f8903e48e8":54,"87e587de82d88a70a9cd3fcd740c21a1fd500daa":395,"d20f4c2887a8f747d7e5171c304905e459f45bda":489,"b78772c65f647541e3c9bfa326070e84fbb6fc17":91,"094a436f00347ad1eb1534a748e2275a5a22a179":176,"a1d57215ed43fca94d5ff9d08e4c5744419dd53b":5179,"f593c820df780138b31a834857fc8306e9ab1de2":2147,"9d97a242a3c05c4b897f29bf165041d2dd3316a1":1600,"7463185eed8f2005a13962a3e29ab76a736b37a2":715,"3c88e6422dcc8c0b07a188c5c405b326e3d7e2a0":40,"08fc6259bd5a8776e8fd2b5fb37ba07d028b97c6":429,"b244c006a3b56c87c683248e1b5672554af30351":937,"2538155dcdd9f34efd6efbb4fe159cdbd19ed0a5":334,"a9954fd30be962d4aed980ad2756ccff78a0bc96":1023,"17b645d861bed896edd03b8835471d199c89de85":1199,"2adfd381ea3d7a26287e55d2120f014250bf91f5":350,"3973e9a65c28ebf6bcdbd14b79477ce8d6a93544":305,"31ec5168245aaaacd5169539a35211833739813b":6,"cfc39f0e6abfdda66f4ede040db6c833da5a2b08":739,"bb92ec833f586f1dbb3ea1e3f118d7d1e2851daa":108,"11dcb3e307efd0c7bf33c5f98358e4be2b8d8609":93,"568b4539cbb9ca0f9d5ce02d79e6817cc7722601":7,"334367f2b0d5a0bc85c2a5fa4cd1f32ca6f23945":1301,"8f0aec06e68e02f76edc17fe80e1cd9004324869":5,"e043894a1cb7f4ac42694a1a97e77d4c18b6905e":2,"19a2d60bbccff8841a93807a44ed3f928bf61ba4":963,"2aed2a578b7a1c22dd5b515e34dcaa24051918bb":88,"546d76b4ecf45215aece179806809065a697a32e":2228,"aa81f0737dce80e5b5220785efb676550ace1e61":795,"6418fef7b7ef47d707ad0b14a25f306112e79b2a":5,"05613d4647c7e45e96949524d85b27a4ef511489":98,"66bc3e60799b9a8d48d223cf7a48fe67a08f305b":283,"b5267cf097bcaded700a938b71ba597683d71fc3":464,"f5ababff275cdf37992fdeecd77345e442661e37":234,"66bc709b0585e05bcc6ce4a8960b9e8561d60419":50,"7320eddb042b11fcfb85a75a932c58a283cfc200":48,"3ac89583ce4aa7fd6c08c4ca2450ffb2933e0392":248,"05cb6e7ea80b27165dd82e18a00e02ba30d1be34":301,"2824368791e91f92eba73097aac5b22215d82c48":2630,"c1af880e59faac7bea637db4a028ecbd79995a64":38,"b768b69c45b72bd2194bea6a84e47773d6cef9c2":3,"55ed895fa23f4055fca3765c4f115d15a0f53c26":6,"bb34cbae3f672e25f42c6dbe57f359fabe1da896":34,"dd4850893bdb8b43ef47b444e3c746435ecf7b1c":1313,"376033dcaefd2ceeb256c1a60d6a0f08ab85117e":1,"6ffcb32d7bb72caeb30f007a4eebdb12525dfd49":262,"d184e517542486a4367c277da8d74c5c00a45865":16,"4043cc1e975e47e05b5d775b3f50fea0567c82fc":3,"5591c48e24850d129d21be89c6bdd7751e2358e8":57,"9a0a84cd69d96a118be3fd919cc88d149d497e8e":977,"a1377a88533cbcc8c763a4ffb082ee79a67fc8e0":4,"dfc75dba32ef6d29873a9fe27f462b306a252807":1418,"2c8d26464beaf49dcc5edc68a355805a0f86aa01":4,"6db85ce1d18eeca08e7d70e139f9685c3e0b0491":202,"de30d7495e648e47f655a5ed8028aac1cbb5eba0":4,"5ac7a8078647fa5256d2a6e006fd1d1aa7425663":14,"c95668afa1da134660f813406548d94d6e13bc9c":118,"e0edf8c8d884da99b5fde405864899201abbf273":649,"f63e91bbed97c19aa3c0ea8e12ca94f4a8ff28bb":261,"56a5f72490ac3d95983aca3c65cd6c1706355276":743,"90ddc17a90f4b9ad8a7a14dc61a1f6a096f81b16":163,"b9fe00f7ce36c6e486cffe1ac9d2485f05daa3bb":40,"62ccc862b5652cb87c2bc480f3af5a0111c09f9e":1668,"87e2a5fed6a1d01709b8c0a893488dfba4528347":2331,"84a502ce4db5f864340e98b29473c1d5216ff6d0":857,"3d40da9796c523055785c3ed973889aa1d626563":6992,"53b680b5a83a09a8e21d5aa23528cb53c5829c22":41,"d688912d2a48ae96af53ca1a3d447b3ba271a137":930,"9b552161d70e47304c60fe32368a67a4289b0a40":2,"6f294d7ece12754be343bddef7b5eb168d8ec68e":311,"55103d8bcc463e0217d2cd1551985f86c0731d4c":37,"6daf3929b823edf17a40be704df001ad7fb7366b":195,"8556a0db73128ecc4529b81161dfef3a58e9803e":27,"3aebfde7dbb1b7aa121e700a922dc0607a7b3a15":774,"04080b72e4e8081a93d43be5882732f38d41c3a3":929,"6ecec4ed06f89e56844d8143aaeeaecf2a9d5964":45,"2ced55c88f08c5834a29e444b2b2e387f4d37af2":5,"5ae10c3bc42f46f2d541eb006bdc164ab471fa99":23,"1bd086374f24cbefcff315c6f86585c71d42917d":179,"395298b9615fbe79ab2d1b2fb8058b70d2be57b7":666,"e02bfdbe373e007c340ae10d28ae705c402b6c69":77,"b55ec4599d15c1fba38b1af5af107148faf172f1":43,"744e615012f74845834b365ce8916685a24d9c43":439,"6407c3461b1adaebee67fb1f1e0ad6a84dbbea29":272,"5d11e21fb3e727c5857018d24abfc1e8736a7e52":9,"1a6dbb9cc32bcac44c8a2b79eacf6814935028f3":138,"d4bcef3bfba364805f9fe8c1f4f6574a432b7729":26,"258f064b0c3c3a9e0e605a3754a68bdaa7c7bbdb":1,"c993c71c2de6471f35d36c9f2edca2f845f71992":9,"8cee4cc971600e21ce550f170bca3b3204e920fe":41,"b1c68ce739f800d9cee2b56b367fcb11aa8024b3":21,"675e460ceb8fb10bdb0c4bfd1c925543f13521f9":452,"d3c06d96e952597f104bffbfd78d4fcaad7ccfc4":1087,"77d6d25aa79c1f7d84eee8101cf9ac85d095f7f0":156,"9180ada7152829b284f0165166a0c10658d58aa7":562,"954e7006dd36c952b3c1fa4d4f232cd4fc85b96f":1087,"f1cae7c3b1167b9d2d649397e1dc5e3605dfc493":252,"0ff6e39f6a10e3afa55dfac4981cffcbf922cac0":1865,"1a14c14f0af4e8eba83e549640f158af500f2e12":2,"ebab90a1b5f7ebabc3d978dace1d6af24051d9b7":544,"413e80ddb72f6b59faff594108c6d39727cd3c7f":22,"e2a95909d478ce218f4ce83cd57c09d4af5a26a9":4551,"7e5ed5d2607e7cdcb3b38a1d9b616ba7bf88cdde":505,"ed257c75b3c941d72440f305be71938bacb18a34":3,"50061b34b08804e5a38f16c3b7d366fa3f5217b4":53,"b0e58a30f732054aaace695e5e10e49538a34704":35,"f8ad48a3ec0c08449a0044a7e91cc970244ee1a9":46,"78add11d4622feb1da355bb6c23397492f41436c":1135,"09a8edffcd2a4bf509cdd2293fe6c95a96234fa1":109,"3b5fea71c55e7ae49d7e35a307a468b4ea52d9f6":759,"8df7b06fa91a860129bc7b1b4c5b48069841447e":227,"f63542643fe8775d1a2bb076b45ebb30ab79d810":896,"77822b939ad04e87d76ebd0d9e69d5c3f6e7fb45":48,"14b207aeeda390c2ab0d8f8c9e6836a8407110d0":1953,"154c8d2b73c719cbf6d3b59b8a73e3160dd71310":276,"48c98716d6b295de4e23001b52b323af0623e822":346,"8bf0ed57d3833a4889733dff7333665e3b7a7a36":1,"c324b5cb9e56a8ae74e778d0e643913ecf97a8c8":61,"dd4d5b3af470a18cb3a8dd1660cac1e59b3a5478":1,"d50c30160408d45677c90e70a919d32e387d0d5a":663,"641215b7a86efdf0092184debbc4d157fa803dbf":13,"fb6067a06ef6b5475efb3c8552460fc9e70628df":3,"15b5e453a94fe00a6bdc0fdb42a344514c36833a":11,"2a63a63a629888982394ad7d24448f8de67694ab":7,"f3accd72504ac919124280395870f04ca32200c7":2,"23d450b25ddb31e72661877725ad30d7ff60d69a":30,"2ae8bbce358d19d73bdd0969330f53502c44e76b":15,"0279ec0bab5e2459ae92b3a9572b43ae8593370e":8,"ea9e2e13da4ec17cf798288bf7fa5799cf15f7b8":5202,"385973739fb260bbcfd4759344ad373129028941":1950,"a3113bd72a8e53e3eb8761297f2d9b2286ca2659":2507,"8a055f511eb797788905aa5c7974e9f55b2a88a2":664,"9bd3109d3530c1dfc7e44271c278a9589020398d":177,"71a5ca71b091474096d91dcc0e3c65564440974e":495,"eb6ccbeded4b376633a275545846961f4efa0444":136,"d36b2ac74eabbec695eeb40bdd22902614becb1b":16,"0f180d696585af4b0d5fb4064a260bce22e911b5":213,"cccedd2f129e873820b599d428fc2f2c2f5fb11b":12,"f9765f61a97a13919a6869b8a4becc954c4dd07b":392,"a87c7709e455994119c7e87330f1f934836659ba":123,"2c98f2ad3d6fcb2c1abf72e6210066345512a40b":2237,"8d9cfe8fed355052a0a92fdffdc1526754475223":307,"b7333acbde1139e7c89d48fe14b8517dc6014097":4,"1099a0dc833875d6d427615dcf497f7cbd53e4c6":162,"5f69d56dd2c3d783dd6c23e61577a5259726f2fd":3806,"21f94d424dec5906d2be295c47de979b31ba5bf8":9,"76faa3bf869781f1736c0d44eadbda03187fa129":10,"0edc2cc03f2f0ad546fc06826e9b25e2790ac508":2,"252d6aa727c8d5a614646463507f9058567c8cd9":9,"6c74c556db7954c185a7691936f138c85e9d41ff":1,"aef4f84a7a2d35f92fb556223784ee9637e7edd4":6,"a11edcc41b2de0a45b90614533b44be55422eff2":9,"b2d04906c56a03b5a022da4c6b0a1215f9588aef":213,"d4cfe94fecfd3383d13298ed50a86e1f8c504cd9":608,"c2f26bdcaa7f7b968832d19fdf39f341e62f9a78":477,"d55b39f30f53aa7d0b29c7ad32232499e5a6025e":1919,"478b0badcaa98d21f743df0e7a5efc847b76d1d3":118,"d65e2520ab0b19aff36f775cf1cf447dac0775c0":15,"ad26acec665733b7dd6cb198a2e4f053bcb27bb3":2,"e2a6c38ac9007b6f0d6fa4ec5edaafcf7d35dfd8":1,"1f098c6311f0cb28efd611d7e321aa75c7ef955e":18,"34b337052a209dea0309a63c7e0caf075c6a77c8":99,"a07737f193c88dd867f15d5e53e5770839188ba5":90,"ab5f8c52b703526cc68daa3df30c194ca3ba41ea":1,"d8547a481753b481c430de480cf4b1b7f08a91f4":2275,"eb842958e8a502067bffbab8c5f47df0697d5158":270,"8d03a7c86630fb98df9521ba507e8e49024c7ea7":8,"c134636b3c58a642d0cdf5bad4fddf01f84b241b":7,"93847a427062317f012855c6cb05c156682e21f8":1,"6a46fce6c4fe17f7a3077e0060f11740d98bef03":21,"6c35655426a19b6695ef98fd3ed03ca6499bfb2b":954,"f66758c10d3c3373bb95b1ce43994f60aeb8f888":134,"e7320ed97baec99eb926c3d0d5e9dc7af5be5f0a":1,"107177cec67eab39fbfa9efde142b0c4b1b60347":1,"235eb168b7a9a563275e716c2d1bbbd60f81414c":269,"e0b9721d439452780511110c9cc63e23a27daa84":206,"397a9500aaaec8e545026c71b185c842f15eafc1":1116,"593331bc5a412d1489949f1edf81fbb58f6480a6":810,"b9ee71429c362646e2166847524c74c38c0689ca":714,"2dd0f637d07814db1075f2e85c06a51ebc74764f":26,"d900908cfab67d27ceb7da4ce46c5b40faab450c":536,"b51c418fb4d1896f7a96aea25d7a923e1b086d6d":1025,"e2304d9ba8ad997af4a174f7e8b06221d0720b53":178,"5e8bd77365c2fbece04f209f0ebd2eef80f36308":24,"a4be698df34ffa8a0da06467666bb5210a44f413":698,"f8cc374069cba7984ff2e6991788def1c718175b":468,"bb62b8e454d7dda28d63bb6faa6ac94bddd9d344":883,"2fb0a10c4de7959dacb69390654815ec5fd4ed4d":918,"12a9dc114cd5f7d91af103867c8e31f38ff9c493":172,"46b5a2c18e18118ac2e5b8aabbf79af5fe4ada19":54,"f1e1329302c9e07144ad3e5b8fa1e1af40085eea":1273,"eed84d43e1cbf67e75832da1f261e6c86a733e01":1133,"6ee15f14eeabb84b24959264eccf5f9ba1dbcc81":1551,"dc9d6c7ce8a7a848d837a5a6237c64b7f9d19ba9":904,"7c3e64d73b4320fd1a4ced998b4acf266efae6cd":1171,"85832f1c3249cd0416bb82bbc9321d4784e713b9":5,"25d2fb0b17d5e3613c34f68481bbb9010ae18c1a":302,"cae0d633fb1c3b6d4b9837c8dc489c0076341179":274,"aa9c87944b5eba2ff21066b4c39e4153805596fb":23,"d2510625ee75666ae15b2229aae6b428be140907":8,"9bd8678c01d041783a37b7c63d4303cf77ec8308":52,"262bb09d2864a473b4a7d5bfa626cea56fd7132c":22,"9377808cfc5d6b3873e23b013314dabf2d3c11f0":1,"e4cc7b10d23b9f036b9bcfde41f18d9bde2b9645":320,"bccc6b61e86252ca5c7ee392fe9f66aeeced042a":1203,"9a10c711da7426b22f40c46e788f518f26f12446":1456,"eeff246139d7f9d90958274f4ab4e64b3b772936":370,"7bda582860d7cba74a9e83be0035f0dc5ec2cd61":1,"2071deb58355030d1c3d2d5112365db624593210":1,"5820b5b8f6eb393bf3c0f99da1667db5b8bfab4a":1,"e029076047eef689b8adef4a332330c97273d0eb":18,"3b9c9cacd1ab45dc4197bb09b2dd319c080db8e6":9,"d3c0e493f3e647283936cb1b5080aaa7de473bd2":1,"09156615e9f219dc61b3a0c4de3538b5b697f9e9":2,"86769798070cfe23c2411cbd4bf9f5e018001d6c":2,"6f795d8321c8676e42f449060ac4dcbf1bd7e19c":9,"70e8c8fefb27ec5b5458a8b2daa6cc768a937f09":2,"d5f8661538ffae0a0311a7fabafa96c2103cb9c3":8,"9020d7a6db0f3d92f975afb40f908e6b9841143d":11,"1d38f7675cdae1e2c66ca0482f1f741975a33ca4":1,"4a58e778353971e089296c15374ff146c276ea7a":18,"6c638938c3c61f06a2775deec6e69af47e5508be":3,"6461156832530eb407ca047c66330a17df2fba64":37,"22fda66304306dd392fe50542fb2f959f7eeffc6":11,"f62ed595fb598deb1cd72aad4ae122e3f6444ee9":92,"92a44d9502833e8a79af7eb1beeb9c68ba323033":1946,"8fdfb6a53030b889fe8565e53a440f3a191b151d":1305,"bd479f2748e51ed5055f6f8b32225db74fb7d1c4":193,"37b6730c9deee19439f98f1e40ce4ccb8db528bf":1646,"757b8dbd6edd06df8e374d6801cb9e31267e8b43":1462,"9250ebb795ee2cc2b24d8b0eb5162bfca5358e36":5004,"f0494ff8b1ac564f25a9a6372f443f333e8a78c4":63,"994f601c277ac658845084b741d91f6040b080e9":1,"76fd8220962454e00f0936fa08a80251e2060b8f":2447,"b95f6e12dd4415a342736cee83c0c34bc49a990a":676,"3c6617d3823825cbc94be71cf71cfed6afb383b1":1,"ebeee61b02dcf47c67d3a94f53bdbf94cd0ddb4e":6,"ab6987fba5d26f75872f34dbbf7e65e66b44fdfc":13,"0da85cc365e43fc2aaecf7a0407f4cb748892647":3431,"2ed9e2cc3c6af1f2fca43c69cbc29e9e5be49c1c":747,"7a1cb7f7830bc797df0d2f12f1bfa7819db96e4d":4848,"cfba92de0443e929a4b8c0ddb24c7886519b41a3":2010,"110ad5061d57db6478609b4552f8679bb797b83f":922,"80de4ebea5bc4537ce88f3945db451d13e41da79":1570,"7b808b70411587facf7f382aea0925c4b3b081d8":1566,"46f2def64d1866124f62b231bcab13ce89d45b89":623,"05a3372e79df071113e81fd4839f26319173d3c0":461,"bb71d27c4f62758ca7a5f96066299bbbba88a82e":747,"da46072bf78474c7e8aa1c7f692cce303b5bf8fb":172,"34d5990bb9f47b90293d58839878956c22cb919f":1034,"1d21007dd5e50ad6cd988f8552df157bd072c1fc":551,"1ce46d826b41713fbf376a1e25da2b8f3481bf73":15,"4dc33fafbcad551e071614fd023f64f0f4cc8e0d":359,"7849edd0ecca8bfbd05208f2247edf2885b58cdb":4,"2dbc69393d2cc582dce3e0a3a78ef9f0c6fc9fa3":1,"80ee61a16b911a7a65dc6ae91b53c7d66ed33cc5":191,"ca4db920e3831d52ccd0ca5423d3ebb15353cbfc":3201,"a8d1358a79c3d54afac02bd3fdf69bf915f423b9":1,"aae520c582f1701cc1cbc949685c9959ff23c4e6":20,"50aa73cdb8039447e59b3e30085a5ee9249d3a86":1,"375dce06a1148ac35ad5a9eec9703a9b48861b2b":250,"00c2573bd4917dbf2f977862d2657c9686d35fba":11,"90e54dec7c7c9b857502d165aa4970fa3c597445":129,"99bc198cc1e2acc6b22945f274db04189321b281":429,"368008c20fcc069425c5b6ed3443e2a1e6fc4be7":285,"5216aa9c4e497eca7321731c587145fdb592057c":11,"5739784b2c1762437319496dc90bb98b151d293e":315,"5b634a9a1af2f8b6984108683a3f17b6b2bf8b8a":22,"67bdba916086c3ff59ad0006b58884928344c8dc":100,"db2931774dc8f8ec41956fd4d2b9c9d3249447ba":1,"c05ce4775927ae1c2293cd6f66abee18c1dd138b":60,"ab9293f23c7f2763df1e0f39a8a0f6d5d9df07e9":6,"afde82274c420167416d88d74e993984457df908":2,"aafef6788e570ef5525da230c39e5f6b7129aaac":10,"59240b855bdc402d2a15555ec68f494f0e81d873":1,"4cca9fb405f4926e6ffe21337e300c02f12592ed":1547,"fcebbf11d06367301a6fba03eef2ccd84dca0bef":9,"0129f2c1fba1623487b2a85007c7101af6d86be5":21,"de2ee5b447847a6af25891d7bc9a49f19f2465b9":92,"237ef2fc6d3c0ed9ce3a5753b72daec3dd100627":62,"6f5c59a1201e1708cdd56e680c23ee8cfefca241":53,"e4243549cd3447c93a3eb3c56342a6df9b0c6d45":53,"7353be2003ce82d151ab6898d3dfb8b80144295e":317,"66bf2378dd8cfede401e0ae0a25ac324d0ccf095":30,"4681e758bed9d45a1e3089f01957dedfa8920d6d":2,"4c7a9e47e2386bd97e5e26604f2eff2b0234ca06":624,"f34293d8269845ec29e2a864c62e55a124bd88ea":10,"aeecb188e303ef695a0bfe966d5cff8cf8a7c19b":30,"7176726b8fbb76ace27b6911511862dbf3198a3a":10,"42a3b360e1f7b75a7258b3708862b6de761d8fa0":75,"359567b3f9600b2aaf2089ae6649e0c7eb5a28d1":111,"7f797aaebd1f4442bfd671d5b48c76c08d8bb7d4":3,"0d5ef8e64274c7f28f34528b0740a0abacf287ea":212,"9ccbfd3093af7407e6ae6378ba6defb852ccc489":128,"20c5c0f5eb072479b96bf99d6a6aadba550d482c":298,"55cfd60e8ce9759be0cacafc10b5cfc6e3f5ceb2":451,"6dbdde32ca271c9a12b512238d0615bc851dfe41":509,"925fd80be473ed5bfe9337ab7577b107555ffdcb":26,"310252d76da6489ec362445d0370af86f290e6e5":4,"f15d50f25a47b3f68605b245c2333372d5a09d83":112,"dc54767f6671cff494eb43dabf3149febbce4b0d":165,"93829c7d373be5b8f349f0278728dafb18f31d0d":166,"6b1977a276e9e5dad3ae80dce5ad0a386b4bdcfd":1403,"d85a0a39c3ee6da02d5bdc79e06b477699de4f2b":50,"769e6b41273cd42a0e4020f3dd941a5719375203":391,"0fdb6bf4abacf0e31022b3a1c71e2c183980528d":197,"6609d7b98ba1cf62713711e00da6db04c00657bb":48,"7f105f30f11e38d304dc8fa83d4c5ba8e1689b1c":258,"bf7f242bb1838f6e219846a63e985cf10ec3eaf3":99,"da9042ba1ec6aa1f5243de9d3b2d51fbe5609398":1188,"64d416adb31432f3dfef9c96108866af92d8dc80":86,"aa1d58f5b4a130d806d0a76f85c4d80287378296":1735,"217a6ee076258075658e00979be6f13bdf41ce20":88,"94ddfc4be60049486d15e37214f2184222755ed6":1097,"5ac382d61d00bd79b912249d9324e55643e3eb46":13,"c4bac5a1cc7ca1f46a8c1d82cef237151a08174b":238,"3c667400e1042c43d4acc34b25274370bb8a17d2":1,"2c59dcfac4cf010f58dadd29929e9862b5c13430":861,"363c4166d7900160d12dc0d4df2f8634352bad87":250,"9ac16a82e966547ad0cbbd760216afd0af17fc31":400,"78f0b08ce4eb0500e09976fa25f5a9d3164259e4":1,"8d1f2a364f0624edbb0a4aa826ac76db0db8e8cd":93,"7d3bfb287953d1298e48d118855ad2ccb780f8d0":307,"37a3bba4209bbdd6e50cb78b5c8a03def9a61349":1010,"dc2778aad769064af21091ddcb2b7669a80ef96d":735,"d2b29a6ad82c666a13731ce61870e46365345f06":1476,"3f08e2f45601e356968fe67e3b60e8a10f90ac62":1,"b236360318c91ea2611a8e925301504344ff4375":644,"6672747b73957d1ae0ace6eb926027ea8e362df6":864,"bb6b01e40658c7f1dba0b38be50894dc19e65069":776,"e9039d01d34dd7a03d7b23a3004ab83c744c975e":593,"0e0e89165bc6f22b72f0efb60f6a6c6d852e8e04":587,"375d3691924f742e2de6592b41df325dd59052e1":607,"1c11f141250379c882d3ffb5284605d22bc9e4e8":561,"88ab48317e99eead56eb0fb3ca0f0ce09b37a518":122,"ea51792ad33d4b7f8c5712e4b4749cdec046e721":1,"9e52bba2cd4b4bbf76d8d2782f8b824dec1f22c6":221,"d4d35bb1699d2f072f4dcca4b97c23935cb7fb27":289,"c844f4c7c6e42370bb241ffffe933a5120bfce07":670,"46fae61c8f81cab51699eafc5896aee16ee8ecfb":102,"3ad4b0a9aeffa1a9b8c1df02cc5d05dcc5bd64b0":5,"a681183400b355f38d4b9bd9e6112c8d54638b1e":398,"c53b4d50c656b6530cdca69241bc414e256dba30":1211,"13e14aa48fdc81a16d342a80daec3d9f47c303bc":617,"11251ce7ee5ad2bbe286ca4b26552bf7c8541b55":383,"bdfbdfba7894b1450d2b89f491a89173b8dd1da7":65,"4f2f623c626222727d93219b9a6963ba0a89aced":1651,"1956dbfdf848c5ab2e6ee716fa9afa321887d55a":956,"fb01cd5298827b8b5725110a1b5b726c5da847e8":732,"f835f111eb471378aba565c258a6b9332f6cfe9c":68,"26190132945d1c918121dcf38f18633eedb8dc8f":407,"03ced528e26d206a91476b2991abf677e1cd74e3":323,"32916cf431c2d416661cdb26dc4a9c00c6aab4d4":498,"82bace2da2c6590d395553e8228d50f866f45037":2,"6144075621b53186e0da3c753e43056d6adaa643":1232,"1b069a22d71323e9021bb490d986c3028a99d71a":313,"dd19ce073a9d6bddb2fb4ed9c985e47801e44227":4,"cd25b4566078dacc7b871f54fecf802fdf6d30db":565,"a18a3da544a35f93583f40ed251755c439bb7699":32,"5e20f388768a5489abdce19bcf5c697a443bcf4a":44,"fb41878f6a405af8bc31d634db37ce0f642fb207":756,"752edd955497c077246e50a91f95b01257184154":805,"72ab73c774acef02369e42df307ae1080cb1025f":344,"ef1bad3509348bc1e8f3f5a0e9f5e33ae641675c":1385,"f4e8c92467f73c93aeebc0f65274217c0f870887":120,"a1b50970c4e01fd094691b319d460249b11882fb":320,"c2f207e6fa914e9f27305276c4fa938fa88dfb5e":676,"414c5aea5d5a80e0b006e537f1aaa54fac1a8b37":159,"4895bc6bda020da230d7177a00f25b46eb82b80d":1027,"f2537f7f6b7da48f27e2ce56ac4a8ff077141ce3":48,"784e3e82ec09c4cd79483257e12fd93b7446a954":234,"96c266dc5347da4846bd42dfdd4e07bca70eaa79":152,"94c0dc3eb801b9626380aeaa036df955dfb085c0":245,"f37759f92a3e4f6e8a204d7ee163b7ad02cc127a":526,"0aa454ad09e732229393fa7b9a084580c29fff9f":1,"ba3522954a06d950478b06dd66a18dfc1dff6fc5":243,"2fda14b6bd54091537ddea94d3572f33e76fb6d0":2169,"33f9f7be1b0d631d38b29bf38b25c6eecf8e8963":368,"bbf21813ca14acde0d1a6d6bc89fdbc36fb11b0b":110,"42f9bb56d0ce69fb591b88b4823a9daa34f8046b":1,"5506f69af30c22542e229838bcbba9fffb80b187":1260,"8654e00eba0255761b0850f1a5d9481e208e0089":41,"615d5598a278d4f4a8ecde1aeff3f90e015b2074":54,"c4865ae080ebe7f29bd4f41dc7bd97a054bab5ca":54,"6fec1de1bf451a97dda0fa4328dce12db87c2517":42,"ff35e56bc58beba2ba5a3770b9040cc0e6cb9c2b":210,"6c8d891088fc3887d512c4ad02801833ce8542a9":43,"054915a7da63b98a902cfba385bfafde9d5aa872":28,"9df3dae3446a8ca48100c077558c4c48d24be432":224,"784a88478542c1c01db43297150d9f16f57cf644":216,"04047f4975a966d29abe29a9d143faf5fc9038cc":274,"233b002e9d4c1501a8c8ba03861b837058c67824":74,"3bdad63a342ed4b26ab34762955c0ac60ce19310":513,"000cd905c6621a548f7d8fc1c3f876a132ad47aa":177,"516d1a501a7789a13e92cd41c09595bb5971803b":1118,"4894bba19d457242e62a3915530a956f1945f6ea":161,"ca9d1c12978c5fe9651ec03756de61d83d6cc920":804,"2ac5f611d5cb534d8e236a85844dd4f38daa5a2b":1104,"302acb2d1f63f78f560e1b99aad81e0741aee6e6":342,"e0eb5a44b7ea4141221560228701c77fd5477b91":158,"3a8c8bcad7bd767b19755a6ff27cf3c40c56321b":814,"3bc8a79f4ca8129e12ecc3c119cbb053dae26bcc":69,"3f0506abec2b78c65f7f2281c41f2872294d5079":70,"1978de87faf9e96d44d1d3b9d06193a1a5034bd9":5,"26c929b104d042d733c3bde04a60c22f9e51e5c4":482,"b14665697722f623352aec50cf904a9320edb098":191,"60c9d7a495c542e4b213f38749eb273d536c9b12":53,"7a8c4a655fcf70d2f2472910bf28dc2998b816a4":264,"fddd6a34c8326d404542cd8fc7eb4cb5c4f32f19":54,"fb32686e00a3c4504e42059596b9e54084d6526f":1669,"ecf7995eeca0a4a2b46cf1c09f81f316bedde7b2":407,"7b8518b5ca7355bdc30065b101aa1c21a1ff5450":549,"34853d61bb6cd9d6b4e6350484f78bb2d4675d4c":205,"259ca6d2c8aac1a91978235b22a6f6da7a45b5f3":414,"ca19feaa5327a40272e21b2aee4a26d01f011572":227,"7486ca735e19a90bb6b2de057fed1cf415f6df72":601,"e0f6feed4fb132777362e57512e2a78dedc23f4d":1,"0e9072786b48fb4c76e1d4f3659ec2fbd58a1f45":395,"410d6a376b5a9e4183ce6b2bdcca76c4281cdb49":303,"a0fafeb75eb94c5ab44a104549bb68fd6c42b1c9":24,"0258d27e636c2c0e5acb31ca8a6f2663789fafea":109,"c2a03ed080a03645cf6c43a19f0cf1a809c16c53":79,"a03b618cf99e02cc6001caa98cbdf3ad96911886":218,"a602c681ea583d3b942b5e24e9ae9bda42ab8211":108,"3c1ed8a8aaddbd88be3ad6f45978315d722f3159":177,"1c39f5b6b64d391c4338158f69489d7a49d6e2df":456,"2a76832342c8ef5b4cd50716364e94376445d8f5":272,"041ecb228d9e9a83b8a9c5e5276cb462e010501a":169,"38a86064cd38acedc691409a110c5d094316e859":5,"b7ab618df88cdb35abfe3a6e7da23f73585a11e9":225,"a18d8ebf4dbf18ecf045fbe4c4165a48cf2d0ac9":8,"9e51247a5caab37d057c8d4abe462a33e8b513af":425,"5ca2703154e41b7b78c1a91e1e17064e11713f28":179,"47d3aea19aad2114fe6e2fb1409bd8f528d0b4a1":649,"1b06bcf02825f50e2e744f777a652a90cf52563e":61,"2a0a932d411715fdbf5c4639df54307b732d8aae":299,"35f3008df30850fa7ed681d272fabd0b1f8faaab":181,"c974d21f1c15630425ffe5497ed68a30635d00df":77,"af18157de77bd8b3347979eeb85d61d2ba7e1fa7":5,"7333629ecd14a05d82f7d2d37697befe781c2558":1,"fb725de78947fd0418b22a4d8fa76404f2a1c6d7":596,"ee98efa85245529e4c006b59ff1ddccd2d71f7b7":159,"2527597d39939f07649415d05250839d4d33f84e":124,"5e5e4e422f8429c07cdada85b3aae7eb7bea7c1a":72,"156fd00e32dc6ce48460b360be6795c5fa2684c9":1307,"718e285a5a4a3ab54b1e2b95ef4f8a243af3af98":211,"86bf0f08b31318b2c93b4abb7c888784d3100893":35,"7d3bcb28b72520a3a6fe7085a2dafbc9fdd96451":881,"1f10cbd8b56ca158663dbf480b5fa202ceee62da":69,"53d1ee0da149ccacdbb917a0f44d9c9e90e6697d":1,"cfcc38e0d7d707ae23b0e13d65cbb5fc28fb1662":681,"50d9b89530cae2c3c122362c212778cb2a296e61":59,"78f4d6641c790780a07f0b47cb1f0574aac9ef12":726,"21708c2c30efaf465a077d446295b3decec0cc9b":33,"10f724603718ed247a89625d2e340225c3171b84":29,"2874d57efda7d9211ddb843052e5ac9209e0f896":3,"1962c4ba8d1c31da523c5b7dee85b8b0b3b3c43c":913,"633b38a04735a0324d0501007a68e9d4e97d0bef":409,"306591b9dc48bab638ed1a3a90da37be68746ed0":527,"5474dbc85228b6704e1096ddc554c245ea117251":239,"141b3f314d79502649b3975d93502ebb1d89a924":22,"33367211d2ae0ac80ee780dad1e92bf3788d3919":1,"701e2c95ff538db36e6ed0d9d9c8b33b02900dd1":30,"d387e63660c90e58fd966aa365ad8f3ead995fd9":7,"9a161d2b987d61cb6d14b346c73cd1c2a3314d18":313,"c93a8f9ded448431758b521e0f6692d5f71ecb36":171,"26c9fa80e110400904541614569dd7bc3b96e8c9":55,"a7fce323557d2b07a6b453da09dfa1d8869cfe93":185,"2354abce402efbd1cd808af9bc7386310481f578":241,"a82da79ba013f2ebab6bb6de6464a3973dd8acb5":111,"43453a973fb1e56ca0bd06f918c83b5b32529a01":60,"8e9b3990c3a41a64b7b42e0e7352a7438779db50":83,"e04736e6ce815c338ba3fe18e49e07b025adcbdc":372,"28d86b035b4394673ca9363a17ad9590e9b2a40d":1,"cdbbdea065947bdc5479f3bae638151541534b54":18,"554aecd1f27df77a9e5b4c17ec0bc2bdd7270604":1,"23141867a2dbd0f0fa7831aba41c1c08cd844755":1246,"bb25ec6c903c3f644b212d9f4cbef6071e18bddf":1382,"ec505ae65cbef4eee1fc203af32e948895e808fe":956,"9f9a11022523bb5da02f004b9e8a1801f822bc9b":93,"cc3d0c3cf8511348111f8cd7b9171f96733e2686":308,"42ccb3fc3b58e5aeb01a5d0057baf3500e4627c6":145,"653704c665d3a2cec7e97e6bf37ded024f518870":271,"83cf4ee60ff115a30de442a3fba281ffaaab22d5":832,"fdbd6f415716c90eeff810481492a33765dd1237":965,"2f2aa6ec4fd540c3639f23df41126bfd742e4cc4":584,"f27e4728a057a91ace42c71921da584c90904fc3":454,"67c4a52feef1b7f394a2004333886ee6da070991":1082,"115294723b888cb222f9ed89211dfd245138b5d0":631,"d8aa634ca1436a256b6c5bf9104ba0541a0e508d":188,"90ffd920601ab0117bf953facc8947605f11bcb0":1017,"6ddff04d91f494ed1651915aa593f9d707998e0f":2671,"9fe2d8a0d2b861775a750a1f5b8945c706f8b977":6,"7f3013ef21c9d10899c0b4cb5a6f3f8585a04b27":1141,"b592a4fb3d65f5ab115afa965cdd6c05d0ba41bf":1,"f1a02b7bb84347517d0ebe4b5453d9ec51ff6c16":22,"af2e81d52824616d35855d501551582ce6f5c7c4":30,"d2df847e692ed819fc2cc7e85a8b28dfa1e1eeb6":32,"94e5da0ca800deda1e30737670c070808c76f93c":5,"a80a708b62f234cd0ada5d0d741d07360372296d":175,"e2a70c7f0033398af9e3821a8a69dc890f6644aa":41,"11666cb281db3cff928418309552ac53ea25fa92":148,"e74392525b0bc77dd3a63587f73f125f4fe42afd":55,"abaf183a30453596fe51006c45a1f199dc648e15":233,"283284c33c49ace9f40969becc9bdf1a1479ac23":215,"a6138ccd70d8709d53df29c14af66d95981afdfb":2,"38823f328ddbd90d7f5fff7c782db4b66df54f0b":6,"e14cc82ebfd5dc63a272fdb403b1a3bab93de77c":6,"720621397c99ad1157637aab87f82e639da8f705":6,"47fa5bc86b70a2ff7efdd3b1e7c95d00ec3ac602":63,"7be2ec8272f083a6322d292fb770e87fd4651437":47,"1c9a8df9053431a8aed2e9845bbcac933a263d89":114,"a40c808395980b231d0801d5679a33cf5200ca5b":90,"803be16a8bd990998ea9b6c49c08dbe9347722ef":76,"ce868b0678f5dad43758449fc6e74ff27769dfbb":31,"f3e1197704062d9fbfe7683f5e239ee61fa04e59":38,"2fb7ce2db5965cda6be9783ea18a940b249121b9":209,"7386dd9604626036041b7d3ea7b31b8006f919ab":90,"7bcdf261e4c4f8105e0d75f63bd0ae69d71a94a0":233,"8eabeef841f43995133c16da1b72df0131cb3694":139,"a63a1f7215aacc1ecdd7443fcbec7660acfcc433":227,"1fc00cde0f4058bc1413e43e1fb42ff58017a751":289,"8c0144f2e4cc50f805fbe7ac10b5bca8c8517b6e":102,"6d3ae653dd1114cc9e794c45893e28b51e7e16ae":233,"57d539bc1e52d95aff1105c917b5f1e2a0aa8bcb":199,"41df830c1591c149fbd1b21e81a8a481ab1ed169":17,"8858add77674372dcf74c3e45e078e1087f93e7a":89,"7d1af28b54b3d7f7de3cb1667a03489c5f875f54":591,"47cf85e1130724d3c8e9c5f00dac08eff097938f":205,"d78d045d2c9fa560c6c778e4e8cc86d9a60b7cea":1,"e430116cc7f409283e4e581dc557d42ef0c276a6":428,"a5b9ba3d96215fb131b54e1bb6e7385641efaab7":717,"6ea5abefcfcefbfaa92383f850b9715b78736816":41,"80e96b0c5e5681cf7ab90d21a7b889d9b837c85d":20,"107cc82902d5188765e604fffd035e10dababb02":516,"a96af8686a568175812d7a60e65d7260e812d4df":46,"392da8432fda63064fd5451b539dda7094811bd9":483,"3247b276680f582268568b11bd551be4de3aca02":5,"6e0c906f4ea5eadc7169b8cb8ddb49762baa285b":176,"42bc1d4592e9fc0c2ed9cf3bd0f4f81afce3d033":324,"6207cbe201f728105aa5322ec89dded187600f50":52,"baf3baeb1b22bdf3ece4f87a7a66b0f397dd179c":339,"225856123cee39cec12ffd28fae98ce942aef43f":385,"e23ed24cdae41c4e9f0c42e46f5310ec87703491":650,"32f743ef296a622b10a250e8da661460afa65a69":13,"061295f74d59d4cd04af6eadcb8c28ade13cb2f0":44,"fdefdab218faaa7705e25c889ba86c0eb68a9a2d":3210,"01ad1b1b7f2bbb1af888269ff1a8d7724221af38":3332,"936bde45d3dec9e27d8bc240daf5c2196296a5de":1242,"fd1da2bda416a6796359ae966a777fca438b8ad9":924,"8eccac0217cec67dceaad3721b00c0bbc0c13bc7":2192,"20777c3b024a1f363629abd6b7b5673491dc45bb":700,"577dce98b579a2f5e8f12235a168cfa6800c5731":3107,"5c101738b2a1f1dffe043eacc88866707bb2e045":608,"d4b7af8168b7f8c99827d2883d338afc48958e4c":2843,"39a2bbd470af7628b0992eabec00cb5544ad59c5":1053,"cb9430669f5e5ee5932de05d8365ca59151afe69":1892,"40e61f33ec76dfc0b5b8b15f53e344eb6d1626a8":2231,"51475b0cda45617a23f10b29c923b215e3c5eaf1":1177,"f8452337c04b75670aa100348cf4abc2484c6504":1,"c87d70df9753dcff29daf036a2173995998a5b5b":2,"d0d1d44874aff9be895ae694bb1735f82e178140":75,"4266ab27ce02c99515dddb9237b38e81ac5a71bd":8,"fc56edaa4e97b11d334ea8c24816ff236de9e39c":2,"875ed59d96599948a8059a1ddc033790a7b460e5":61,"1391415d76ed905c80b8ef0fd14e8ab6c543f59c":2625,"4c36956ef90dbca8144d1ac026e8e6b8936c5527":37,"f6e13b57ed1811de6a14bd32bcb402b9e106fe85":803,"dfa4c2988f8a1fb64daeeac133fead26eadeb06e":871,"b18d35283f654edbb7efdc57feaf167afe9dd069":1,"21fbe0100f4a56b4acd301109743485d64faacdc":104,"878ccf686c7aefb92ae47aff1d204afe1d5b55cf":1244,"d0532f176cbd501074c92da75c2a5d6545faf97d":852,"6d8a02b280d119e3852302f92557812d1dc417ed":1414,"528c1d416a6f2aec8a921daef57009a7bd668f8a":280,"cb259be536ac01971257562519464ef5f45ee234":52,"c03d95b20072a9de8349a917f4bfbc33bdcd0f24":240,"06f5c84b1f753707f924f4bc521ceef1252f29c7":385,"fa540f2f87357bedd1a7162edc1b3d2c3cad73fe":321,"2669768419db26d38b65d84d13a691063cb087ba":299,"f84bcd41a1f329198122cc49dd5ebc2f2062d961":223,"b1ac4bfc178655adf1a39e8c32c23d9b25e75912":167,"278b0695af3a8ded321e7a8706148bd940585d77":61,"5d1ec973bdd566900d0fcb43ae63d06098ee1673":115,"1fc0285d90786280abeab06f0bf1f8a38d3173c6":352,"f069e3ca0a79b5094f0fd346efabdefb634da04a":19,"365a06c909e448adc1b2f97e9c4eef21e624be54":38,"338fab10acb576a52f03b8b4f755568a53addf8a":234,"6d0e3c2b4da7564cbf082852a7ec177ac015258d":187,"e9d61b8bb85388e09c5fd1f44ad709cd53fcca5e":79,"e6a5ee527544fcab40b3d0e81e3e2fbe8c43110c":180,"1953883f25ddaba7984ad2f66b2bb191e1c435ba":179,"313120158e305f4b77105767645bcf06a77416ba":214,"ef4441a5eedd82928c337df8e6746328b4a70192":205,"6d81dbd7965d09ee5235000620c09ffe56cc57e7":146,"8beb4f6a98faac57d967a092371a9567899cff1f":217,"11897f6733ce8b6d80f8803591b8eec643bed46e":131,"3388b595dbb72d9a267fa245b65e5f1aac04465a":110,"dd848dd0e74a5d9b0419f4e060ffabe5b5f074c6":57,"f11af8e17948587f3f73a806c5c72124e5086713":33,"e4f9d68fa871a5f0132ffe6f5c113b065a1dcc06":106,"e1d88c77d5039a2ff1bb83a6cc23a2bcf76592b0":242,"53ae5e5247727e9cde3b77fb5bd1fbb085a56f16":229,"e9b7a41a2ec89b23fd4366a765893201100e1480":137,"2b79978fab3b5c9f1e59c5bc0cb74cf5889f0dda":1126,"f8a30b53c5f185286759215606ab79923833b0b5":1522,"3bbee5efc5e99a837fead08af4dc27475374c558":1932,"cafb00ef434a73e1194e55e57c41c834623b65b5":1016,"0ad67e849c103da4a5143ea294fbdec94ace594b":961,"56c50c69c342b045af22615748cd65fd8baee69d":427,"d6234615acdd76d285610a5e65b8b477422232e3":905,"7a9df786d7fb03c75f75538ea3d77a279850e247":739,"57834907272cb7c287de67c54732f77150011cae":914,"45cf1c44b9ef18c76d959c8ad7cb0a92bf647786":3304,"f791a74fa24e506d0e0feceb8dd5afd890e10df2":1001,"9f89c431de23f205981280b98bf0c5eb9492f19b":584,"925a50d48aee2760a4e0b2aa69c80433d06a9ebc":322,"a8349c6a2fb84b9878bf5deab8ea704366afbf66":781,"0ab3a7291ab359ee3f3d4ba84f47b11e1ec34fc5":563,"ab01cd2cbf9eb67cc8300e6cd16324599ef42ff5":137,"a1637354d1cae8031dc74a2be2ccebedb48bed88":34,"b9ff04f345c8ea7c8705174b2c4798bc82ac31bc":101,"58f906d0a1f8e7ddaa32cc12a4fa7c3a2a107f10":1138,"731b41d8b220f935472fca34f3622f8fd747958b":685,"8c06e56ca4710d4535d25080e9388abe93c164be":474,"930c603f260fa127487e81dc994c03b2c40aa6e5":428,"d19569247b15bff5ee67537c5def5e65637f85d5":563,"6739fc041a73c8ae0283c263b0a67a9a71669aba":182,"e0e85ea9c01df64283b98bdc64b3481e241ea7a9":9,"da73e0fd290eb996d6a413f86ac7ef55dfb6e882":1435,"f042582819c0cfcb43c54a363ce4ec9fd73fc4d8":37,"b8b50b059bd9c7ae85b1df6b67a19f32aff044de":3715,"f232272c22fdcd8c9e0c4bac537fdadd0b1a3cbb":506,"c3342014805de1420e4f62274a83ff0a3f370014":277,"243aed5947fce61a7a7b016487ca505c195bcf01":156,"e2666c5322c7b04f0c71d5fc7f89af9608a7a27c":202,"29ea60dbb1a548351fb25b61898fcbf24d619e0f":20,"cf74f6fb2a4dc3def252e3ae194ce2db74c686d8":346,"0817273270e36cd2375d3379f66aaa701b970124":670,"f3d797b35388ae5157f10ff4755a875a10f91f7f":92,"6b062e690b5bb0fe04c046bd49cc8d42f5bdddea":595,"6576d1348736676d854b6e66c3b3c91b16892889":535,"402a5d4e50a5e4b895e2382be6c5ba876b3d0229":111,"789b30f5f8edaa6ec255697099b071e6a706a165":680,"3e650bcebab049f4bd45a784d335b0adb407ef74":25,"d6199d8d8b7836a7d7e3c5fee6537d701f2a9343":180,"d4b95c1043c416cf9ff04746d17dfc24cb380ad9":61,"28f95e0698bf4234ead0a43ee3b52a52912a9e2d":336,"e1a88da8632ac9051f1a7bd2e225cee4aa14b5f3":60,"e970fc42273a77cc1dfabe12772d5e8ba98b511e":960,"491bde1eba48c300a72f8911c05d850ca3c5ac43":164,"998c1f59f6fc291029c16a708e95d49ac4b7a576":452,"af687e6446012710cc42146ee4acc3c445751b15":1538,"3c591d28959b35678c4989c01b5b183756d419fe":2087,"6b1dd2cc618ecf6267659ce440e068da4c3716ea":938,"22d4a04d91b17d97a2df4ef95206c0c31c2ed9b5":1536,"a6ffa37e30c5485cdbdffcc1e0d42ce25a022011":4909,"5aa8e494ed689e1a7c8752ed30d445900789c157":1254,"c6be841e7e8136fc4d458cbc5158e06cd0f4b93d":1,"74ce2e402b0392e14b0984ecaac66c6be3784069":6,"891bae245ce85f89c308a1d8aab8dfba739c7301":9,"465da2cc1fa7693cbf0bd1d6ab508441e2201510":5,"7423e46d7f705e34bbac2ff0312ec5e6d20c05fc":1,"1b64ec08108dfbacc7804ce4b60323de60178dcb":227,"54284489a0dfafc11d15636580b3d0aba5dae681":322,"c129de60276b1e69f213c5abd3106d24cb7fa401":37,"5840bed6dd791726ff81893eae6154dc290cd992":328,"666bf18ffc61d6c485cbb183f76016d955be70ee":10,"c8495b6eda1d8672391c01dc2758ffbf8e99fff0":1244,"868ee16c2311a4f12f87363f370ea4cb190ca755":771,"1168c7067f2917b7323ae5d0845513428368775a":706,"eb15e54dbec21c7a19d753f23a9e674b0e265bf0":718,"952678b6a04472975166bc7b655693b0b8d240fc":600,"804f72343d66103d5a1dfa7a6dd900c1f9b9f1a6":493,"612acb9cfe7c5a9bcb4f8e89cd98000a389853e2":399,"4d0db867c8d039cc93e75ec54693649b27bdfdc6":2820,"18a2e298b70d08de213b42974f1027e2b508db5b":1307,"d44787e212cd01069bf2b63627811a3e0abf730f":228,"77a59497ecdc97b0ff195b274784246d6e7bf5c9":122,"44a7283391d851bc7cf10f3509e0adcd9c5609dd":1970,"27a77db62cfa29fc6c5e8ae483bebcaed389e8f1":18,"0877e5cf9ce3e3b5d6727c0d01d57c9c2e88ff02":301,"8446cd8ab7e2e6ac5034f2b80c5c0737dc51c290":19,"8e4f71ae2437b3afb0884e59be0c7364b078221d":1399,"5cf0b8cfc2c9b9e83beefc5a4bf7e48c47b91016":185,"222692addb77606c557b8d588d8acf31e239b224":48,"173f7892b4478bf536d16a1dd01a40d911696908":30,"db2a49c26d02426eec4f1d6146d8d6ebb41533c6":33,"2940cbef746019dd05c17ca43acf79fe2401a781":35,"64f74c175a3e59a279ff711857a97c4e23dfa892":27,"2682862e3cd970c1d0b34a170e0161274d32be14":448,"4e260ef4fffdb63ecb8e8e5fb18c1f2b1be3204a":324,"f97a81fb18e8339a35badca38539a77e14a393c8":600,"134893766b7cb2e0109c942b2cb358a9d360d015":256,"743e8302f8a01ab4632e90d8d7f4b8cf2db00726":752,"dd9486f8be3b03db7489b56e56ac41faad91875d":309,"6e3d6fe6c1d54a2d7a82ecbabb2f412a111353d4":824,"4ec0ae61dce8159cfae698151765687a4681931d":670,"d1f1586905f2b32a711e861861935987aa202c73":62,"c1a0de519fb88ba05866cf4cb4bba1fda73e202a":20,"db1f4204820673deb7d89ef9a19d416ca6b960aa":100,"1271b26f1b5ba2c3d906671af1aec9898e26d07a":75,"0ecd17808e92247263fba3c9515d0292981c7daf":513,"91afb8617316b25088c2f708335e7a47292d2927":522,"d4d648e3a7c08073246de9797e6c8a272e9bcdc6":407,"51638eb8786c6dc73e92c3296726224f7b8cafba":485,"f443f618f8aa03c3e63c654b1ac884fc5c7ba6b2":215,"1be7431fab026081dbebf12bab4e3573407e3f32":343,"422da3a4717219127dd3d9c2774a86abcdd35bc0":628,"f014eb13fd5bb823b242cea45d0b419c1fab1437":207,"d78225f2e0cf92211d55a5cfa3ea5894fbb334df":319,"765a8abaff264d5dc50999c9b01d3ec8c4aa7a88":38,"85ea3c12e6a5d5726b088912387f31cc5adc0d49":359,"589d296d30d04cf779bd286e3c73938f825a4495":143,"84cc19659243bda8ac287d4ee6db8050901f8ff9":326,"4e30ecccd47d28743eff649a64a6969d636d81d1":455,"615e831e3be7a08c2b26406613b2fd3cb4229649":97,"2177fce697fb96fe5d0e6dedff23c597e2553598":63,"c877090dbea631be72ecb39f455a92779980ebcc":129,"4b33f531b736b48430b4c08440e11b6b64762141":456,"848b67b9df90daf50fba6299013387800bceff29":301,"fab19e03c029ceeb2bd63d712ebb22b2387eed89":152,"4b46358ddfb91beacaaa39294945f8e20591576c":263,"b74162b5fa604b4782ff1ac19ab4e1cce3fa02c6":6,"2ecdb8619c9e0e927b8838da9f615b0c519bc3cd":313,"edf4fe33fd5c0edbf158cc0b871dec269bc91809":193,"3a133872c4aa1132c9e1c255290084deba2ae781":222,"70582bf5687f8f3153dabb3b3e1fe7c6a2119bc2":69,"8a5e21123c100d3e0411b635ca32b38ac44426ff":122,"05babb02c498691ca1d717f86b31c96fa8c7afd7":269,"eb909c43d19fe0bd0fcdc418741b26ad6db5a23d":218,"b4df700d667b09121276d818432f7f91a91f2db0":285,"e59650d355146b193e5fc9a92750ebbf909b4d49":47,"ac035cfaf60b4bf9efde5332cb9bb8a3a4ebe280":24,"316602ed42c7f3f9d53ee768152b15ee6884371e":71,"0f2d6fef1eff9ed25fc1f5215c963793ba16ac71":258,"cfd9a2d058da842054879ed85ed6143bf5249329":248,"f2b467a51ebec589085e1cff02a5310159674d6b":40,"54aeb40c13ece11e626961b96cc40227d257640a":387,"48d3c26449fb796aa32159c1e76e582afaff0ab8":292,"7f1acba38244210269b0e36e506fa55e283ae887":246,"c85a3ab9647643ab8cfd1525a19c394ed7e257a7":187,"7a2f7892f72b7e5ceff0ddf8067de33a64800a2c":115,"1a23bab327aec15a6b4892a24cf9a042c87712be":72,"9a090905d7e4e41604aff39a0115b9d1d68745af":64,"511893dc4a1f248cd7878a52e09c2b1929ee94c3":265,"055192b6d999c9e8cad5a1bd222a2032d5bffab8":109,"90f3d0635855c61ebc0a4e31ffa5a9bdb815d504":113,"784bfd54ea448db6657e8d1e324790a46c6c1197":151,"1af4345c6d717b768e28642d32db2a858d32e2a5":218,"475d515f66b3db4c61bec9505eb8c10b1092f056":122,"8b7334f134e1bc4b4269d70c5038188e459342e0":9,"9e944372e216220877fc94e47edd7b662dee64c8":418,"7bede82f3ad8c1f7bdd1af00dd1f0396994d9b66":162,"c47418e293c26777cc1421df3f38ca476b8f3de8":637,"bed76b959b5d64baec4e262ef43c1ab16168f127":25,"91bb75d8532ca229a2612bdc6e29de1604c60e27":62,"02c20876f5990a3587cdcf8e5de012636c0be63b":225,"1be8aba333fd16274928bb78f4df527c210cb00e":54,"7743f7d4ffe1162a0d7804a84f9d30fff9909b1a":103,"fe60665edd42043148590129142d011ba8045d10":31,"c8490cf7ee332a5899c67cde89dc7746dab9b722":152,"3d294fc105c71722706ca40f9c8cc7122e8c7aa0":44,"f59b1cd02f58c5fc76cb8001f11115fbd89552d1":187,"7e6729d36ac15d69d13b71333cd94a25bfa54317":10,"d2a8e380e179154f795d0f193a1ffca3a2e931f4":9,"d8e073f2cc655ea94bd1a033361aa03f70a60285":90,"3081744b6248ac3272ba43b22cb3da2d94f5b626":74,"0e0eab66cbb92c37e6e9ef2ecfcb9ba21f375fea":11,"40bb1f1ec5fe07a2a9cf35092f0e11346a7d6ce1":20,"2058e3e546ce525bbd99b18bef979c65149be63c":545,"64cf45a5ddd1288354ef78f9ebcdc99ae457616a":136,"bf8d2210941d225f907bc0aa4014d8b185ee7ddb":265,"1a2a9d702d01c30999d987a3e4cb891f8f536326":106,"87874a7ee65738e7c19184c45ca3b07e47f920bc":82,"e6dbdac7ed307f695c7f654a67551860150afe8a":20,"8ce7710b6f1946c1bc1bf6eed7c429a251e1bef7":2,"840312754d2fa940732132c3802f833d92b8301b":10,"804a4fc55e3e5f16297036a2d279d9c188db8cdf":60,"b0ce59eaad3ca4e68455c1e5c5b4169670affa91":47,"1e15023e46ab875e1c0b02d82199f19052840766":78,"c344d38590e56c2e4ce6c20e816fee159ec33878":16,"cf50a529fe281bbb9622cd2a77aaca645fbcbab9":71,"492493ab18e203e98655730e2e0e3eaac6f9d617":30,"2b9fe18cca4c37696b6633a760ba5019a4b2a800":145,"1f6d7c40c6aed47b361cf1dcf923f45f94f8f5bd":454,"ed5e1aae029be3f22322171255ee52f6ae5e4429":125,"50dafe11801322ac69819dfa2b629ab435e7a59f":327,"e449deee505ce9d66f573e49cb887f395511ecd7":13,"5b16146b0d084b6cf8c2805a49d932a29b12ac9b":1792,"116e04252e8f6bd38b2970f98c0f8c134a7b9293":2652,"8ea833de1ce3ef03dbd17a3469c6d1b008f4b38e":1,"4b270a6820481477d9fd782e1b72c5a72a452e64":177,"9d1859fcce1600b36bad5f489102c8ae9e146e46":285,"5b129e43570a957913da29988036847eccd9d5e8":164,"f4c95b96aef46854f66bf4c10962c14060b902ed":33,"5b8274522846ea3cccece01b5ce7e8d6f5e10498":335,"b3453adbbe1a52228aaf3952202d5aca3e611006":291,"5ffd8bcc936f3d745c06c686ec995967668fe081":83,"50a036b137ce04ce21805b3d6ca167e0e2871ca7":410,"4e0cdafc5de0543dd9876280159268e6677eff6c":552,"e9679c47eb99a2aebee1ac68ef8691b455fd2172":36,"234638906619e4b5ffec308af816f31a35f58ae6":144,"3ff8731e9238a9393d92660a2714d85ab3bb1ea3":25,"0a8d54a2e7f3eb8867d0c8bbab42f3b728b935f6":76,"a18b13f0ec80ba9a0653e05bcb9b0c079c612802":156,"7d6610fc4cd2324520562011e09feb3d9804a98b":10,"8a2e4e7cb64d9b4dfc352d2334ed2adc47b259df":284,"3e9b65e763e8a2a5bc75d6d3fb50c498279e4711":58,"3b3af3cedf510cf28d5a904f831d2b7d2806e806":217,"543dc3ad9a6cd9c8378236542c7cc6578ee55487":5,"c485743b7419543b66a4367b1f721097a51a2f6f":50,"3123b35e9255fb4a57f99a6dec6e60a2357b3011":360,"b944886f91eb4aacb319e76839c87b075a4890e5":38,"3972fcac0d93ffc7205df8ca63a46408a7035861":76,"bd5892740ba65dfb9f4839e15d5544fb558e11fc":47,"491830b3834f00349d2a0b4e8ebcd8916d453fab":43,"4d8266d969d0f84087cdf34b39b9b07d4a8dfeec":111,"3867f0d21ea07a8f0aee6f54f590a376978e8d7e":83,"d31f02d802947ce4bd15cd3c309b9d2c3353774e":61,"3922c9ccda6c144bf08bc87671c90177cb7ce931":30,"70d7a2774679ab54652f8de76e629b1ef2dfa1dc":169,"c904f3894d64b3764749aaecf09c37c209765166":699,"bf4eae5b7cee03fbf213f02a4032b7fbbbedbb86":210,"da47ceb932de8ee96b664c126f2c717c7093eb0b":265,"2c1f47ede435d28de47bf598dcd7058fefe6e81e":32,"688bbe2fcd39eabe44b9ce037e1325050f129746":30,"8f05fff3120641860157cf993777f4091511a7fb":49,"14d5f57ff178fa44ecf660a760fc212c4c2fc54f":10,"af6cafc1d93acaeb32f8e0339dbf085bd91dd0a6":149,"7d7035681cd2fc55f6ca6229c023aee905e15860":63,"315a989a76b3191367c57cfaee5151d0484140b4":16,"2fd750e4cc7c566b62c1e30d8e2aeea7a36f8109":36,"e609cf57edb9b38ca86567f2b90f78ca3eedc864":53,"6b4f896970898584bda2cc8332106f8d24011352":195,"ef3c43d6e016e60c59758516f47b518d79c1dc5c":124,"2ebbf993da52e00b6768018be9a5a1bbc6554dfb":185,"7c398d547c8db6cb50879dca84389d179162554b":144,"a7a64593a119015f525b86d608c63e636b94f31e":323,"0957907015c4e2351566395b7a3e805c19d157ee":77,"c0f9e6f0ec5cc60fa7e4b971f1c383e476d00498":158,"08a07ca36c60242a28b0f4c1c51197a44e5aecc5":453,"8f52ffc6eeb775848020b2358a774bb98edb01ef":103,"339cd050fd0653d56146290cde585645ccb1af0f":423,"5d515b5905cc9e41659db8ab2fa39e6cd9982cde":1,"a35d868bd65e41b8ff01d74fd6395f88ee5309e1":2032,"dece70d15150efc88204b6da8e68f96d3a1fd665":34,"b700599f6a66916ee73743b7d32a27ac98dcc2e4":124,"b09d5610cb626d96c4da0c909228145bc097d272":64,"c88cc4d66a87cb8e6ba7be04772221221afd13fd":350,"d94ea1bfd8d1ef03b9c189a9057852cf00ff23de":325,"3a6ba259c6a87daa1ba415287cd1c5a0ce9cdd09":251,"71f99c3b2c00951b5b09aaaba6e91ae3796966e8":57,"9d60d3a3bc1228975cb75015436742c077bcaa13":153,"7b2adc960718a7e898c2929b98efc2af4b6566d2":228,"b7af92577bdf1066867301dfc935403b6806eeec":41,"be707b4f2ed9723d4b7f132c2283a5f5b06dffd9":299,"107e4c1d4985a7b83469c09be3bb85562871535c":311,"5cdbd15f25bf9790c743423b060751b4cae5f5f5":66,"6987e26140505dba9ccfeed90ae2486190ff63af":542,"a5384f0f43648ff53a6012f1736399bf977d8d32":201,"f412f5088df83ac07d17e48c21c0de0c73e469e9":152,"b49f192f53464b1268c32fc749cd8a62f5431b6e":224,"524085a2a1f1357db2443ebbd757ee4f26d99ef3":80,"c9e955b2f9c968727b7bcdaa6159302ef6cb0334":853,"132b6e17c95325addfd9570e516f788294bd3520":86,"2f299e665c09487347b78f48c781a24965002ca7":659,"564a6399cc393276717fdd3fab0946415bdb2089":643,"e0276e37402b2b8a6c3c8136eae3a2559576ab36":704,"bf31bc9e76f50a950d07cd8e69e4499bb90cd6a1":547,"2d4bce7ef498215c31f572676635f88cb90cc1a2":545,"c9a2152e2491b8609135c199a130ad400fec216c":317,"3f73dbe6b0c8ac3b46e52e1bbbb6d8071f7ae529":415,"9acaf405db144cf86fb1e3fc86d12673133214fc":179,"851adfe36dfa632c744439282769cbe6a96698fc":1045,"e6274a6dacbfb82856b29e426fb40661d3a1a74d":498,"c0bd0a3fcee0ce2557c1a69640029cd8ba426c3e":573,"3975a0ba9eb3ae5c690495507c8b6d8452585856":211,"740b471cd8aedc077391e400e8a60b552ab6a252":1,"890f9ec40f2471f6912822585eb2feae101115fb":19,"0c01a78a246a3c10e2f2cf6906f1c74227ed1deb":1,"7a83d756432a09e535857623963d8d35759dbc43":733,"71047cabd76bbc3f609027340902c052558b57a6":4288,"8419a54b994768b3f060915a066111f38d18a31a":3646,"3f9e2a4f3feec10f685536da4353353914ef3a61":640,"ba545f4194353aaa7e67e55e6aba5e976a0f5430":217,"d27fad632b4b3733d1083fd9f618adb5d6109a6d":52,"f95dcbc71712ceb4881f1bd0281b6605443ab7b7":951,"b191c9dfa88ce421f07b95850b0dcfdb3bcf8ff9":496,"36a4bb2c484e774482fa9027165dd8818b7dc652":470,"31ac3c9504a031027dc64ec322e2f293ec249846":634,"d72ce96d2530f6d950f5a0853cd680592d520d6e":168,"9347cfdab068926e8369eb627fc50938a5c79bdc":98,"0733e2d470e3e63b906836e831078a2233b7cc17":206,"c849cb47d01f2380e590ab32aee87d67953d00c4":609,"805a48bc2e46bff69de93a6b57c292d161d1b8d1":1,"f972e777a6d7ce415decb4305e085ef4d7353b2e":97,"c3250205ea2333c8be191e55815a421c87f617c9":158,"64e2402db0717eab198e225b99c2496e44276d41":17,"22796442e45a04aff5b0ab38fad59e09bb1aee3c":1,"7fa59031c5bfe35505244bf163b8c13a6ea8125c":1177,"9106e1914c9857062c6be44aea74e02733ef149f":35,"a5d1480f9adae94632cafbd59cb7d1abedcdb044":2388,"67212a8e978f40cba3b9da76639f07d5afce6b38":834,"206a7f4b4e0ec325abed332b2f31373129c2bd8b":76,"d4e063a43bdd095f882bf1bd61237efb856e17f6":974,"7ec794c86ac663740d58dbca6d2da2584d8d255c":50,"2e5481453d810788275091421b79deda868bd6d4":465,"37a8714f90d8792ff3a827ab47173210073f7e69":34,"6285503343099dcaba36528dda2797af69421418":1314,"ab6f3b0e7fd6201e5579156973814fcd6ecf631c":316,"b355f9dc7fd63addc19437185ea80ee7a323e840":631,"fb6198e3fe6249b4f2de1c13a03d7946bd98c1af":600,"830a0e8c262c8acaa2a91c5f0ed749101c0fefee":36,"5b136bdb5620b6f0dcdd07d20cf05541b7148a03":82,"58c70b81cebfe9676af93d9ec9ff53008630e4c3":376,"fcc66d16f72e8e143e545ccf9d458834839f926d":581,"07eaa38d156e6a6fa7f2a3d3a8c890fee8c73207":822,"2750968dd6c15b4cb24672e28170f877d6dd9a60":538,"93cf6f336f1b6a2748ec85a146827fc3f6310d27":507,"c68f91cb044833bbbcb2a1c4240fc9752b770c19":1135,"952ee2735db492a5c8da443b02937ac63f391af8":806,"6c105a718008b59c7cd62c760c3b8e0676d3e793":509,"66f30132dee9ee717bf710731a0bdd6d10fa3655":825,"881c3440e64b5e7cf32d40a0278191b28447518c":300,"eb347df59b1c34270378c8e87740ae9e5c8f2699":136,"b3281c24f815b1e049721d68f755e58dd8bf1f3c":1,"fda8452bb8ec70526a3d2ed25128f256e2934d5d":823,"be6dc6d2e90fd31ac63efb1cd3dc1cedbbc79f7e":34,"2447ddb6ff7ca98df9826606a610229df71659e8":60,"a1fa71cba99f573bed76ea90e26245b9370cf1ce":1,"c61450d14328d0df99073eb397c73df681c36c33":8,"d79b9dc6d082f3bab376b9a7869f2d0e2f5c0a4b":12,"37b823827dbd8f657eb1c369092348f712e111ee":114,"676fcfe7af92b7783db91f1b441a0a50c9c80aa3":103,"298ac9a9ff8f065666391b055af016dd37abd777":785,"c9ab2032ffce07dd964cfc672530907ec575bc0d":248,"fda3db503088162891d24636936d375f39272675":130,"ea9f1baa98a09661ff7a0f8ff7d653059cf8660c":13,"33236ff00f4d60d66b8b1bbacf4f190f43b815f2":466,"f8c070d784e89aa6e7d3ae5e1d6d92a6a2303280":562,"a094048fb0c74ef1654649966ce49ab5a2b1e718":10,"c8842ef429ed91dc350cec13e259e0025c14d3d4":79,"6a67d7e1f7eefbaf7c490d6721c226fd1ebcaec4":310,"5e6488929d11665ab31f5b9ee6a74a4e6262ae3e":1278,"6132ddaebe71545206753e91eae12e69460e6a83":4,"403e2e26bdacade51fa8becd0759ecbf3379f83b":436,"f226e5ef4210ab47d324323d8217dbadffb800a3":90,"f5ef412029d2a8ebdf637981c2aabbac3a844847":5,"08f402d3348ae98580b8329f0525aaafd79670d5":148,"5e0897d67867dedd41a339d65a11e726906f4a56":408,"30f4b47303f16e9a5886a53894a547ac7642b27a":776,"d4c4eee263faca5b138df17464085dcd2b920392":5,"5e648cba34c0618da6c5529d9c29ac70545a7576":176,"8fdc6c21ad5cd9f94031da6a5dfe5aa72ccfbb24":266,"8ed65abdd327d028f9612fda72abf578d71e9043":244,"f88afa434fd9f2a9f2ea0e070368af0b6679d994":258,"d3132d6b17a3d1ecc5766337befafe1c1dc6ecdf":246,"df29e82ec964bfc3790a4925d2a5562f7beec49a":319,"dd50eb8edac4414df53c15ba1ecbd25137db559d":207,"069bfce258b074d2ae7b3cb37cbe92fb750fd280":200,"1334718f53ec0f91435fa5b69b93dd7f67e6d490":86,"f9ea7d219ebb1b2811d336cd558acd68097ca224":6,"f1ac4cd6da2f9780bb3cc903d11ab6b675cdb5e4":167,"18acff9364e833cfd04f911726feb0652c89eea6":9,"581205339668e1b2c6cb72a7c153a3502d7891f9":278,"f78b08429357bbf1b0718ae030c5d02b7fe0d1e9":3,"5697d2d69d5d61912f2ea2d1370e8c83af20515b":454,"bc3c5273545cf003f4af57fb29e3be0d8b0e5cc3":10,"e93fe757188b250c697a8517b65581f1abffc376":659,"cb29f83fd380a75dd8b44cc11f85ac7c8c86c752":3,"a709df17cb1d9225a08188bb43d78af26cf629a0":347,"e8ec1619f207d37ee35b089eaa2b9ebc40ced8a5":10,"2bf05de4cc985d94820362f4460cd2d027f31126":3,"3fb490c91e4afaf252621d2fd35f1ef059b102d0":101,"7c68ca0489c1e1b57813b77dbaa929b1ddd087b4":3,"a9d366458a282d7062889b591651f70df0ec7969":178,"8bc9c4ede04dcb5b58dc8c93d1f3fcf2028bf957":3,"318e200c4afccc0a11efaf6f68995bb2dfb3fb89":78,"ba5263619fbbb07dab2a112e709d5a71963240da":169,"b2bf10a58001c06a302338b9a4206907bd02d1c7":115,"6479fe984e3ef257282492810a227528c2788599":2,"adf5fe2275f9ba9f14c85c284ae6074197b128d1":321,"9d0f7459fd227d0715502ddc2bcafe63a1a3b20c":279,"a321a5a3eb0afcbb4aa27239fdfab84a1c0a246b":1,"2d75eee805062ba1d50fe2f231fa3c6197f50693":346,"c9fac23dd22d678a1a1480cbc7f0f05c6b7751a0":2,"d730e8ebe577a31a873294f26169367491b0a512":23,"31d9aa28a1eb0bc942b8a7932469e9e4dafa48b0":233,"811281d6a5b673e6233dbe3eebbc39551d8633b3":2,"115bf8aad0ef7084bdb6cb7309c20c2bd40b236f":44,"e7b7792ee5f98cdc440b798e19cff60091dd3ddb":1,"2ba72ddce8086a0edf7a6e2cf24a1e1aca1340c8":509,"2f412ac8c21cd526ea05d62cbb25fec2f2512ebe":245,"f0d1adc95eb1b3937b921fa87d65b9929295575c":1,"22dbcf9a3fa1c570f411e5969a00967c27f9a445":112,"236b872c54376b9814b1738e5d929bc5d7bed7e9":2,"d99e70a9b1ba1e79e8c841cab4795bdc9e7a9609":437,"ac6a6278e5aa8098cbda0fa2fa7e3a76b4928c05":1,"9efda42f00575e63202cd07650fc7c0db1b3bbc7":734,"4a5999f97b34668d9943fe5b432a14261fb1a884":14,"ad4f0421bc4442e7c7decba02b309da8d17185e2":226,"82c5ce26bfee3bbb67596cf6053eeb3267de499b":2,"04aa6d25fcd5c7852f5a82c10d044b4584f86178":185,"def68c307f28f8fdb4bde88f4cd6f698315ed80d":199,"450d930d2e4945163a37cfeb81c6f01f8a5dc8b0":131,"ebc774b09c75e3304ec372469e79173258fabf61":1,"6969b86aa6370cf9dadf7dfadc69c820ad6e5b48":49,"765e143593f882bb07956834aa26d3e286b9621f":4,"7fc04f3d65d3e25f2379bee89d74cb8a5415efe5":1383,"818a890362d5c9a5343fc332eeec41eb65ef3d9d":937,"e2262da1fc590f969f13bad54c7a83613ffc1066":468,"295aff48d99cc3a9a7f6bf82bff5f0ca81255959":40,"7b50c5f7e1a0c28dc11b9f55416f4cf1945a9a2c":123,"a034be605bac187348ec7163304b064691406e4f":35,"4122d436f61b1f552f880e48926e877156adf557":296,"308e1936d7dffc64fba3e9c4005d719f0c78f709":188,"a9e8384c204a32890dac641929f11b92bf440ba3":150,"5a0e67aaeebec4d753ba8c3273d4b88cab9a9c89":83,"c9116d3094c6e163203bfd1db484a3fb8b7d2a83":335,"ae3302a4377cb7cefcbf5f35a6eb108cca651041":166,"0ce4d2e541255c7b1d00942842277a3057b29dad":230,"ec2ffda5fef8cfde3dee1430426c544692400ee4":230,"19621c69594ea02ea5b8a370b9c38a01aab3259b":171,"f7bb099874dbf14b099090a58cedcdd8d77a6ce4":330,"cd46cb2f79d8178d17fee1ea7f520f662fc53649":246,"1c334de3be52bf0ae8820342cd38236a280fcbfa":424,"e50a5003378fe94475976be363f07ec828152b67":411,"941c0510dbcb31ac6a016a5e137a86bec1766583":580,"08e1eae8fa88f7249d456d544c72d42bc5f3e72e":13,"9adfd6696be1f016b8837cd12bac80e7367fb02b":1,"47ecbf6dfed3931fae42f5512cd1c3f47e34f1c7":9,"2497a9d8171e96c566a789cd979f6145f8d8b426":2598,"115475e330380d5402013450e89979e3d1c6a6db":25,"cbae60bb8709b3d6452d6a58dc54a2c6804d76b4":383,"685da66e66550edb10776782e56931d7e3298acb":363,"b47ab32ab0626bcaa0abeee97e427a1ba021b398":471,"1e9a803c800c31670838f1344815166affaf125f":21,"729b8543ad220b8fc3685ee8086a217ec1e3c8ea":41,"df8d26cf479f3723dcd6f2cd5fef2b47794e1c04":5,"a7d978f8203da0acf0abbecfb5c7a8d0894fe0d5":199,"633e3d9781a216fbdda94f4d858a53092715f463":7,"f8907803ce5be28c9d2c15cad6e1d68d96274b07":325,"0b272dfeed80c9d6a59b3ff894291ef5203436cc":11,"bdd479f30ec2cbbf7bfbd526573e06b9e63f42cb":61,"53a9b23c7168243b715ccc6a373d5a1c93650296":26,"049753481565f308a61a4eea3f9ba50158cfd79f":57,"cd5a4c2161ffab4ca069c44ea0ad82e01d1e2b70":116,"e9763d30f607a035915b03c754425c0b5f88c22e":200,"afa48d3cd3d633bf82ce7f67bbf876906c0b2acb":30,"69293857f1766020d8c0d984efed1c53628807be":56,"85f43a5fabcd2decc39e2d559cb8f756ada28b13":21,"df6e1a7d60cfb815eb176beccd32829e16ebd76d":63,"ef7930a3613176e1aecf91311b73b634c41e3f57":4,"d21c4bf01b146b3cb8eb7fd6d259484b6990ad16":15,"1c99087b76326405f50d4dc0fc3ba5e171af7d8f":292,"f2a9e55bca104c276ec87ccdf55bcf8dc0d851c3":12,"40bb1271b16ea11593c0b1a72d03d73a928ad14f":34,"ec1251a56387f4ef391b0e271c655563caa13736":21,"58d3b8ba40659f61b3afc7118595e33788d935c2":131,"9a4ba5e9f27e277f8be3a78c5ae51abdb8c898db":395,"e89151c9f5f767d15f0141c9fd1e77ae8b905cc1":110,"9fd509f2a7443a183f4ab7b2d4d0a7236a226f90":67,"4e5baa16175fc4277c64c852252cb1271b03984b":37,"1791e9184803abb8b0b3dcee9f7700e630a9033e":12,"65e4fce65e3510f1b4689a83d2fc77ff246eda16":6,"421d9b7103cb6bef8f3848afea66f87f67b96143":1,"1e75146431b518f4d052d19c50c3d4cd631b1503":428,"ef1d9719889c5b8e832c11d36984f3ad28ac1351":3279,"d6f6bedc8164163711cdc3b2f69ed1dfc6263717":50,"79d3a32785205fc60105224774bd95f3741f2038":1388,"85599496870d09259da1851d18391ec75f591c72":200,"57b1c58052198efe045f0efd701c0674f5ef5484":1,"1d279b4ea01096070568a1994620a7594c4cabfe":433,"597cd834fd84dbef067058f55e93f54c795a2cc1":93,"d2dc99f0934af6cc692d4ad8cecfd318f73d8303":90,"e59ce52a46cea162fa7cdb6828e305974deda8cb":93,"7e8b63f836d38e9bd20a87f4b31f03ea0c3a43ae":9,"c72ad2fa93f0be74fbaf90431c73ebbaf8e8de39":591,"ac266d31d6c326eee7d3da4bbf8ac2bd24f49f9d":89,"e8020235798505be56aeba4965f9a6b2f7d5f87a":234,"4472c487c6171715cd3f98a68a7e7f74fed32c22":7,"a318cfe5d84f3c17534f06bfbf6945c51e2ac3d2":187,"63fd0046c7d85ecf711b45849b3861ea78c182c9":358,"256060af24e29b7e248656ed03ec28c81c828d69":25,"317cc780983520a8aada5ec982b5272404fdf278":344,"b31533570394fd015a6606448a1bad052a5064dd":328,"a7e80a304506392d3424f62e726e29156c3a4ec2":202,"d884f14a36e521e035dbad45133b523887dbd171":157,"6cee817966eaf7572b2da80d760b3feb0bc35705":977,"f6f5256e3e4600a59a9df54f0a487f3fefde94b4":242,"eba4c54fb11c5be62ee8dc72b26448814ca093b4":355,"6c8bc79c80113aa80674749e4925b55f13c55304":133,"70306d78dab78dba02c2de8059bfae34b25c41bd":125,"edbc082bd8291e2b81be17810246d3c8ee28dead":1,"324d368276d7d917cfa76e3a6bc4f48c9e2767f9":1,"24a754930e011860d91bcdcb6dc0725a5ee7de02":5,"6ec965ff2327cc0a8c3ab4c494259ed27a41279c":5,"d7dc00047574a2b8fdd08f13f87b9279e6fd4cc1":1,"22cbfb7adae12d9f16266d7378091d7a292a3c06":58,"6f1a164ea7b3b7a151c4eb7f843269357d5c2a8e":19,"61f8d09cd7be32c5955277589838d0534936c9b3":1762,"054efb867474f7b1182c1784b757e7602b274f95":295,"1c29efcd2b1dce9f2bba45ea567e907b9840dd0d":7,"047b985a55f0e4a7b7574308ba18724806fce770":435,"8cc18ebfc35274b638d15153e6a63eb087a261de":188,"1b89754031c18f13cda06658b1edad3c392bd90d":219,"9376a8d0ab38b0f1464f09ba6e75f3b82dbe433d":213,"6c2b14fa4763ff605e618af543c59c2951df0f78":370,"6310e5537d2d211e659ee930208823b299e5fd58":287,"cb4255e1568d18af533b83798290d27c88575e14":193,"0e32f6846cea10ff6a14661ef3807342e22fb1b8":194,"2354dc50cb122eb8a156821186ce9890582a5c1e":170,"e22eba3614f2a716fc4264f10216bbdab261b762":239,"8fbab130bcdd87cca61d87f557a1a8e54c76c682":172,"19d0000108f84a3ecb50aca26072c5773efcf25d":440,"e5a777c3a588e7c48b2e8bc25eba63595a3faabe":3,"16f827515fff18d2b74c13c7cba1ca41e33fa889":7,"9d9809a42e98f0a3f4f6d9a87839a1c634b0a0af":384,"0484fda5e73f532beef955bb07491d3c3b0a38f3":23,"8f29859e859f79de8e259a161d7e40d648f470ac":1,"71f21b2e24ffb78c108de04413f2ee8c6a45a63c":3942,"c0570ef1cd55cfd72e2b4fd012c581968791668d":1,"be47edff2cf21347bc3d9ea51b27c256502273d5":2206,"cd136ee1e09522d53a4e78eb51412f2a026df343":1318,"458e292c8c347add98aacb9fd962d46f95291a53":7,"1fd3d5778f222346a2ff090eed74878682cf2749":30,"c4c7738dfc1593a7c3659ca1b0f4f60919d57956":249,"6ff4ee84dfb344c0bef805bbf9e6af2dd4af30b6":106,"cd154397a5a2d6e070d13e43bfd5f079609049da":4700},"excluded_import_commits":["10e53fa1bb0576af8b402bf90e39dff7a804e664","1b04e301b900453fa6e346e5589540f76c31ca84","38632dca4ba373a66dedb62cc1ec35d737f5cf5c","4111323fc752cff05576e78d8925c0221a79ee12","4b40be27b13eec30d8842cb7453e89071881a994","4c2f4fb472b4ad0446393f036a776b19dc00a355","5f28403f2937e2dfebdb712f88d00dbcd1f84b8d","6ea139be723ff9a599a506060752885b5f1f6d39","79cd075217a7a5f726f2b65d1fc4ff7a1552f4ea","8f75affbd2df660c5682253ae6f2e56d51e52227","9cddc159e48c304706652d83b41c8c99b0a57cf1","a2b79bad330ceb1a7a3d5da6b4c276b19a81bda7","b5f1a09c21bff1cdb8cbb2c0221ae03f549436c2","b74d873a22bbd489e155fa837271bca49c70c7d7","c0d8c8dbcd18d7c471c9884e31b87ecd48348360","c6f2ffbb36c1ce97cd030cc243bd6edf84ae1654","cdb3e4cccd57b05f93da1a009c2dcad3656af36d","e1a20f42f8c3590b81a4ca3fee65e7c42204233c","e536e9902a72414f24fd8e2700c9b6aa6d63ebc5","ef486d80a8aa4742c2208d26aec0df978e203d38","f4784ea0b1a2dc5f3180c0bb51ef1c795f6f151f","f71cabea7198fd16fb1a6b8eb73ab233873962fb","fa8bedb88f64775f7a2e5872594904ff6961eb73"]},"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":322817.0,"index":0.313,"count:narrated_steps":23.0,"per_kloc:narrated_steps":0.071,"files:narrated_steps":12.0,"count:placeholder":1.0,"per_kloc:placeholder":0.003,"files:placeholder":1.0,"count:emoji_in_code":152.0,"per_kloc:emoji_in_code":0.471,"files:emoji_in_code":59.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // first, or a hover rule that yields to focus reads as focus coverage","ref":"scripts/lib/uiConsistencyCss.mjs:323","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/scripts/lib/uiConsistencyCss.mjs#L323","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // FIRST, before every other plugin — Tauri's own guidance, and it is what","ref":"src-tauri/src/lib.rs:110","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/lib.rs#L110","weight":0.0},{"kind":"stylometry:placeholder","description":"placeholder or demo-only phrasing: /// Wry would leave that attribution testable only in a real app.","ref":"src-tauri/src/trusted_html/commands.rs:29","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/trusted_html/commands.rs#L29","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: ${{ ... }} expressions","ref":"src-tauri/src/workflow/expressions.rs:78","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/workflow/expressions.rs#L78","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: ${VAR} env refs (legacy). Strict: unknown name is fatal so","ref":"src-tauri/src/workflow/expressions.rs:90","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/workflow/expressions.rs#L90","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: bare stepId.output alias (whole-string)","ref":"src-tauri/src/workflow/expressions.rs:112","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/workflow/expressions.rs#L112","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // finally, a thrown writeText/readText would leave the menu open","ref":"src/components/Terminal/TerminalContextMenu.tsx:159","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/components/Terminal/TerminalContextMenu.tsx#L159","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // next, 0 → last on previous), so a raw index comparison inverts at","ref":"src/hooks/useSourceEditorSearch.ts:170","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/hooks/useSourceEditorSearch.ts#L170","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":4.0,"secrets_low_confidence":0.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"scripts/check-commit-message.test.mjs","line":171,"fingerprint":"scripts/check-commit-message.test.mjs:generic-api-key:171"},{"rule_id":"gitleaks/slack-bot-token","severity":"low","message":"Possible slack-bot-token secret in the current tree (test/docs/example file)","path":"scripts/check-commit-message.test.mjs","line":149,"fingerprint":"scripts/check-commit-message.test.mjs:slack-bot-token:149"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"src/lib/formats/adapters/htmlTrust.test.ts","line":17,"fingerprint":"src/lib/formats/adapters/htmlTrust.test.ts:generic-api-key:17"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 3bbee5efc5); removed from the current tree but still retrievable","path":"src/lib/browser/workflow/recorder.test.ts","line":135,"fingerprint":"3bbee5efc5e99a837fead08af4dc27475374c558:src/lib/browser/workflow/recorder.test.ts:generic-api-key:135"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":285.0,"findings_high":65.0,"findings_medium":113.0,"findings_low":107.0,"weighted_findings":103.888,"scanned_lines":322817.0,"parse_errors":42.0},"findings":[{"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":"e2e/lib/bridge.mjs","line":37,"fingerprint":"javascript.lang.security.detect-insecure-websocket:e2e/lib/bridge.mjs:37"},{"rule_id":"opengrep/javascript.lang.security.audit.spawn-shell-true","severity":"high","message":"Found '$SPAWN' with '{shell: isWindows}'. This is dangerous because this call will spawn the command using a shell process. Doing so propagates current shell settings and variables, which makes it much easier for a malicious actor to execute commands. Use '{shell: false}' instead. [confidence low]","path":"scripts/tauri-wrapper.mjs","line":186,"fingerprint":"javascript.lang.security.audit.spawn-shell-true:scripts/tauri-wrapper.mjs:186"},{"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":"server/mcp/src/bridge/connection.ts","line":40,"fingerprint":"javascript.lang.security.detect-insecure-websocket:server/mcp/src/bridge/connection.ts:40"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/export/reader/vmark-reader.js","line":816,"fingerprint":"javascript.browser.security.insecure-document-method:src/export/reader/vmark-reader.js:816"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `panel.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/export/reader/vmark-reader.js","line":816,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/export/reader/vmark-reader.js:816"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":28,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:28"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":28,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:28"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":83,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:83"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `this.btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":83,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:83"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":87,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:87"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `this.btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codeBlockLineNumbers/nodeViewActions.ts","line":87,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codeBlockLineNumbers/nodeViewActions.ts:87"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/previewHelpers.ts","line":116,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/previewHelpers.ts:116"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `wrapper.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/previewHelpers.ts","line":116,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/previewHelpers.ts:116"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/previewHelpers.ts","line":203,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/previewHelpers.ts:203"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `copyBtn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/previewHelpers.ts","line":203,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/previewHelpers.ts:203"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderGraphvizPreview.ts","line":55,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderGraphvizPreview.ts:55"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `element.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderGraphvizPreview.ts","line":55,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderGraphvizPreview.ts:55"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderGraphvizPreview.ts","line":110,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderGraphvizPreview.ts:110"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `placeholder.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderGraphvizPreview.ts","line":110,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderGraphvizPreview.ts:110"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderLatex.ts","line":35,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderLatex.ts:35"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `element.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderLatex.ts","line":35,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderLatex.ts:35"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderLatex.ts","line":79,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderLatex.ts:79"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `placeholder.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderLatex.ts","line":79,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderLatex.ts:79"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderMermaidPreview.ts","line":33,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderMermaidPreview.ts:33"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `element.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderMermaidPreview.ts","line":33,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderMermaidPreview.ts:33"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderMermaidPreview.ts","line":62,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderMermaidPreview.ts:62"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `placeholder.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderMermaidPreview.ts","line":62,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderMermaidPreview.ts:62"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderSvgPreview.ts","line":33,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderSvgPreview.ts:33"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `element.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderSvgPreview.ts","line":33,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderSvgPreview.ts:33"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderWorkflowPreview.ts","line":78,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderWorkflowPreview.ts:78"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `element.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderWorkflowPreview.ts","line":78,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderWorkflowPreview.ts:78"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderWorkflowPreview.ts","line":112,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codePreview/renderers/renderWorkflowPreview.ts:112"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `placeholder.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codePreview/renderers/renderWorkflowPreview.ts","line":112,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codePreview/renderers/renderWorkflowPreview.ts:112"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codemirror/sourceTableContextMenu.ts","line":188,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/codemirror/sourceTableContextMenu.ts:188"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `iconSpan.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/codemirror/sourceTableContextMenu.ts","line":188,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/codemirror/sourceTableContextMenu.ts:188"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/footnotePopup/footnotePopupDom.ts","line":93,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/footnotePopup/footnotePopupDom.ts:93"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/footnotePopup/footnotePopupDom.ts","line":93,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/footnotePopup/footnotePopupDom.ts:93"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/linkPopup/linkPopupDom.ts","line":40,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/linkPopup/linkPopupDom.ts:40"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/linkPopup/linkPopupDom.ts","line":40,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/linkPopup/linkPopupDom.ts:40"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/markdownArtifacts/HtmlNodeView.ts","line":152,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/markdownArtifacts/HtmlNodeView.ts:152"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `this.dom.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/markdownArtifacts/HtmlNodeView.ts","line":152,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/markdownArtifacts/HtmlNodeView.ts:152"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mediaPopup/mediaPopupDom.ts","line":169,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/mediaPopup/mediaPopupDom.ts:169"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `toggleBtn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mediaPopup/mediaPopupDom.ts","line":169,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/mediaPopup/mediaPopupDom.ts:169"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":54,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/mermaidPreview/mermaidPreviewRender.ts:54"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `ctx.preview.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":54,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/mermaidPreview/mermaidPreviewRender.ts:54"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":104,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/mermaidPreview/mermaidPreviewRender.ts:104"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `ctx.preview.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":104,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/mermaidPreview/mermaidPreviewRender.ts:104"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":132,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/mermaidPreview/mermaidPreviewRender.ts:132"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `ctx.preview.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/mermaidPreview/mermaidPreviewRender.ts","line":132,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/mermaidPreview/mermaidPreviewRender.ts:132"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/tableUI/TiptapTableContextMenu.ts","line":98,"fingerprint":"javascript.browser.security.insecure-document-method:src/plugins/tableUI/TiptapTableContextMenu.ts:98"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `iconSpan.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/plugins/tableUI/TiptapTableContextMenu.ts","line":98,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/plugins/tableUI/TiptapTableContextMenu.ts:98"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":138,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/htmlToMarkdown.ts:138"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `container.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":138,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/htmlToMarkdown.ts:138"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":170,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/htmlToMarkdown.ts:170"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `strong.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":170,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/htmlToMarkdown.ts:170"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":177,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/htmlToMarkdown.ts:177"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `em.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/htmlToMarkdown.ts","line":177,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/htmlToMarkdown.ts:177"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/popupComponents.ts","line":106,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/popupComponents.ts:106"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `btn.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/popupComponents.ts","line":106,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/popupComponents.ts:106"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/sanitize.ts","line":97,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/sanitize.ts:97"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `container.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/sanitize.ts","line":97,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/sanitize.ts:97"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/sanitize.ts","line":187,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/sanitize.ts:187"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `container.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/sanitize.ts","line":187,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/sanitize.ts:187"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/styleSafety.ts","line":178,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/styleSafety.ts:178"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `container.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/styleSafety.ts","line":178,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/styleSafety.ts:178"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop","severity":"medium","message":"Possibility of prototype polluting function detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-exis [confidence low]","path":"scripts/apply-translations.mjs","line":33,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop:scripts/apply-translations.mjs:33"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop","severity":"medium","message":"Possibility of prototype polluting function detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-exis [confidence low]","path":"scripts/apply-translations.mjs","line":44,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop:scripts/apply-translations.mjs:44"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop","severity":"medium","message":"Possibility of prototype polluting function detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-exis [confidence low]","path":"scripts/baselineRatchetModes.mjs","line":46,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop:scripts/baselineRatchetModes.mjs:46"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"scripts/baselineRatchetModes.mjs","line":128,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:scripts/baselineRatchetModes.mjs:128"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"scripts/baselineRatchetModes.mjs","line":130,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:scripts/baselineRatchetModes.mjs:130"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"scripts/baselineRatchetModes.mjs","line":130,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:scripts/baselineRatchetModes.mjs:130"},{"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":"scripts/baselineRatchetTsAllowlist.mjs","line":200,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/baselineRatchetTsAllowlist.mjs:200"},{"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":"scripts/baselineRatchetTsAllowlist.mjs","line":207,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/baselineRatchetTsAllowlist.mjs:207"},{"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":"scripts/baselineRatchetTsAllowlist.mjs","line":248,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/baselineRatchetTsAllowlist.mjs:248"},{"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":"scripts/baselineRatchetTsAllowlist.mjs","line":250,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/baselineRatchetTsAllowlist.mjs:250"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `pattern` 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-control [confidence low]","path":"scripts/check-change-size.mjs","line":105,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/check-change-size.mjs:105"},{"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":"scripts/check-command-error-ratchet.mjs","line":601,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/check-command-error-ratchet.mjs:601"},{"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":"scripts/check-command-error-ratchet.mjs","line":619,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/check-command-error-ratchet.mjs:619"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^(?:\\s*#\\[[^\\]]*\\])*\\s*(?:pub(?:\\s*\\([^)]*\\))?\\s+)?(?:async\\s+)?fn\\s+([A-Za-z0-9_]+)` 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  [confidence low]","path":"scripts/check-ipc-contract.mjs","line":203,"fingerprint":"javascript.lang.security.audit.detect-redos:scripts/check-ipc-contract.mjs:203"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `name` 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-controlled [confidence low]","path":"scripts/check-keybinding-manifest.mjs","line":427,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/check-keybinding-manifest.mjs:427"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `name` 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-controlled [confidence low]","path":"scripts/check-keybinding-manifest.mjs","line":564,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/check-keybinding-manifest.mjs:564"},{"rule_id":"opengrep/bash.lang.security.ifs-tampering","severity":"medium","message":"The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS locally using e.g. 'IFS=\",\" read -a my_array'. [confidence low]","path":"scripts/check-new-deps.sh","line":170,"fingerprint":"bash.lang.security.ifs-tampering:scripts/check-new-deps.sh:170"},{"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":"scripts/check-webview-floor.mjs","line":218,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/check-webview-floor.mjs:218"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `#\\[(?:tauri::)?command\\b([^\\]]*)\\][\\s]*(?:#\\[[^\\]]*\\][\\s]*)*$` 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 backtracki [confidence low]","path":"scripts/check-window-creation-thread.mjs","line":124,"fingerprint":"javascript.lang.security.audit.detect-redos:scripts/check-window-creation-thread.mjs:124"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `fns` 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-controlled  [confidence low]","path":"scripts/check-window-creation-thread.mjs","line":157,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/check-window-creation-thread.mjs:157"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `dir` 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":"scripts/format-cjk-website.ts","line":67,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:scripts/format-cjk-website.ts:67"},{"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":"scripts/format-cjk-website.ts","line":68,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:scripts/format-cjk-website.ts:68"},{"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":"scripts/format-cjk-website.ts","line":68,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:scripts/format-cjk-website.ts:68"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `prop` 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-controlled [confidence low]","path":"scripts/lib/cssRules.mjs","line":33,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/lib/cssRules.mjs:33"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^(?:from|to|(?:\\d+|\\d*\\.\\d+)%)(?:\\s*,\\s*(?:from|to|(?:\\d+|\\d*\\.\\d+)%))*$` 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 [confidence low]","path":"scripts/lib/designTokenChecks.mjs","line":55,"fingerprint":"javascript.lang.security.audit.detect-redos:scripts/lib/designTokenChecks.mjs:55"},{"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":"scripts/lib/designTokenChecks.mjs","line":266,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/lib/designTokenChecks.mjs:266"},{"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":"scripts/lib/designTokenChecks.mjs","line":270,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/lib/designTokenChecks.mjs:270"},{"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":"scripts/lib/uiConsistencyCss.mjs","line":145,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/lib/uiConsistencyCss.mjs:145"},{"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":"scripts/lib/uiConsistencyCss.mjs","line":270,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/lib/uiConsistencyCss.mjs:270"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `check` 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-controlle [confidence low]","path":"scripts/lib/uiConsistencyTsx.mjs","line":86,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/lib/uiConsistencyTsx.mjs:86"},{"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":"scripts/lib/uiConsistencyTsx.mjs","line":127,"fingerprint":"javascript.lang.security.html-in-template-string:scripts/lib/uiConsistencyTsx.mjs:127"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `symbol` 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-controll [confidence low]","path":"scripts/pipeline-scope-inventory.mjs","line":59,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:scripts/pipeline-scope-inventory.mjs:59"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop","severity":"medium","message":"Possibility of prototype polluting function detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-exis [confidence low]","path":"scripts/propagate-i18n-keys.mjs","line":186,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop:scripts/propagate-i18n-keys.mjs:186"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop","severity":"medium","message":"Possibility of prototype polluting function detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-exis [confidence low]","path":"scripts/propagate-i18n-keys.mjs","line":198,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop:scripts/propagate-i18n-keys.mjs:198"},{"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":"server/content/src/server/createServer.ts","line":96,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:96"},{"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":"server/content/src/server/createServer.ts","line":97,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:97"},{"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":"server/content/src/server/createServer.ts","line":98,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:98"},{"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":"server/content/src/server/createServer.ts","line":99,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:99"},{"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":"server/content/src/server/createServer.ts","line":257,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:257"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"server/content/src/server/createServer.ts","line":260,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:server/content/src/server/createServer.ts:260"},{"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":"server/content/src/server/createServer.ts","line":263,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:263"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"server/content/src/server/createServer.ts","line":295,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:server/content/src/server/createServer.ts:295"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"server/content/src/server/createServer.ts","line":320,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:server/content/src/server/createServer.ts:320"},{"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":"server/content/src/server/createServer.ts","line":337,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:337"},{"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":"server/content/src/server/createServer.ts","line":338,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:338"},{"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":"server/content/src/server/createServer.ts","line":346,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:346"},{"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":"server/content/src/server/createServer.ts","line":349,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:349"},{"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":"server/content/src/server/createServer.ts","line":353,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:353"},{"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":"server/content/src/server/createServer.ts","line":354,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:354"},{"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":"server/content/src/server/createServer.ts","line":355,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:355"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"server/content/src/server/createServer.ts","line":360,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:server/content/src/server/createServer.ts:360"},{"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":"server/content/src/server/createServer.ts","line":360,"fingerprint":"javascript.lang.security.html-in-template-string:server/content/src/server/createServer.ts:360"},{"rule_id":"opengrep/typescript.react.security.audit.react-dangerouslysetinnerhtml","severity":"medium","message":"Detection of dangerouslySetInnerHTML from non-constant definition. This can inadvertently expose users to cross-site scripting (XSS) attacks if this comes from user-provided input. If you have to use dangerouslySetInnerHTML, consider using a sanitization library such as DOMPurify to sanitize your HT [confidence medium]","path":"src/components/Editor/UniversalToolbar/ToolbarButton.tsx","line":95,"fingerprint":"typescript.react.security.audit.react-dangerouslysetinnerhtml:src/components/Editor/UniversalToolbar/ToolbarButton.tsx:95"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"src/components/Terminal/imeGateMachine.ts","line":62,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:src/components/Terminal/imeGateMachine.ts:62"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `query` 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-controlle [confidence low]","path":"src/components/Terminal/terminalSearchOptions.ts","line":68,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/components/Terminal/terminalSearchOptions.ts:68"},{"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":"src/export/htmlSanitizer.ts","line":20,"fingerprint":"javascript.lang.security.html-in-template-string:src/export/htmlSanitizer.ts:20"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `name` 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-controlled [confidence low]","path":"src/export/pdfHtmlTemplate.ts","line":89,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/export/pdfHtmlTemplate.ts:89"},{"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":"src/export/pdfHtmlTemplate.ts","line":172,"fingerprint":"javascript.lang.security.html-in-template-string:src/export/pdfHtmlTemplate.ts:172"},{"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":"src/export/reader/vmark-reader.js","line":849,"fingerprint":"javascript.lang.security.html-in-template-string:src/export/reader/vmark-reader.js:849"},{"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":"src/export/reader/vmark-reader.js","line":855,"fingerprint":"javascript.lang.security.html-in-template-string:src/export/reader/vmark-reader.js:855"},{"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":"src/export/useExportOperations.ts","line":423,"fingerprint":"javascript.lang.security.html-in-template-string:src/export/useExportOperations.ts:423"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"src/i18n.ts","line":53,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:src/i18n.ts:53"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^[a-z0-9-]+(\\.[a-z0-9-]+)+(:\\d+)?$` 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 if possible use a l [confidence low]","path":"src/lib/browser/omnibox.ts","line":70,"fingerprint":"javascript.lang.security.audit.detect-redos:src/lib/browser/omnibox.ts:70"},{"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":"src/lib/browser/workflow/parser.ts","line":217,"fingerprint":"javascript.lang.security.html-in-template-string:src/lib/browser/workflow/parser.ts:217"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$` 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 if poss [confidence low]","path":"src/lib/cjkFormatter/formatterTables.ts","line":66,"fingerprint":"javascript.lang.security.audit.detect-redos:src/lib/cjkFormatter/formatterTables.ts:66"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `openingQuote` 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-co [confidence low]","path":"src/lib/cjkFormatter/rules/dashesQuotes.ts","line":94,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/lib/cjkFormatter/rules/dashesQuotes.ts:94"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `closingQuote` 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-co [confidence low]","path":"src/lib/cjkFormatter/rules/dashesQuotes.ts","line":108,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/lib/cjkFormatter/rules/dashesQuotes.ts:108"},{"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":"src/lib/formats/adapters/svg.tsx","line":57,"fingerprint":"javascript.lang.security.html-in-template-string:src/lib/formats/adapters/svg.tsx:57"},{"rule_id":"opengrep/typescript.react.security.audit.react-dangerouslysetinnerhtml","severity":"medium","message":"Detection of dangerouslySetInnerHTML from non-constant definition. This can inadvertently expose users to cross-site scripting (XSS) attacks if this comes from user-provided input. If you have to use dangerouslySetInnerHTML, consider using a sanitization library such as DOMPurify to sanitize your HT [confidence medium]","path":"src/lib/formats/adapters/svg.tsx","line":101,"fingerprint":"typescript.react.security.audit.react-dangerouslysetinnerhtml:src/lib/formats/adapters/svg.tsx:101"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `key` 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-controlled  [confidence low]","path":"src/lib/ghaWorkflow/detection.ts","line":75,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/lib/ghaWorkflow/detection.ts:75"},{"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":"src/lib/ghaWorkflow/render/snapshotRoot.tsx","line":182,"fingerprint":"javascript.lang.security.html-in-template-string:src/lib/ghaWorkflow/render/snapshotRoot.tsx:182"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `{ lines, lineOffsets }: LintLineIndex` 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 you [confidence low]","path":"src/lib/lintEngine/rules/noUndefinedRefs.ts","line":64,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/lib/lintEngine/rules/noUndefinedRefs.ts:64"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `lines` 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-controlle [confidence low]","path":"src/lib/lintEngine/rules/noUnusedDefs.ts","line":43,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/lib/lintEngine/rules/noUnusedDefs.ts:43"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `pos` 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-controlled  [confidence low]","path":"src/plugins/codemirror/sourceSelectOccurrence.ts","line":76,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/codemirror/sourceSelectOccurrence.ts:76"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `state` 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-controlle [confidence low]","path":"src/plugins/codemirror/sourceSelectOccurrence.ts","line":76,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/codemirror/sourceSelectOccurrence.ts:76"},{"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":"src/plugins/latex/plugin.ts","line":29,"fingerprint":"javascript.lang.security.html-in-template-string:src/plugins/latex/plugin.ts:29"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `pattern` 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-control [confidence low]","path":"src/plugins/markInputRules/urlSafePasteRule.ts","line":87,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/markInputRules/urlSafePasteRule.ts:87"},{"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":"src/plugins/mermaid/ensureSvgSize.ts","line":72,"fingerprint":"javascript.lang.security.html-in-template-string:src/plugins/mermaid/ensureSvgSize.ts:72"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `query` 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-controlle [confidence low]","path":"src/plugins/search/findMatches.ts","line":66,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/search/findMatches.ts:66"},{"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":"src/plugins/shared/blockTemplates.ts","line":72,"fingerprint":"javascript.lang.security.html-in-template-string:src/plugins/shared/blockTemplates.ts:72"},{"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":"src/plugins/shared/blockTemplates.ts","line":89,"fingerprint":"javascript.lang.security.html-in-template-string:src/plugins/shared/blockTemplates.ts:89"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^(?:([-*_])[ \\t]*)(?:\\1[ \\t]*){2,}$` 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 if possible use a  [confidence low]","path":"src/plugins/shared/lineContent.ts","line":101,"fingerprint":"javascript.lang.security.audit.detect-redos:src/plugins/shared/lineContent.ts:101"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `format` 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-controll [confidence low]","path":"src/plugins/sourceContextDetection/clearFormatting.ts","line":42,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceContextDetection/clearFormatting.ts:42"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `marker` 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-controll [confidence low]","path":"src/plugins/sourceContextDetection/formatRangeDetection.ts","line":61,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceContextDetection/formatRangeDetection.ts:61"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `marker` 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-controll [confidence low]","path":"src/plugins/sourceContextDetection/formatRangeDetection.ts","line":65,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceContextDetection/formatRangeDetection.ts:65"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^ {0,3}([-_*])[ \\t]*(?:\\1[ \\t]*){2,}$` 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 if possible use  [confidence low]","path":"src/plugins/sourceContextDetection/listMarkerParsing.ts","line":65,"fingerprint":"javascript.lang.security.audit.detect-redos:src/plugins/sourceContextDetection/listMarkerParsing.ts:65"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `label` 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-controlle [confidence low]","path":"src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts","line":175,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts:175"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `label` 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-controlle [confidence low]","path":"src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts","line":225,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts:225"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `label` 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-controlle [confidence low]","path":"src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts","line":243,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/plugins/sourceFootnotePopup/sourceFootnoteActions.ts:243"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^ {0,3}([-_*])[ \\t]*(?:\\1[ \\t]*){2,}$` 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 if possible use  [confidence low]","path":"src/plugins/toolbarActions/sourceLineClassifier.ts","line":53,"fingerprint":"javascript.lang.security.audit.detect-redos:src/plugins/toolbarActions/sourceLineClassifier.ts:53"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+(\\/.*)?\\s*$` 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 catastrop [confidence low]","path":"src/services/editor/urlDetection.ts","line":114,"fingerprint":"javascript.lang.security.audit.detect-redos:src/services/editor/urlDetection.ts:114"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"src/services/persistence/hotExit/schemaMigration.ts","line":105,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:src/services/persistence/hotExit/schemaMigration.ts:105"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment","severity":"medium","message":"Possibility of prototype polluting assignment detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-ex [confidence low]","path":"src/stores/settingsStore/clamp.ts","line":70,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment:src/stores/settingsStore/clamp.ts:70"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$` 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 if p [confidence low]","path":"src/utils/cursorSync/table.ts","line":21,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/cursorSync/table.ts:21"},{"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":"src/utils/icons.tsx","line":39,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/icons.tsx:39"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `markdown` 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-contro [confidence low]","path":"src/utils/markdownCodeMask.ts","line":106,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/markdownCodeMask.ts:106"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$` 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 if p [confidence low]","path":"src/utils/markdownPasteDetection.ts","line":39,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/markdownPasteDetection.ts:39"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `tag` 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-controlled  [confidence low]","path":"src/utils/markdownPipeline/mdastMediaConverters.ts","line":113,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/markdownPipeline/mdastMediaConverters.ts:113"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `markdown` 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-contro [confidence low]","path":"src/utils/markdownPipeline/parser/escapeMarkers.ts","line":75,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/markdownPipeline/parser/escapeMarkers.ts:75"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `markdown` 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-contro [confidence low]","path":"src/utils/markdownPipeline/parser/listNormalization.ts","line":45,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/markdownPipeline/parser/listNormalization.ts:45"},{"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":"src/utils/markdownPipeline/plugins/detailsSerializer.ts","line":39,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/markdownPipeline/plugins/detailsSerializer.ts:39"},{"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":"src/utils/markdownPipeline/plugins/detailsSerializer.ts","line":41,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/markdownPipeline/plugins/detailsSerializer.ts:41"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^(?:\\s|<!--[\\s\\S]*?-->)*$` 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 if possible use a library wh [confidence low]","path":"src/utils/markdownPipeline/plugins/detailsSummary.ts","line":48,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/markdownPipeline/plugins/detailsSummary.ts:48"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^(?:\\s|<!--[\\s\\S]*?-->)*<summary>` 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 if possible use a li [confidence low]","path":"src/utils/markdownPipeline/plugins/detailsSummary.ts","line":62,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/markdownPipeline/plugins/detailsSummary.ts:62"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `<details\\b(?:\"[^\"]*\"|'[^']*'|[^>])*>` 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 if possible use a [confidence low]","path":"src/utils/markdownPipeline/plugins/detailsTags.ts","line":30,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/markdownPipeline/plugins/detailsTags.ts:30"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `<details\\b(?:\"[^\"]*\"|'[^']*'|[^>])*>` 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 if possible use a [confidence low]","path":"src/utils/markdownPipeline/plugins/detailsTags.ts","line":82,"fingerprint":"javascript.lang.security.audit.detect-redos:src/utils/markdownPipeline/plugins/detailsTags.ts:82"},{"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":"src/utils/markdownPipeline/pmMediaConverters.ts","line":112,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/markdownPipeline/pmMediaConverters.ts:112"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `query` 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-controlle [confidence low]","path":"src/utils/sourceEditorSearch.ts","line":47,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/sourceEditorSearch.ts:47"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `kind` 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-controlled [confidence low]","path":"src/utils/stripInlineMarkdown.ts","line":40,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/stripInlineMarkdown.ts:40"},{"rule_id":"opengrep/javascript.vue.security.audit.xss.templates.avoid-v-html","severity":"medium","message":"Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS vulnerabilities. Only use HTML interpolation on trusted content and never on user-provided content. [confidence low]","path":"website/.vitepress/components/demos/AlertBlockDemo.vue","line":64,"fingerprint":"javascript.vue.security.audit.xss.templates.avoid-v-html:website/.vitepress/components/demos/AlertBlockDemo.vue:64"},{"rule_id":"opengrep/javascript.vue.security.audit.xss.templates.avoid-v-html","severity":"medium","message":"Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS vulnerabilities. Only use HTML interpolation on trusted content and never on user-provided content. [confidence low]","path":"website/.vitepress/components/demos/ModeSwitcherDemo.vue","line":70,"fingerprint":"javascript.vue.security.audit.xss.templates.avoid-v-html:website/.vitepress/components/demos/ModeSwitcherDemo.vue:70"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `openingQuote` 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-co [confidence low]","path":"website/.vitepress/components/demos/cjkFormatter.ts","line":721,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:website/.vitepress/components/demos/cjkFormatter.ts:721"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `closingQuote` 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-co [confidence low]","path":"website/.vitepress/components/demos/cjkFormatter.ts","line":728,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:website/.vitepress/components/demos/cjkFormatter.ts:728"},{"rule_id":"opengrep/rust.lang.security.args","severity":"low","message":"args should not be used for security operations. From the docs: \"The first element is traditionally the path of the executable, but it can be set to arbitrary text, and might not even exist. This means this property should not be relied upon for security purposes.\" [confidence high]","path":"src-tauri/src/app_setup.rs","line":85,"fingerprint":"rust.lang.security.args:src-tauri/src/app_setup.rs:85"},{"rule_id":"opengrep/rust.lang.security.args","severity":"low","message":"args should not be used for security operations. From the docs: \"The first element is traditionally the path of the executable, but it can be set to arbitrary text, and might not even exist. This means this property should not be relied upon for security purposes.\" [confidence high]","path":"src-tauri/src/bin/pdf_smoke/main.rs","line":55,"fingerprint":"rust.lang.security.args:src-tauri/src/bin/pdf_smoke/main.rs:55"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"src-tauri/src/bin/pdf_smoke/scenarios.rs","line":137,"fingerprint":"rust.lang.security.temp-dir:src-tauri/src/bin/pdf_smoke/scenarios.rs:137"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":135,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:135"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":138,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:138"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":145,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:145"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":160,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:160"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":180,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:180"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":188,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:188"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":194,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:194"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":199,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:199"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/browser_store_macos.rs","line":233,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/browser_store_macos.rs:233"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/console_shim_macos.rs","line":41,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/console_shim_macos.rs:41"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/console_shim_macos.rs","line":42,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/console_shim_macos.rs:42"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/console_shim_macos.rs","line":51,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/console_shim_macos.rs:51"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/console_shim_macos.rs","line":52,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/console_shim_macos.rs:52"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/debug_probe_macos.rs","line":111,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/debug_probe_macos.rs:111"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/driver_loop_macos.rs","line":109,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/driver_loop_macos.rs:109"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/eval_macos.rs","line":45,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/eval_macos.rs:45"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/eval_macos.rs","line":79,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/eval_macos.rs:79"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/eval_macos.rs","line":144,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/eval_macos.rs:144"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_kvo_macos.rs","line":135,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_kvo_macos.rs:135"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_kvo_macos.rs","line":148,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_kvo_macos.rs:148"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_registry_macos.rs","line":207,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_registry_macos.rs:207"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_registry_macos.rs","line":263,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_registry_macos.rs:263"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_webview_macos.rs","line":13,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_webview_macos.rs:13"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_webview_macos.rs","line":20,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_webview_macos.rs:20"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/nav_webview_macos.rs","line":30,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/nav_webview_macos.rs:30"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/recorder_shim_macos.rs","line":44,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/recorder_shim_macos.rs:44"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/recorder_shim_macos.rs","line":45,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/recorder_shim_macos.rs:45"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/recorder_shim_macos.rs","line":54,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/recorder_shim_macos.rs:54"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/recorder_shim_macos.rs","line":55,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/recorder_shim_macos.rs:55"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":64,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:64"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":70,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:70"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":95,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:95"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":101,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:101"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/screenshot_macos.rs","line":107,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/screenshot_macos.rs:107"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":80,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:80"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":85,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:85"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":110,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:110"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":134,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:134"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":149,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:149"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":153,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:153"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":157,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:157"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":162,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:162"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":184,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:184"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":194,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:194"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/session_cookies_macos.rs","line":220,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/session_cookies_macos.rs:220"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_create_macos.rs","line":46,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_create_macos.rs:46"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_create_macos.rs","line":58,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_create_macos.rs:58"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_create_macos.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_create_macos.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_create_macos.rs","line":77,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_create_macos.rs:77"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_lifecycle_macos.rs","line":71,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_lifecycle_macos.rs:71"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_macos.rs","line":123,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_macos.rs:123"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_macos.rs","line":144,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_macos.rs:144"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_macos.rs","line":146,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_macos.rs:146"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_macos.rs","line":228,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_macos.rs:228"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_macos.rs","line":249,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_macos.rs:249"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":30,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:30"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":65,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:65"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":66,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:66"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":69,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:69"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":72,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:72"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/surface_view_macos.rs","line":114,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/surface_view_macos.rs:114"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/user_input_monitor_macos.rs","line":51,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/user_input_monitor_macos.rs:51"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/user_input_monitor_macos.rs","line":62,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/user_input_monitor_macos.rs:62"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/browser/user_input_resolve_macos.rs","line":65,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/browser/user_input_resolve_macos.rs:65"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"src-tauri/src/cli_install/mod.rs","line":168,"fingerprint":"rust.lang.security.temp-dir:src-tauri/src/cli_install/mod.rs:168"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/coherence/workspace_files.rs","line":39,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/coherence/workspace_files.rs:39"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/file_ops.rs","line":152,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/file_ops.rs:152"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"src-tauri/src/mcp_config/providers.rs","line":176,"fingerprint":"rust.lang.security.current-exe:src-tauri/src/mcp_config/providers.rs:176"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos.rs","line":47,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos.rs:47"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos.rs","line":57,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos.rs:57"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos.rs","line":60,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos.rs:60"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos.rs","line":86,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos.rs:86"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos.rs","line":95,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos.rs:95"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":112,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:112"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":121,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:121"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":133,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:133"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":146,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:146"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":266,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:266"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/macos_ops.rs","line":279,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/macos_ops.rs:279"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"src-tauri/src/pdf_export/renderer/mod.rs","line":116,"fingerprint":"rust.lang.security.temp-dir:src-tauri/src/pdf_export/renderer/mod.rs:116"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"src-tauri/src/pdf_export/renderer/mod.rs","line":227,"fingerprint":"rust.lang.security.temp-dir:src-tauri/src/pdf_export/renderer/mod.rs:227"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows.rs","line":91,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows.rs:91"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows.rs","line":114,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows.rs:114"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows.rs","line":140,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows.rs:140"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows.rs","line":147,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows.rs:147"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows.rs","line":166,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows.rs:166"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows_print.rs","line":66,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows_print.rs:66"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows_print.rs","line":84,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows_print.rs:84"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows_print.rs","line":100,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows_print.rs:100"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows_print.rs","line":116,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows_print.rs:116"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/pdf_export/renderer/windows_print.rs","line":122,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/pdf_export/renderer/windows_print.rs:122"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":68,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:68"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":71,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:71"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":85,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:85"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":106,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:106"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":112,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:112"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/shell_env.rs","line":244,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/shell_env.rs:244"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/webview_edit.rs","line":117,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/webview_edit.rs:117"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"src-tauri/src/window_manager/traffic_lights.rs","line":94,"fingerprint":"rust.lang.security.unsafe-usage:src-tauri/src/window_manager/traffic_lights.rs:94"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"src-tauri/src/workspace_validation.rs","line":57,"fingerprint":"rust.lang.security.temp-dir:src-tauri/src/workspace_validation.rs:57"},{"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":"src/utils/perfLog.ts","line":55,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/utils/perfLog.ts:55"},{"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":"src/utils/perfLog.ts","line":66,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/utils/perfLog.ts:66"},{"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":"src/utils/perfLog.ts","line":79,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/utils/perfLog.ts:79"}],"evidence":[],"data":{"rulesets":["typescript","javascript","rust","bash","python"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":68.0,"vulnerabilities":196.0,"vulns_critical":4.0,"vulns_high":63.0,"vulns_medium":84.0,"vulns_low":21.0,"vulns_unknown":24.0,"penalty":374.0},"findings":[{"rule_id":"osv/GHSA-cg2g-xh64-v4q7","severity":"critical","message":"dompurify@3.4.13 (npm) is affected by GHSA-cg2g-xh64-v4q7","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.4.13 (npm):GHSA-cg2g-xh64-v4q7"},{"rule_id":"osv/GHSA-jqcg-44mw-7w3h","severity":"critical","message":"proxy-addr@2.0.7 (npm) is affected by GHSA-jqcg-44mw-7w3h","path":"pnpm-lock.yaml","line":null,"fingerprint":"proxy-addr@2.0.7 (npm):GHSA-jqcg-44mw-7w3h"},{"rule_id":"osv/RUSTSEC-2026-0369","severity":"critical","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0369","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0369"},{"rule_id":"osv/GHSA-m665-v7pm-7grj","severity":"critical","message":"zip@4.6.1 (crates.io) is affected by GHSA-m665-v7pm-7grj","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-m665-v7pm-7grj"},{"rule_id":"osv/GHSA-f897-62hf-6gxq","severity":"high","message":"@modelcontextprotocol/node@2.0.0 (npm) is affected by GHSA-f897-62hf-6gxq","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/node@2.0.0 (npm):GHSA-f897-62hf-6gxq"},{"rule_id":"osv/GHSA-22jm-h49p-29qw","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-22jm-h49p-29qw","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-22jm-h49p-29qw"},{"rule_id":"osv/GHSA-46jr-4wx8-v453","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-46jr-4wx8-v453","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-46jr-4wx8-v453"},{"rule_id":"osv/GHSA-6qxp-vccf-f47h","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6qxp-vccf-f47h","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6qxp-vccf-f47h"},{"rule_id":"osv/GHSA-f897-62hf-6gxq","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-f897-62hf-6gxq","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-f897-62hf-6gxq"},{"rule_id":"osv/GHSA-46jr-4wx8-v453","severity":"high","message":"@modelcontextprotocol/server@2.0.0 (npm) is affected by GHSA-46jr-4wx8-v453","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/server@2.0.0 (npm):GHSA-46jr-4wx8-v453"},{"rule_id":"osv/GHSA-f897-62hf-6gxq","severity":"high","message":"@modelcontextprotocol/server@2.0.0 (npm) is affected by GHSA-f897-62hf-6gxq","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/server@2.0.0 (npm):GHSA-f897-62hf-6gxq"},{"rule_id":"osv/GHSA-jm63-cq47-j5jp","severity":"high","message":"@modelcontextprotocol/server@2.0.0 (npm) is affected by GHSA-jm63-cq47-j5jp","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/server@2.0.0 (npm):GHSA-jm63-cq47-j5jp"},{"rule_id":"osv/GHSA-j95f-988m-3j2f","severity":"high","message":"@tiptap/core@3.30.0 (npm) is affected by GHSA-j95f-988m-3j2f","path":"pnpm-lock.yaml","line":null,"fingerprint":"@tiptap/core@3.30.0 (npm):GHSA-j95f-988m-3j2f"},{"rule_id":"osv/GHSA-g2v6-rqmx-r4w6","severity":"high","message":"@vue/server-renderer@3.5.41 (npm) is affected by GHSA-g2v6-rqmx-r4w6","path":"pnpm-lock.yaml","line":null,"fingerprint":"@vue/server-renderer@3.5.41 (npm):GHSA-g2v6-rqmx-r4w6"},{"rule_id":"osv/GHSA-27r3-jxmh-p828","severity":"high","message":"body-parser@2.3.0 (npm) is affected by GHSA-27r3-jxmh-p828","path":"pnpm-lock.yaml","line":null,"fingerprint":"body-parser@2.3.0 (npm):GHSA-27r3-jxmh-p828"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.8 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.8 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.8 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.8 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@5.0.8 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.8 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.4 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"pnpm-lock.yaml","line":null,"fingerprint":"browserslist@4.28.4 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.4 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"pnpm-lock.yaml","line":null,"fingerprint":"browserslist@4.28.4 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-mrv2-3pqr-j5jr","severity":"high","message":"dompurify@3.4.13 (npm) is affected by GHSA-mrv2-3pqr-j5jr","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.4.13 (npm):GHSA-mrv2-3pqr-j5jr"},{"rule_id":"osv/GHSA-5jgf-p345-68v8","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-5jgf-p345-68v8","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-5jgf-p345-68v8"},{"rule_id":"osv/GHSA-7p8r-x3mc-p8w7","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-7p8r-x3mc-p8w7","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-7p8r-x3mc-p8w7"},{"rule_id":"osv/GHSA-f65p-4m7j-42xc","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-f65p-4m7j-42xc","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-f65p-4m7j-42xc"},{"rule_id":"osv/GHSA-fph4-wmhf-6fwf","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-fph4-wmhf-6fwf","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-fph4-wmhf-6fwf"},{"rule_id":"osv/GHSA-jqff-g426-hqxp","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-jqff-g426-hqxp","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-jqff-g426-hqxp"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@4.1.1 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-5p2g-fcmc-qvqq","severity":"high","message":"image-size@1.2.1 (npm) is affected by GHSA-5p2g-fcmc-qvqq","path":"pnpm-lock.yaml","line":null,"fingerprint":"image-size@1.2.1 (npm):GHSA-5p2g-fcmc-qvqq"},{"rule_id":"osv/GHSA-w3rx-r6r6-pgpr","severity":"high","message":"image-size@1.2.1 (npm) is affected by GHSA-w3rx-r6r6-pgpr","path":"pnpm-lock.yaml","line":null,"fingerprint":"image-size@1.2.1 (npm):GHSA-w3rx-r6r6-pgpr"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@3.15.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"pnpm-lock.yaml","line":null,"fingerprint":"js-yaml@3.15.1 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.3.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"pnpm-lock.yaml","line":null,"fingerprint":"js-yaml@4.3.1 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-gfr2-rv44-r23c","severity":"high","message":"markdown-it@14.2.0 (npm) is affected by GHSA-gfr2-rv44-r23c","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.2.0 (npm):GHSA-gfr2-rv44-r23c"},{"rule_id":"osv/GHSA-r7fv-28h4-cvq7","severity":"high","message":"markdown-it@14.2.0 (npm) is affected by GHSA-r7fv-28h4-cvq7","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.2.0 (npm):GHSA-r7fv-28h4-cvq7"},{"rule_id":"osv/GHSA-gfr2-rv44-r23c","severity":"high","message":"markdown-it@14.3.0 (npm) is affected by GHSA-gfr2-rv44-r23c","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-gfr2-rv44-r23c"},{"rule_id":"osv/GHSA-r7fv-28h4-cvq7","severity":"high","message":"markdown-it@14.3.0 (npm) is affected by GHSA-r7fv-28h4-cvq7","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-r7fv-28h4-cvq7"},{"rule_id":"osv/GHSA-c8x8-7fp4-3x9w","severity":"high","message":"prosemirror-view@1.42.2 (npm) is affected by GHSA-c8x8-7fp4-3x9w","path":"pnpm-lock.yaml","line":null,"fingerprint":"prosemirror-view@1.42.2 (npm):GHSA-c8x8-7fp4-3x9w"},{"rule_id":"osv/GHSA-7w5x-hrqm-74c2","severity":"high","message":"smol-toml@1.7.0 (npm) is affected by GHSA-7w5x-hrqm-74c2","path":"pnpm-lock.yaml","line":null,"fingerprint":"smol-toml@1.7.0 (npm):GHSA-7w5x-hrqm-74c2"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q","path":"pnpm-lock.yaml","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-4w7w-5xrc-9h26","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-4w7w-5xrc-9h26","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-4w7w-5xrc-9h26"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-w293-vg96-wgc3","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-w293-vg96-wgc3","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-w293-vg96-wgc3"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@7.29.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-4w7w-5xrc-9h26","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-4w7w-5xrc-9h26","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-4w7w-5xrc-9h26"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-w293-vg96-wgc3","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-w293-vg96-wgc3","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-w293-vg96-wgc3"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@8.9.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@5.4.21 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@7.3.6 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@8.2.1 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@3.25.76 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"pnpm-lock.yaml","line":null,"fingerprint":"zod@3.25.76 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.4.3 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"pnpm-lock.yaml","line":null,"fingerprint":"zod@4.4.3 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/RUSTSEC-2026-0340","severity":"high","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0340","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0340"},{"rule_id":"osv/RUSTSEC-2026-0341","severity":"high","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0341","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0341"},{"rule_id":"osv/RUSTSEC-2026-0367","severity":"high","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0367","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0367"},{"rule_id":"osv/GHSA-q7v9-x93c-xqv3","severity":"high","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0429, GHSA-q7v9-x93c-xqv3","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-q7v9-x93c-xqv3"},{"rule_id":"osv/GHSA-jpvv-r467-5p4w","severity":"medium","message":"@hono/node-server@2.1.0 (npm) is affected by GHSA-jpvv-r467-5p4w","path":"pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.1.0 (npm):GHSA-jpvv-r467-5p4w"},{"rule_id":"osv/GHSA-qv5m-9pm6-hqp3","severity":"medium","message":"@hono/node-server@2.1.0 (npm) is affected by GHSA-qv5m-9pm6-hqp3","path":"pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.1.0 (npm):GHSA-qv5m-9pm6-hqp3"},{"rule_id":"osv/GHSA-rmxm-3fg6-px4f","severity":"medium","message":"@hono/node-server@2.1.0 (npm) is affected by GHSA-rmxm-3fg6-px4f","path":"pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.1.0 (npm):GHSA-rmxm-3fg6-px4f"},{"rule_id":"osv/GHSA-6prh-2h8m-c8cw","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6prh-2h8m-c8cw","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6prh-2h8m-c8cw"},{"rule_id":"osv/GHSA-rvq5-wwqv-78pq","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-rvq5-wwqv-78pq","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-rvq5-wwqv-78pq"},{"rule_id":"osv/GHSA-rvq5-wwqv-78pq","severity":"medium","message":"@modelcontextprotocol/server@2.0.0 (npm) is affected by GHSA-rvq5-wwqv-78pq","path":"pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/server@2.0.0 (npm):GHSA-rvq5-wwqv-78pq"},{"rule_id":"osv/GHSA-cp6q-959q-f8rh","severity":"medium","message":"@tiptap/core@3.30.0 (npm) is affected by GHSA-cp6q-959q-f8rh","path":"pnpm-lock.yaml","line":null,"fingerprint":"@tiptap/core@3.30.0 (npm):GHSA-cp6q-959q-f8rh"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@4.1.10 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"pnpm-lock.yaml","line":null,"fingerprint":"@vitest/mocker@4.1.10 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@4.1.10 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"pnpm-lock.yaml","line":null,"fingerprint":"@vitest/mocker@4.1.10 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.40 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"pnpm-lock.yaml","line":null,"fingerprint":"baseline-browser-mapping@2.10.40 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.8 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.8 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-gcqx-w48m-w2h4","severity":"medium","message":"deepmerge@4.3.1 (npm) is affected by GHSA-gcqx-w48m-w2h4","path":"pnpm-lock.yaml","line":null,"fingerprint":"deepmerge@4.3.1 (npm):GHSA-gcqx-w48m-w2h4"},{"rule_id":"osv/GHSA-6688-9rhm-gjv2","severity":"medium","message":"dompurify@3.4.13 (npm) is affected by GHSA-6688-9rhm-gjv2","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.4.13 (npm):GHSA-6688-9rhm-gjv2"},{"rule_id":"osv/GHSA-c6gr-qvv4-5v3f","severity":"medium","message":"dompurify@3.4.13 (npm) is affected by GHSA-c6gr-qvv4-5v3f","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.4.13 (npm):GHSA-c6gr-qvv4-5v3f"},{"rule_id":"osv/GHSA-67mh-4wv8-2f99","severity":"medium","message":"esbuild@0.21.5 (npm) is affected by GHSA-67mh-4wv8-2f99","path":"pnpm-lock.yaml","line":null,"fingerprint":"esbuild@0.21.5 (npm):GHSA-67mh-4wv8-2f99"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@4.1.1 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@4.1.1 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-wjr9-j795-jxcr","severity":"medium","message":"fast-uri@4.1.1 (npm) is affected by GHSA-wjr9-j795-jxcr","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-wjr9-j795-jxcr"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@11.1.0 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"pnpm-lock.yaml","line":null,"fingerprint":"glob@11.1.0 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-46wx-v44x-9hh2","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-46wx-v44x-9hh2","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-46wx-v44x-9hh2"},{"rule_id":"osv/GHSA-4h7h-rv7c-7m2v","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-4h7h-rv7c-7m2v","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-4h7h-rv7c-7m2v"},{"rule_id":"osv/GHSA-4m76-xfj5-7975","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-4m76-xfj5-7975","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-4m76-xfj5-7975"},{"rule_id":"osv/GHSA-5r4p-p66f-jhc7","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-5r4p-p66f-jhc7","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-5r4p-p66f-jhc7"},{"rule_id":"osv/GHSA-crvj-82cr-hjcx","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-crvj-82cr-hjcx","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-crvj-82cr-hjcx"},{"rule_id":"osv/GHSA-g6gw-c38x-mqfc","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-g6gw-c38x-mqfc","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-g6gw-c38x-mqfc"},{"rule_id":"osv/GHSA-gqvv-2mrq-wpjv","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-gqvv-2mrq-wpjv","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-gqvv-2mrq-wpjv"},{"rule_id":"osv/GHSA-h7mg-cq63-vhpq","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-h7mg-cq63-vhpq","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-h7mg-cq63-vhpq"},{"rule_id":"osv/GHSA-hxh3-vqpv-xpqv","severity":"medium","message":"hono@4.13.1 (npm) is affected by GHSA-hxh3-vqpv-xpqv","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-hxh3-vqpv-xpqv"},{"rule_id":"osv/GHSA-2vr4-cq9g-pvrc","severity":"medium","message":"ip-address@10.3.1 (npm) is affected by GHSA-2vr4-cq9g-pvrc","path":"pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.3.1 (npm):GHSA-2vr4-cq9g-pvrc"},{"rule_id":"osv/GHSA-h3mg-xc3c-68pw","severity":"medium","message":"ip-address@10.3.1 (npm) is affected by GHSA-h3mg-xc3c-68pw","path":"pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.3.1 (npm):GHSA-h3mg-xc3c-68pw"},{"rule_id":"osv/GHSA-j6r3-76f7-8jcv","severity":"medium","message":"ip-address@10.3.1 (npm) is affected by GHSA-j6r3-76f7-8jcv","path":"pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.3.1 (npm):GHSA-j6r3-76f7-8jcv"},{"rule_id":"osv/GHSA-rpw4-54j3-4h4q","severity":"medium","message":"ip-address@10.3.1 (npm) is affected by GHSA-rpw4-54j3-4h4q","path":"pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.3.1 (npm):GHSA-rpw4-54j3-4h4q"},{"rule_id":"osv/GHSA-rxp7-6hxx-x8q5","severity":"medium","message":"ip-address@10.3.1 (npm) is affected by GHSA-rxp7-6hxx-x8q5","path":"pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.3.1 (npm):GHSA-rxp7-6hxx-x8q5"},{"rule_id":"osv/GHSA-r3ph-w7gj-g6xm","severity":"medium","message":"js-yaml@5.2.2 (npm) is affected by GHSA-r3ph-w7gj-g6xm","path":"pnpm-lock.yaml","line":null,"fingerprint":"js-yaml@5.2.2 (npm):GHSA-r3ph-w7gj-g6xm"},{"rule_id":"osv/GHSA-253c-mchw-3w2r","severity":"medium","message":"markdown-it@14.2.0 (npm) is affected by GHSA-253c-mchw-3w2r","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.2.0 (npm):GHSA-253c-mchw-3w2r"},{"rule_id":"osv/GHSA-253c-mchw-3w2r","severity":"medium","message":"markdown-it@14.3.0 (npm) is affected by GHSA-253c-mchw-3w2r","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-253c-mchw-3w2r"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.5 (npm) is affected by GHSA-g3hv-75wg-m249","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.2.5 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.6 (npm) is affected by GHSA-g3hv-75wg-m249","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.2.6 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-rj75-hqrm-r3gf","severity":"medium","message":"postcss-selector-parser@7.1.5 (npm) is affected by GHSA-rj75-hqrm-r3gf","path":"pnpm-lock.yaml","line":null,"fingerprint":"postcss-selector-parser@7.1.5 (npm):GHSA-rj75-hqrm-r3gf"},{"rule_id":"osv/GHSA-4mjr-xmp4-gh2g","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-4mjr-xmp4-gh2g","path":"pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-4mjr-xmp4-gh2g"},{"rule_id":"osv/GHSA-6pq8-jhm2-2vcw","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-6pq8-jhm2-2vcw","path":"pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-6pq8-jhm2-2vcw"},{"rule_id":"osv/GHSA-x5fp-wj9c-mxmx","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-x5fp-wj9c-mxmx","path":"pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-x5fp-wj9c-mxmx"},{"rule_id":"osv/GHSA-r4xh-jqrq-34v2","severity":"medium","message":"smol-toml@1.7.0 (npm) is affected by GHSA-r4xh-jqrq-34v2","path":"pnpm-lock.yaml","line":null,"fingerprint":"smol-toml@1.7.0 (npm):GHSA-r4xh-jqrq-34v2"},{"rule_id":"osv/GHSA-r4xh-jqrq-34v2","severity":"medium","message":"smol-toml@1.8.0 (npm) is affected by GHSA-r4xh-jqrq-34v2","path":"pnpm-lock.yaml","line":null,"fingerprint":"smol-toml@1.8.0 (npm):GHSA-r4xh-jqrq-34v2"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-2jfj-6hjv-fm6j","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-2jfj-6hjv-fm6j","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-2jfj-6hjv-fm6j"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-3xpg-4rpp-hhhm","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-3xpg-4rpp-hhhm","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-3xpg-4rpp-hhhm"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-55wc-3pg8-jfw6","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-55wc-3pg8-jfw6","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-55wc-3pg8-jfw6"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-f72v-6w45-q472","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-f72v-6w45-q472","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-f72v-6w45-q472"},{"rule_id":"osv/GHSA-pmjh-fq2x-6v4x","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-pmjh-fq2x-6v4x","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-pmjh-fq2x-6v4x"},{"rule_id":"osv/GHSA-rx4f-c7p8-82vq","severity":"medium","message":"undici@7.29.0 (npm) is affected by GHSA-rx4f-c7p8-82vq","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-rx4f-c7p8-82vq"},{"rule_id":"osv/GHSA-2jfj-6hjv-fm6j","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-2jfj-6hjv-fm6j","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-2jfj-6hjv-fm6j"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-3xpg-4rpp-hhhm","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-3xpg-4rpp-hhhm","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-3xpg-4rpp-hhhm"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-55wc-3pg8-jfw6","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-55wc-3pg8-jfw6","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-55wc-3pg8-jfw6"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-f72v-6w45-q472","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-f72v-6w45-q472","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-f72v-6w45-q472"},{"rule_id":"osv/GHSA-pmjh-fq2x-6v4x","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-pmjh-fq2x-6v4x","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-pmjh-fq2x-6v4x"},{"rule_id":"osv/GHSA-rx4f-c7p8-82vq","severity":"medium","message":"undici@8.9.0 (npm) is affected by GHSA-rx4f-c7p8-82vq","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-rx4f-c7p8-82vq"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@8.2.1 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@8.2.1 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@8.2.1 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-vfpm-58rq-9qcg","severity":"medium","message":"vite@8.2.1 (npm) is affected by GHSA-vfpm-58rq-9qcg","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-vfpm-58rq-9qcg"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@4.1.10 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"pnpm-lock.yaml","line":null,"fingerprint":"vitest@4.1.10 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/RUSTSEC-2026-0221","severity":"medium","message":"event-listener@5.4.1 (crates.io) is affected by RUSTSEC-2026-0221","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"event-listener@5.4.1 (crates.io):RUSTSEC-2026-0221"},{"rule_id":"osv/GHSA-wrw7-89jp-8q8g","severity":"medium","message":"glib@0.18.5 (crates.io) is affected by RUSTSEC-2024-0429, GHSA-wrw7-89jp-8q8g","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"glib@0.18.5 (crates.io):GHSA-wrw7-89jp-8q8g"},{"rule_id":"osv/RUSTSEC-2026-0459","severity":"medium","message":"libsqlite3-sys@0.38.2 (crates.io) is affected by RUSTSEC-2026-0459","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"libsqlite3-sys@0.38.2 (crates.io):RUSTSEC-2026-0459"},{"rule_id":"osv/RUSTSEC-2024-0370","severity":"medium","message":"proc-macro-error@1.0.4 (crates.io) is affected by RUSTSEC-2024-0370","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"proc-macro-error@1.0.4 (crates.io):RUSTSEC-2024-0370"},{"rule_id":"osv/RUSTSEC-2026-0338","severity":"medium","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0338","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0338"},{"rule_id":"osv/RUSTSEC-2026-0339","severity":"medium","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0339","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0339"},{"rule_id":"osv/RUSTSEC-2026-0342","severity":"medium","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0342","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0342"},{"rule_id":"osv/RUSTSEC-2026-0523","severity":"medium","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0523","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0523"},{"rule_id":"osv/RUSTSEC-2026-0524","severity":"medium","message":"quinn-proto@0.11.15 (crates.io) is affected by RUSTSEC-2026-0524","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.15 (crates.io):RUSTSEC-2026-0524"},{"rule_id":"osv/RUSTSEC-2026-0538","severity":"medium","message":"quinn-udp@0.5.14 (crates.io) is affected by RUSTSEC-2026-0538","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-udp@0.5.14 (crates.io):RUSTSEC-2026-0538"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.1.4 (crates.io) is affected by RUSTSEC-2026-0486","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustix@1.1.4 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/GHSA-2mjx-qc3c-rqvc","severity":"medium","message":"rustls@0.23.41 (crates.io) is affected by RUSTSEC-2026-0285, GHSA-2mjx-qc3c-rqvc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.41 (crates.io):GHSA-2mjx-qc3c-rqvc"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.23.41 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.41 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/RUSTSEC-2026-0382","severity":"medium","message":"rustls-webpki@0.103.13 (crates.io) is affected by RUSTSEC-2026-0382","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.13 (crates.io):RUSTSEC-2026-0382"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.53.1 (crates.io) is affected by RUSTSEC-2026-0386","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tokio@1.53.1 (crates.io):RUSTSEC-2026-0386"},{"rule_id":"osv/RUSTSEC-2025-0081","severity":"medium","message":"unic-char-property@0.9.0 (crates.io) is affected by RUSTSEC-2025-0081","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unic-char-property@0.9.0 (crates.io):RUSTSEC-2025-0081"},{"rule_id":"osv/RUSTSEC-2025-0075","severity":"medium","message":"unic-char-range@0.9.0 (crates.io) is affected by RUSTSEC-2025-0075","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unic-char-range@0.9.0 (crates.io):RUSTSEC-2025-0075"},{"rule_id":"osv/RUSTSEC-2025-0080","severity":"medium","message":"unic-common@0.9.0 (crates.io) is affected by RUSTSEC-2025-0080","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unic-common@0.9.0 (crates.io):RUSTSEC-2025-0080"},{"rule_id":"osv/RUSTSEC-2025-0100","severity":"medium","message":"unic-ucd-ident@0.9.0 (crates.io) is affected by RUSTSEC-2025-0100","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unic-ucd-ident@0.9.0 (crates.io):RUSTSEC-2025-0100"},{"rule_id":"osv/RUSTSEC-2025-0098","severity":"medium","message":"unic-ucd-version@0.9.0 (crates.io) is affected by RUSTSEC-2025-0098","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unic-ucd-version@0.9.0 (crates.io):RUSTSEC-2025-0098"},{"rule_id":"osv/RUSTSEC-2024-0449","severity":"medium","message":"unsafe-libyaml@0.2.11 (crates.io) is affected by RUSTSEC-2024-0449","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"unsafe-libyaml@0.2.11 (crates.io):RUSTSEC-2024-0449"},{"rule_id":"osv/RUSTSEC-2026-0383","severity":"medium","message":"webpki-root-certs@1.0.8 (crates.io) is affected by RUSTSEC-2026-0383","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"webpki-root-certs@1.0.8 (crates.io):RUSTSEC-2026-0383"},{"rule_id":"osv/RUSTSEC-2026-0371","severity":"medium","message":"zbus_names@4.3.2 (crates.io) is affected by RUSTSEC-2026-0371","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zbus_names@4.3.2 (crates.io):RUSTSEC-2026-0371"},{"rule_id":"osv/RUSTSEC-2026-0368","severity":"medium","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0368","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0368"},{"rule_id":"osv/GHSA-8hxf-qr8p-62x4","severity":"medium","message":"zip@4.6.1 (crates.io) is affected by GHSA-8hxf-qr8p-62x4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-8hxf-qr8p-62x4"},{"rule_id":"osv/RUSTSEC-2026-0370","severity":"medium","message":"zvariant@5.12.0 (crates.io) is affected by RUSTSEC-2026-0370","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zvariant@5.12.0 (crates.io):RUSTSEC-2026-0370"},{"rule_id":"osv/RUSTSEC-2026-0372","severity":"medium","message":"zvariant_derive@5.12.0 (crates.io) is affected by RUSTSEC-2026-0372","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zvariant_derive@5.12.0 (crates.io):RUSTSEC-2026-0372"},{"rule_id":"osv/GHSA-p98j-92pf-mc4p","severity":"low","message":"dompurify@3.4.13 (npm) is affected by GHSA-p98j-92pf-mc4p","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.4.13 (npm):GHSA-p98j-92pf-mc4p"},{"rule_id":"osv/GHSA-g7r4-m6w7-qqqr","severity":"low","message":"esbuild@0.27.7 (npm) is affected by GHSA-g7r4-m6w7-qqqr","path":"pnpm-lock.yaml","line":null,"fingerprint":"esbuild@0.27.7 (npm):GHSA-g7r4-m6w7-qqqr"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@4.1.1 (npm) is affected by GHSA-333x-w4r6-6crp","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@4.1.1 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@4.1.1 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-3gg2-335m-rxc6","severity":"low","message":"hono@4.13.1 (npm) is affected by GHSA-3gg2-335m-rxc6","path":"pnpm-lock.yaml","line":null,"fingerprint":"hono@4.13.1 (npm):GHSA-3gg2-335m-rxc6"},{"rule_id":"osv/GHSA-238p-pmpm-9mq7","severity":"low","message":"katex@0.16.47 (npm) is affected by GHSA-238p-pmpm-9mq7","path":"pnpm-lock.yaml","line":null,"fingerprint":"katex@0.16.47 (npm):GHSA-238p-pmpm-9mq7"},{"rule_id":"osv/GHSA-vfgh-jcmw-g37q","severity":"low","message":"markdown-it@14.2.0 (npm) is affected by GHSA-vfgh-jcmw-g37q","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.2.0 (npm):GHSA-vfgh-jcmw-g37q"},{"rule_id":"osv/GHSA-vfgh-jcmw-g37q","severity":"low","message":"markdown-it@14.3.0 (npm) is affected by GHSA-vfgh-jcmw-g37q","path":"pnpm-lock.yaml","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-vfgh-jcmw-g37q"},{"rule_id":"osv/GHSA-m5mm-p8h7-m29v","severity":"low","message":"serialize-javascript@7.1.0 (npm) is affected by GHSA-m5mm-p8h7-m29v","path":"pnpm-lock.yaml","line":null,"fingerprint":"serialize-javascript@7.1.0 (npm):GHSA-m5mm-p8h7-m29v"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@6.28.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-2gqq-gqf2-x968","severity":"low","message":"undici@7.29.0 (npm) is affected by GHSA-2gqq-gqf2-x968","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-2gqq-gqf2-x968"},{"rule_id":"osv/GHSA-8436-99hf-9mmv","severity":"low","message":"undici@7.29.0 (npm) is affected by GHSA-8436-99hf-9mmv","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-8436-99hf-9mmv"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@7.29.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@7.29.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-2gqq-gqf2-x968","severity":"low","message":"undici@8.9.0 (npm) is affected by GHSA-2gqq-gqf2-x968","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-2gqq-gqf2-x968"},{"rule_id":"osv/GHSA-8436-99hf-9mmv","severity":"low","message":"undici@8.9.0 (npm) is affected by GHSA-8436-99hf-9mmv","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-8436-99hf-9mmv"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@8.9.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"pnpm-lock.yaml","line":null,"fingerprint":"undici@8.9.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@5.4.21 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@7.3.6 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@8.2.1 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@8.2.1 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.23.41 (crates.io) is affected by RUSTSEC-2026-0348, GHSA-h2v8-394m-p7vv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.41 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.23.41 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.41 (crates.io):GHSA-w44r-93j7-qv28"}],"evidence":[],"data":{"ecosystems":["crates.io","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":17.0,"findings":128.0,"findings_high":70.0,"findings_medium":8.0,"findings_low":50.0,"penalty":871.5},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/actions/setup-node-pnpm/action.yml","line":14,"fingerprint":"unpinned-uses:.github/actions/setup-node-pnpm/action.yml:14"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/baseline-review.yml","line":58,"fingerprint":"unpinned-uses:.github/workflows/baseline-review.yml:58"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/baseline-review.yml","line":74,"fingerprint":"unpinned-uses:.github/workflows/baseline-review.yml:74"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/ci.yml","line":93,"fingerprint":"template-injection:.github/workflows/ci.yml:93"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/ci.yml","line":101,"fingerprint":"template-injection:.github/workflows/ci.yml:101"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":63,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:63"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":118,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:118"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":159,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:159"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":176,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:176"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":179,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:179"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":199,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:199"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":212,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:212"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":230,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:230"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":234,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:234"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":305,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:305"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":309,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:309"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":352,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:352"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":394,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:394"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":499,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:499"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude-audit.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/claude-audit.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude-cost-report.yml","line":29,"fingerprint":"unpinned-uses:.github/workflows/claude-cost-report.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/claude.yml","line":25,"fingerprint":"excessive-permissions:.github/workflows/claude.yml:25"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/claude.yml","line":26,"fingerprint":"excessive-permissions:.github/workflows/claude.yml:26"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/claude.yml","line":27,"fingerprint":"excessive-permissions:.github/workflows/claude.yml:27"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/claude.yml","line":28,"fingerprint":"excessive-permissions:.github/workflows/claude.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":104,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:104"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":111,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:111"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":304,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:304"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":380,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:380"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/deploy-website.yml","line":22,"fingerprint":"excessive-permissions:.github/workflows/deploy-website.yml:22"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/deploy-website.yml","line":23,"fingerprint":"excessive-permissions:.github/workflows/deploy-website.yml:23"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/deploy-website.yml","line":35,"fingerprint":"unpinned-uses:.github/workflows/deploy-website.yml:35"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/deploy-website.yml","line":40,"fingerprint":"unpinned-uses:.github/workflows/deploy-website.yml:40"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/deploy-website.yml","line":65,"fingerprint":"unpinned-uses:.github/workflows/deploy-website.yml:65"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/deploy-website.yml","line":68,"fingerprint":"unpinned-uses:.github/workflows/deploy-website.yml:68"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/deploy-website.yml","line":81,"fingerprint":"unpinned-uses:.github/workflows/deploy-website.yml:81"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/gate-liveness.yml","line":49,"fingerprint":"unpinned-uses:.github/workflows/gate-liveness.yml:49"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/gate-liveness.yml","line":50,"fingerprint":"unpinned-uses:.github/workflows/gate-liveness.yml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":95,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:95"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":103,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:103"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":141,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:141"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":151,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:151"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":155,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:155"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/mutation.yml","line":168,"fingerprint":"unpinned-uses:.github/workflows/mutation.yml:168"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pdf-smoke.yml","line":58,"fingerprint":"unpinned-uses:.github/workflows/pdf-smoke.yml:58"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pdf-smoke.yml","line":119,"fingerprint":"unpinned-uses:.github/workflows/pdf-smoke.yml:119"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release-smoke.yml","line":35,"fingerprint":"unpinned-uses:.github/workflows/release-smoke.yml:35"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":16,"fingerprint":"excessive-permissions:.github/workflows/release.yml:16"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":17,"fingerprint":"excessive-permissions:.github/workflows/release.yml:17"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/release.yml","line":36,"fingerprint":"template-injection:.github/workflows/release.yml:36"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":28,"fingerprint":"unpinned-uses:.github/workflows/release.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":124,"fingerprint":"unpinned-uses:.github/workflows/release.yml:124"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":127,"fingerprint":"unpinned-uses:.github/workflows/release.yml:127"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":139,"fingerprint":"unpinned-uses:.github/workflows/release.yml:139"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":127,"fingerprint":"cache-poisoning:.github/workflows/release.yml:127"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":139,"fingerprint":"cache-poisoning:.github/workflows/release.yml:139"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rust-cache-warm.yml","line":56,"fingerprint":"unpinned-uses:.github/workflows/rust-cache-warm.yml:56"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rust-coverage.yml","line":31,"fingerprint":"unpinned-uses:.github/workflows/rust-coverage.yml:31"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rust-coverage.yml","line":40,"fingerprint":"unpinned-uses:.github/workflows/rust-coverage.yml:40"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rust-coverage.yml","line":64,"fingerprint":"unpinned-uses:.github/workflows/rust-coverage.yml:64"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rust-scheduled.yml","line":61,"fingerprint":"unpinned-uses:.github/workflows/rust-scheduled.yml:61"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/soak.yml","line":27,"fingerprint":"unpinned-uses:.github/workflows/soak.yml:27"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/soak.yml","line":29,"fingerprint":"unpinned-uses:.github/workflows/soak.yml:29"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/soak.yml","line":51,"fingerprint":"unpinned-uses:.github/workflows/soak.yml:51"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/tier0-e2e.yml","line":84,"fingerprint":"unpinned-uses:.github/workflows/tier0-e2e.yml:84"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/tier0-e2e.yml","line":100,"fingerprint":"unpinned-uses:.github/workflows/tier0-e2e.yml:100"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/tier0-e2e.yml","line":111,"fingerprint":"unpinned-uses:.github/workflows/tier0-e2e.yml:111"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/tier0-e2e.yml","line":208,"fingerprint":"unpinned-uses:.github/workflows/tier0-e2e.yml:208"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-homebrew.yml","line":31,"fingerprint":"unpinned-uses:.github/workflows/update-homebrew.yml:31"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-homebrew.yml","line":116,"fingerprint":"unpinned-uses:.github/workflows/update-homebrew.yml:116"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":48,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:48"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":64,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:64"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":73,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:73"},{"rule_id":"zizmor/template-injection","severity":"medium","message":"code injection via template expansion [confidence medium]","path":".github/workflows/claude.yml","line":206,"fingerprint":"template-injection:.github/workflows/claude.yml:206"},{"rule_id":"zizmor/template-injection","severity":"medium","message":"code injection via template expansion [confidence medium]","path":".github/workflows/claude.yml","line":207,"fingerprint":"template-injection:.github/workflows/claude.yml:207"},{"rule_id":"zizmor/template-injection","severity":"medium","message":"code injection via template expansion [confidence medium]","path":".github/workflows/claude.yml","line":216,"fingerprint":"template-injection:.github/workflows/claude.yml:216"},{"rule_id":"zizmor/template-injection","severity":"medium","message":"code injection via template expansion [confidence medium]","path":".github/workflows/claude.yml","line":221,"fingerprint":"template-injection:.github/workflows/claude.yml:221"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/soak.yml","line":23,"fingerprint":"excessive-permissions:.github/workflows/soak.yml:23"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/baseline-review.yml","line":58,"fingerprint":"artipacked:.github/workflows/baseline-review.yml:58"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":63,"fingerprint":"artipacked:.github/workflows/ci.yml:63"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":118,"fingerprint":"artipacked:.github/workflows/ci.yml:118"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":176,"fingerprint":"artipacked:.github/workflows/ci.yml:176"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":199,"fingerprint":"artipacked:.github/workflows/ci.yml:199"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":212,"fingerprint":"artipacked:.github/workflows/ci.yml:212"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":230,"fingerprint":"artipacked:.github/workflows/ci.yml:230"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":305,"fingerprint":"artipacked:.github/workflows/ci.yml:305"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":352,"fingerprint":"artipacked:.github/workflows/ci.yml:352"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":394,"fingerprint":"artipacked:.github/workflows/ci.yml:394"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":499,"fingerprint":"artipacked:.github/workflows/ci.yml:499"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":68,"fingerprint":"self-repository:.github/workflows/ci.yml:68"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":119,"fingerprint":"self-repository:.github/workflows/ci.yml:119"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":177,"fingerprint":"self-repository:.github/workflows/ci.yml:177"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":200,"fingerprint":"self-repository:.github/workflows/ci.yml:200"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":213,"fingerprint":"self-repository:.github/workflows/ci.yml:213"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/ci.yml","line":396,"fingerprint":"self-repository:.github/workflows/ci.yml:396"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude-audit.yml","line":30,"fingerprint":"artipacked:.github/workflows/claude-audit.yml:30"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude-cost-report.yml","line":28,"fingerprint":"artipacked:.github/workflows/claude-cost-report.yml:28"},{"rule_id":"zizmor/template-injection","severity":"low","message":"code injection via template expansion [confidence high]","path":".github/workflows/claude-cost-report.yml","line":179,"fingerprint":"template-injection:.github/workflows/claude-cost-report.yml:179"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude.yml","line":104,"fingerprint":"artipacked:.github/workflows/claude.yml:104"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude.yml","line":304,"fingerprint":"artipacked:.github/workflows/claude.yml:304"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude.yml","line":380,"fingerprint":"artipacked:.github/workflows/claude.yml:380"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/claude.yml","line":120,"fingerprint":"self-repository:.github/workflows/claude.yml:120"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/deploy-website.yml","line":34,"fingerprint":"artipacked:.github/workflows/deploy-website.yml:34"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/gate-liveness.yml","line":49,"fingerprint":"artipacked:.github/workflows/gate-liveness.yml:49"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/mutation.yml","line":95,"fingerprint":"artipacked:.github/workflows/mutation.yml:95"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/mutation.yml","line":151,"fingerprint":"artipacked:.github/workflows/mutation.yml:151"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/mutation.yml","line":97,"fingerprint":"self-repository:.github/workflows/mutation.yml:97"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pdf-smoke.yml","line":58,"fingerprint":"artipacked:.github/workflows/pdf-smoke.yml:58"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/pdf-smoke.yml","line":60,"fingerprint":"self-repository:.github/workflows/pdf-smoke.yml:60"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release-smoke.yml","line":35,"fingerprint":"artipacked:.github/workflows/release-smoke.yml:35"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":27,"fingerprint":"artipacked:.github/workflows/release.yml:27"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":123,"fingerprint":"artipacked:.github/workflows/release.yml:123"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/release.yml","line":173,"fingerprint":"self-repository:.github/workflows/release.yml:173"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/rust-cache-warm.yml","line":56,"fingerprint":"artipacked:.github/workflows/rust-cache-warm.yml:56"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/rust-cache-warm.yml","line":58,"fingerprint":"self-repository:.github/workflows/rust-cache-warm.yml:58"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/rust-coverage.yml","line":31,"fingerprint":"artipacked:.github/workflows/rust-coverage.yml:31"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/rust-coverage.yml","line":33,"fingerprint":"self-repository:.github/workflows/rust-coverage.yml:33"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/rust-scheduled.yml","line":61,"fingerprint":"artipacked:.github/workflows/rust-scheduled.yml:61"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/rust-scheduled.yml","line":63,"fingerprint":"self-repository:.github/workflows/rust-scheduled.yml:63"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/soak.yml","line":27,"fingerprint":"artipacked:.github/workflows/soak.yml:27"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/tier0-e2e.yml","line":84,"fingerprint":"artipacked:.github/workflows/tier0-e2e.yml:84"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/tier0-e2e.yml","line":86,"fingerprint":"self-repository:.github/workflows/tier0-e2e.yml:86"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/update-homebrew.yml","line":30,"fingerprint":"artipacked:.github/workflows/update-homebrew.yml:30"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/update-homebrew.yml","line":115,"fingerprint":"artipacked:.github/workflows/update-homebrew.yml:115"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":405,"fingerprint":"template-injection:.github/workflows/release.yml:405"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":537,"fingerprint":"template-injection:.github/workflows/release.yml:537"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":540,"fingerprint":"template-injection:.github/workflows/release.yml:540"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":87,"fingerprint":"superfluous-actions:.github/workflows/release.yml:87"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":1.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.025,"unpinned_manifests":4.0},"findings":[],"evidence":[{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0},{"kind":"posture","description":"server/content/package.json has no lockfile alongside it (unpinned dependencies)","ref":"server/content/package.json","url":null,"weight":0.3},{"kind":"posture","description":"server/mcp/package.json has no lockfile alongside it (unpinned dependencies)","ref":"server/mcp/package.json","url":null,"weight":0.3},{"kind":"posture","description":"src-tauri/fuzz/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"src-tauri/fuzz/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"website/package.json has no lockfile alongside it (unpinned dependencies)","ref":"website/package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":15749.0,"function_nloc":158959.0,"mean_ccn":2.86,"p90_ccn":6.0,"complex_functions":231.0,"long_functions":75.0,"many_param_functions":14.0,"risky_nloc_share":0.1273},"findings":[],"evidence":[{"kind":"complex-function","description":"performWysiwygToolbarAction in src/plugins/toolbarActions/wysiwygAdapter.ts: complexity 139, 174 lines","ref":"src/plugins/toolbarActions/wysiwygAdapter.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/plugins/toolbarActions/wysiwygAdapter.ts#L87","weight":1.0},{"kind":"complex-function","description":"runBrowserAction in server/mcp/src/tools/browserActions.ts: complexity 90, 201 lines","ref":"server/mcp/src/tools/browserActions.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/server/mcp/src/tools/browserActions.ts#L20","weight":1.0},{"kind":"complex-function","description":"performSourceToolbarAction in src/plugins/toolbarActions/sourceAdapter.ts: complexity 88, 154 lines","ref":"src/plugins/toolbarActions/sourceAdapter.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/plugins/toolbarActions/sourceAdapter.ts#L66","weight":1.0},{"kind":"complex-function","description":"manualChunks in scripts/manualChunks.ts: complexity 53, 72 lines","ref":"scripts/manualChunks.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/scripts/manualChunks.ts#L12","weight":0.8833333333333333},{"kind":"complex-function","description":"typed in src-tauri/src/coherence/envelope_typed.rs: complexity 52, 166 lines","ref":"src-tauri/src/coherence/envelope_typed.rs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/coherence/envelope_typed.rs#L22","weight":0.8666666666666667},{"kind":"complex-function","description":"scan_workspace_locked in src-tauri/src/coherence/scan.rs: complexity 52, 153 lines","ref":"src-tauri/src/coherence/scan.rs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src-tauri/src/coherence/scan.rs#L81","weight":0.8666666666666667},{"kind":"complex-function","description":"(anonymous) in server/mcp/src/tools/browserRead.ts: complexity 50, 120 lines","ref":"server/mcp/src/tools/browserRead.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/server/mcp/src/tools/browserRead.ts#L117","weight":0.8333333333333334},{"kind":"complex-function","description":"(anonymous) in src/components/Terminal/terminalKeyHandler.ts: complexity 48, 105 lines","ref":"src/components/Terminal/terminalKeyHandler.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/components/Terminal/terminalKeyHandler.ts#L88","weight":0.8},{"kind":"complex-function","description":"parseWorkflow in src/lib/workflow/parser.ts: complexity 48, 128 lines","ref":"src/lib/workflow/parser.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/lib/workflow/parser.ts#L247","weight":0.8},{"kind":"complex-function","description":"applyOne in src/lib/ghaWorkflow/save/previewIR.ts: complexity 41, 101 lines","ref":"src/lib/ghaWorkflow/save/previewIR.ts","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/src/lib/ghaWorkflow/save/previewIR.ts#L65","weight":0.6833333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":231955.0,"duplicated_lines":7540.0,"duplicated_share":0.0325,"files":2231.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/07-find-bar.mjs:12 and e2e/journeys/08-outline-toggle.mjs:13","ref":"e2e/journeys/07-find-bar.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/07-find-bar.mjs#L12","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/09-open-from-disk.mjs:27 and e2e/journeys/21-external-change-reloads-clean-doc.mjs:45","ref":"e2e/journeys/09-open-from-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/09-open-from-disk.mjs#L27","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/09-open-from-disk.mjs:29 and e2e/journeys/15-dirty-file-close-guard.mjs:30","ref":"e2e/journeys/09-open-from-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/09-open-from-disk.mjs#L29","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/09-open-from-disk.mjs:31 and e2e/journeys/12-nonmd-format-dispatch.mjs:25","ref":"e2e/journeys/09-open-from-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/09-open-from-disk.mjs#L31","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/09-open-from-disk.mjs:39 and e2e/journeys/10-save-to-disk.mjs:37","ref":"e2e/journeys/09-open-from-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/09-open-from-disk.mjs#L39","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/10-save-to-disk.mjs:21 and e2e/journeys/25-editor-ime-composition.mjs:22","ref":"e2e/journeys/10-save-to-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/10-save-to-disk.mjs#L21","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/10-save-to-disk.mjs:23 and e2e/journeys/14-multi-doc-save-integrity.mjs:29","ref":"e2e/journeys/10-save-to-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/10-save-to-disk.mjs#L23","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/10-save-to-disk.mjs:50 and e2e/journeys/16-autosave-persists-to-disk.mjs:85","ref":"e2e/journeys/10-save-to-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/10-save-to-disk.mjs#L50","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/10-save-to-disk.mjs:60 and e2e/journeys/15-dirty-file-close-guard.mjs:61","ref":"e2e/journeys/10-save-to-disk.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/10-save-to-disk.mjs#L60","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: e2e/journeys/12-nonmd-format-dispatch.mjs:22 and e2e/journeys/13-workflow-split-pane.mjs:21","ref":"e2e/journeys/12-nonmd-format-dispatch.mjs","url":"https://github.com/Tyche-MKR/vmark/blob/b6ffc7e1e81044fe97b5982a11d00214d4f59721/e2e/journeys/12-nonmd-format-dispatch.mjs#L22","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":274.0,"weighted_findings":95.25,"scanned_lines":322817.0,"category:best-practice":23.0,"category:correctness":251.0},"findings":[{"rule_id":"opengrep/typescript.lang.correctness.useless-ternary","severity":"high","message":"It looks like no matter how tabIdArg === undefined is evaluated, this expression returns \"TAB_NOT_FOUND\". This is probably a copy-paste error.","path":"src/services/mcpBridge/v2/browserNavigation.ts","line":218,"fingerprint":"typescript.lang.correctness.useless-ternary:src/services/mcpBridge/v2/browserNavigation.ts:218"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"e2e/journeys/31-browser-no-bridge.mjs","line":96,"fingerprint":"javascript.lang.correctness.no-stringify-keys:e2e/journeys/31-browser-no-bridge.mjs:96"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"e2e/journeys/31-browser-no-bridge.mjs","line":98,"fingerprint":"javascript.lang.correctness.no-stringify-keys:e2e/journeys/31-browser-no-bridge.mjs:98"},{"rule_id":"opengrep/javascript.lang.correctness.no-replaceall","severity":"medium","message":"The string method replaceAll is not supported in all versions of javascript, and is not supported by older browser versions. Consider using replace() with a regex as the first argument instead like mystring.replace(/bad/g, \"good\") instead of mystring.replaceAll(\"bad\", \"good\") (https://discourse.thre","path":"e2e/run-ime.mjs","line":88,"fingerprint":"javascript.lang.correctness.no-replaceall:e2e/run-ime.mjs:88"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"scripts/baselineRatchetSpecLedgers.mjs","line":53,"fingerprint":"javascript.lang.correctness.no-stringify-keys:scripts/baselineRatchetSpecLedgers.mjs:53"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"scripts/baselineRatchetSpecLedgers.mjs","line":54,"fingerprint":"javascript.lang.correctness.no-stringify-keys:scripts/baselineRatchetSpecLedgers.mjs:54"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"scripts/build-translation-tasks.mjs","line":113,"fingerprint":"javascript.lang.correctness.no-stringify-keys:scripts/build-translation-tasks.mjs:113"},{"rule_id":"opengrep/javascript.lang.correctness.no-replaceall","severity":"medium","message":"The string method replaceAll is not supported in all versions of javascript, and is not supported by older browser versions. Consider using replace() with a regex as the first argument instead like mystring.replace(/bad/g, \"good\") instead of mystring.replaceAll(\"bad\", \"good\") (https://discourse.thre","path":"scripts/vendor-spec-corpus.mjs","line":81,"fingerprint":"javascript.lang.correctness.no-replaceall:scripts/vendor-spec-corpus.mjs:81"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/components/BreakdownPanel/useLazyResource.ts","line":46,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/components/BreakdownPanel/useLazyResource.ts:46"},{"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":"src/components/Editor/EditorContextMenu/MenuItems.tsx","line":86,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Editor/EditorContextMenu/MenuItems.tsx:86"},{"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":"src/components/Editor/ImageContextMenu.tsx","line":156,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Editor/ImageContextMenu.tsx:156"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/components/Editor/WorkflowEditor/useActionMetadata.ts","line":98,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/components/Editor/WorkflowEditor/useActionMetadata.ts:98"},{"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":"src/components/Editor/WorkflowPanel/WorkflowCanvas.tsx","line":53,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Editor/WorkflowPanel/WorkflowCanvas.tsx:53"},{"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":"src/components/Editor/WorkflowPanel/WorkflowCanvasInner.tsx","line":91,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Editor/WorkflowPanel/WorkflowCanvasInner.tsx:91"},{"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":"src/components/RetryableLazy.tsx","line":87,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/RetryableLazy.tsx:87"},{"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":"src/components/Sidebar/FileExplorer/ContextMenu.tsx","line":253,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Sidebar/FileExplorer/ContextMenu.tsx:253"},{"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":"src/components/Sidebar/FileExplorer/useTreeWiring.tsx","line":60,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Sidebar/FileExplorer/useTreeWiring.tsx:60"},{"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":"src/components/Tabs/Tab.tsx","line":178,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Tabs/Tab.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":"src/components/Terminal/TerminalContextMenu.tsx","line":246,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/Terminal/TerminalContextMenu.tsx:246"},{"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":"src/components/TitleBar/TitleBar.tsx","line":80,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/TitleBar/TitleBar.tsx:80"},{"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":"src/components/TitleBar/TitleBar.tsx","line":209,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/TitleBar/TitleBar.tsx:209"},{"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":"src/components/shared/TabStripButton.tsx","line":38,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/shared/TabStripButton.tsx:38"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/lib/formats/adapters/useHtmlTrust.ts","line":54,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/lib/formats/adapters/useHtmlTrust.ts:54"},{"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":"src/pages/settings/GithubMark.tsx","line":14,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/GithubMark.tsx:14"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"src/pages/settings/ShortcutsSettings.tsx","line":99,"fingerprint":"javascript.lang.best-practice.javascript-alert:src/pages/settings/ShortcutsSettings.tsx:99"},{"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":"src/pages/settings/buttons.tsx","line":74,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/buttons.tsx:74"},{"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":"src/pages/settings/inputs.tsx","line":33,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/inputs.tsx:33"},{"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":"src/pages/settings/inputs.tsx","line":66,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/inputs.tsx:66"},{"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":"src/pages/settings/inputs.tsx","line":158,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/inputs.tsx:158"},{"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":"src/pages/settings/inputs.tsx","line":218,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/settings/inputs.tsx:218"},{"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":"src/plugins/workflowPreview/WorkflowPreview.tsx","line":137,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/plugins/workflowPreview/WorkflowPreview.tsx:137"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/stores/persistedListMerge.ts","line":121,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/stores/persistedListMerge.ts:121"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/stores/persistedListMerge.ts","line":121,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/stores/persistedListMerge.ts:121"},{"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":"e2e/journeys/01-boot-editor-ready.mjs","line":81,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/01-boot-editor-ready.mjs:81"},{"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":"e2e/journeys/01-boot-editor-ready.mjs","line":81,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/01-boot-editor-ready.mjs:81"},{"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":"e2e/journeys/07-find-bar.mjs","line":39,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/07-find-bar.mjs:39"},{"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":"e2e/journeys/07-find-bar.mjs","line":39,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/07-find-bar.mjs:39"},{"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":"e2e/journeys/07-find-bar.mjs","line":71,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/07-find-bar.mjs:71"},{"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":"e2e/journeys/07-find-bar.mjs","line":71,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/07-find-bar.mjs:71"},{"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":"e2e/journeys/12-nonmd-format-dispatch.mjs","line":69,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/12-nonmd-format-dispatch.mjs:69"},{"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":"e2e/journeys/12-nonmd-format-dispatch.mjs","line":69,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/12-nonmd-format-dispatch.mjs:69"},{"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":"e2e/journeys/13-workflow-split-pane.mjs","line":77,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/13-workflow-split-pane.mjs:77"},{"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":"e2e/journeys/13-workflow-split-pane.mjs","line":77,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/13-workflow-split-pane.mjs:77"},{"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":"e2e/journeys/22-browser-tab-lifecycle.mjs","line":51,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/22-browser-tab-lifecycle.mjs:51"},{"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":"e2e/journeys/22-browser-tab-lifecycle.mjs","line":51,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/22-browser-tab-lifecycle.mjs:51"},{"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":"e2e/journeys/22-browser-tab-lifecycle.mjs","line":64,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/22-browser-tab-lifecycle.mjs:64"},{"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":"e2e/journeys/22-browser-tab-lifecycle.mjs","line":64,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/22-browser-tab-lifecycle.mjs:64"},{"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":"e2e/journeys/22-browser-tab-lifecycle.mjs","line":130,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/22-browser-tab-lifecycle.mjs:130"},{"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":"e2e/journeys/23-browser-chrome-controls.mjs","line":31,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/23-browser-chrome-controls.mjs:31"},{"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":"e2e/journeys/23-browser-chrome-controls.mjs","line":31,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/23-browser-chrome-controls.mjs:31"},{"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":"e2e/journeys/23-browser-chrome-controls.mjs","line":49,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/23-browser-chrome-controls.mjs:49"},{"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":"e2e/journeys/23-browser-chrome-controls.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/23-browser-chrome-controls.mjs:149"},{"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":"e2e/journeys/23-browser-chrome-controls.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/23-browser-chrome-controls.mjs:149"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":101,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:101"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":131,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:131"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":131,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:131"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:149"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:149"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":166,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:166"},{"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":"e2e/journeys/24-browser-occlusion.mjs","line":166,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/24-browser-occlusion.mjs:166"},{"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":"e2e/journeys/25-editor-ime-composition.mjs","line":43,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/25-editor-ime-composition.mjs:43"},{"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":"e2e/journeys/25-editor-ime-composition.mjs","line":43,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/25-editor-ime-composition.mjs:43"},{"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":"e2e/journeys/25-editor-ime-composition.mjs","line":48,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/25-editor-ime-composition.mjs: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":"e2e/journeys/25-editor-ime-composition.mjs","line":94,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/25-editor-ime-composition.mjs:94"},{"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":"e2e/journeys/25-editor-ime-composition.mjs","line":94,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/25-editor-ime-composition.mjs:94"},{"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":"e2e/journeys/31-browser-no-bridge.mjs","line":80,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/31-browser-no-bridge.mjs:80"},{"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":"e2e/journeys/34-browser-session-roundtrip.mjs","line":251,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/journeys/34-browser-session-roundtrip.mjs:251"},{"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":"e2e/lib/browser.mjs","line":30,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:30"},{"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":"e2e/lib/browser.mjs","line":30,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:30"},{"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":"e2e/lib/browser.mjs","line":50,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:50"},{"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":"e2e/lib/browser.mjs","line":54,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:54"},{"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":"e2e/lib/browser.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:149"},{"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":"e2e/lib/browser.mjs","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:149"},{"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":"e2e/lib/browser.mjs","line":181,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:181"},{"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":"e2e/lib/browser.mjs","line":181,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:181"},{"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":"e2e/lib/browser.mjs","line":242,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:242"},{"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":"e2e/lib/browser.mjs","line":242,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:242"},{"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":"e2e/lib/browser.mjs","line":262,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:262"},{"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":"e2e/lib/browser.mjs","line":262,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:262"},{"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":"e2e/lib/browser.mjs","line":300,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:300"},{"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":"e2e/lib/browser.mjs","line":329,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:329"},{"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":"e2e/lib/browser.mjs","line":346,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browser.mjs:346"},{"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":"e2e/lib/browserApproval.mjs","line":40,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browserApproval.mjs:40"},{"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":"e2e/lib/browserApproval.mjs","line":99,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browserApproval.mjs:99"},{"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":"e2e/lib/browserApproval.mjs","line":127,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browserApproval.mjs:127"},{"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":"e2e/lib/browserApproval.mjs","line":127,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/browserApproval.mjs:127"},{"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":"e2e/lib/disk.mjs","line":46,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/disk.mjs:46"},{"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":"e2e/lib/disk.mjs","line":46,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/disk.mjs:46"},{"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":"e2e/lib/fixtureServer.mjs","line":29,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:29"},{"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":"e2e/lib/fixtureServer.mjs","line":29,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:29"},{"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":"e2e/lib/fixtureServer.mjs","line":44,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:44"},{"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":"e2e/lib/fixtureServer.mjs","line":44,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:44"},{"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":"e2e/lib/fixtureServer.mjs","line":58,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:58"},{"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":"e2e/lib/fixtureServer.mjs","line":58,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/fixtureServer.mjs:58"},{"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":"e2e/lib/terminal.mjs","line":63,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/terminal.mjs:63"},{"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":"e2e/lib/terminal.mjs","line":63,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/terminal.mjs:63"},{"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":"e2e/lib/terminal.mjs","line":75,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/terminal.mjs: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":"e2e/lib/terminal.mjs","line":75,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/terminal.mjs: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":"e2e/lib/vmark.mjs","line":99,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:99"},{"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":"e2e/lib/vmark.mjs","line":99,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:99"},{"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":"e2e/lib/vmark.mjs","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:116"},{"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":"e2e/lib/vmark.mjs","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:116"},{"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":"e2e/lib/vmark.mjs","line":157,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:157"},{"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":"e2e/lib/vmark.mjs","line":157,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:157"},{"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":"e2e/lib/vmark.mjs","line":174,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:174"},{"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":"e2e/lib/vmark.mjs","line":174,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:174"},{"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":"e2e/lib/vmark.mjs","line":458,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:458"},{"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":"e2e/lib/vmark.mjs","line":458,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:458"},{"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":"e2e/lib/vmark.mjs","line":510,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/lib/vmark.mjs:510"},{"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":"e2e/run-ime.mjs","line":180,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/run-ime.mjs:180"},{"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":"e2e/run-ime.mjs","line":180,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/run-ime.mjs:180"},{"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":"e2e/run-journeys.mjs","line":62,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/run-journeys.mjs:62"},{"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":"e2e/run-journeys.mjs","line":62,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/run-journeys.mjs:62"},{"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":"e2e/smoke.mjs","line":104,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/smoke.mjs:104"},{"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":"e2e/smoke.mjs","line":104,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:e2e/smoke.mjs:104"},{"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/bump-version.sh","line":25,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/bump-version.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":"scripts/bump-version.sh","line":26,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/bump-version.sh:26"},{"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/bump-version.sh","line":27,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/bump-version.sh:27"},{"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/bump-version.sh","line":30,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/bump-version.sh:30"},{"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/check-browser-phase.sh","line":249,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/check-browser-phase.sh:249"},{"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":"scripts/check-change-size.mjs","line":145,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-change-size.mjs:145"},{"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":"scripts/check-change-size.mjs","line":145,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-change-size.mjs:145"},{"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":"scripts/check-command-error-ratchet.mjs","line":512,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-command-error-ratchet.mjs:512"},{"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":"scripts/check-command-error-ratchet.mjs","line":512,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-command-error-ratchet.mjs:512"},{"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":"scripts/check-deleted-names.mjs","line":179,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-deleted-names.mjs:179"},{"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":"scripts/check-deleted-names.mjs","line":179,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-deleted-names.mjs:179"},{"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":"scripts/check-design-tokens.mjs","line":421,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-design-tokens.mjs:421"},{"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":"scripts/check-design-tokens.mjs","line":421,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-design-tokens.mjs:421"},{"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/check-followups-phase.sh","line":250,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/check-followups-phase.sh:250"},{"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":"scripts/check-gate-liveness.mjs","line":135,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-gate-liveness.mjs:135"},{"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":"scripts/check-gate-liveness.mjs","line":135,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-gate-liveness.mjs:135"},{"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":"scripts/check-i18n-keys.ts","line":512,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-i18n-keys.ts:512"},{"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":"scripts/check-i18n-keys.ts","line":512,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-i18n-keys.ts:512"},{"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":"scripts/check-mock-boundaries.mjs","line":238,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-mock-boundaries.mjs:238"},{"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":"scripts/check-mock-boundaries.mjs","line":238,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-mock-boundaries.mjs:238"},{"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/check-paydown-phase.sh","line":178,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/check-paydown-phase.sh:178"},{"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":"scripts/check-plugin-store-coupling.mjs","line":231,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-plugin-store-coupling.mjs:231"},{"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":"scripts/check-plugin-store-coupling.mjs","line":231,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-plugin-store-coupling.mjs:231"},{"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":"scripts/check-shell-slots.mjs","line":295,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-shell-slots.mjs:295"},{"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":"scripts/check-shell-slots.mjs","line":295,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-shell-slots.mjs:295"},{"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/check-slidev-kb-phase.sh","line":49,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/check-slidev-kb-phase.sh:49"},{"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":"scripts/check-test-timer-isolation.mjs","line":73,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-test-timer-isolation.mjs:73"},{"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":"scripts/check-test-timer-isolation.mjs","line":73,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-test-timer-isolation.mjs:73"},{"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":"scripts/check-theme-contrast.ts","line":317,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-theme-contrast.ts:317"},{"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":"scripts/check-theme-contrast.ts","line":317,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/check-theme-contrast.ts:317"},{"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":"scripts/propagate-rust-errors.mjs","line":23,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:23"},{"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":"scripts/propagate-rust-errors.mjs","line":23,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:23"},{"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":"scripts/propagate-rust-errors.mjs","line":84,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:84"},{"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":"scripts/propagate-rust-errors.mjs","line":84,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:84"},{"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":"scripts/propagate-rust-errors.mjs","line":145,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:145"},{"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":"scripts/propagate-rust-errors.mjs","line":145,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:145"},{"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":"scripts/propagate-rust-errors.mjs","line":206,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:206"},{"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":"scripts/propagate-rust-errors.mjs","line":206,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:206"},{"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":"scripts/propagate-rust-errors.mjs","line":267,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:267"},{"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":"scripts/propagate-rust-errors.mjs","line":267,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:267"},{"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":"scripts/propagate-rust-errors.mjs","line":328,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:328"},{"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":"scripts/propagate-rust-errors.mjs","line":328,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:328"},{"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":"scripts/propagate-rust-errors.mjs","line":389,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:389"},{"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":"scripts/propagate-rust-errors.mjs","line":389,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:389"},{"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":"scripts/propagate-rust-errors.mjs","line":450,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:450"},{"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":"scripts/propagate-rust-errors.mjs","line":450,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:450"},{"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":"scripts/propagate-rust-errors.mjs","line":511,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:511"},{"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":"scripts/propagate-rust-errors.mjs","line":511,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/propagate-rust-errors.mjs:511"},{"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":"scripts/translate.ts","line":140,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/translate.ts:140"},{"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":"scripts/translate.ts","line":140,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:scripts/translate.ts:140"},{"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":"server/content/src/server/assets.ts","line":13,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/content/src/server/assets.ts:13"},{"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":"server/content/src/server/assets.ts","line":13,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/content/src/server/assets.ts:13"},{"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":"server/content/src/server/assets.ts","line":28,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/content/src/server/assets.ts:28"},{"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":"server/content/src/server/assets.ts","line":28,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/content/src/server/assets.ts:28"},{"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":"server/mcp/src/instructions.ts","line":18,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/mcp/src/instructions.ts:18"},{"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":"server/mcp/src/instructions.ts","line":18,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:server/mcp/src/instructions.ts:18"},{"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":"src/components/BreakdownPanel/LogbookSection.tsx","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/BreakdownPanel/LogbookSection.tsx:116"},{"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":"src/components/BreakdownPanel/LogbookSection.tsx","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/BreakdownPanel/LogbookSection.tsx:116"},{"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":"src/components/Sidebar/FileExplorer/useExplorerOperations.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Sidebar/FileExplorer/useExplorerOperations.ts:149"},{"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":"src/components/Sidebar/FileExplorer/useExplorerOperations.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Sidebar/FileExplorer/useExplorerOperations.ts:149"},{"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":"src/components/Sidebar/FileExplorer/useExplorerOperations.ts","line":154,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Sidebar/FileExplorer/useExplorerOperations.ts:154"},{"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":"src/components/Sidebar/FileExplorer/useExplorerOperations.ts","line":154,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Sidebar/FileExplorer/useExplorerOperations.ts:154"},{"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":"src/components/Terminal/terminalMessages.ts","line":20,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Terminal/terminalMessages.ts:20"},{"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":"src/components/Terminal/terminalMessages.ts","line":20,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Terminal/terminalMessages.ts:20"},{"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":"src/components/Terminal/terminalMessages.ts","line":30,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Terminal/terminalMessages.ts:30"},{"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":"src/components/Terminal/terminalMessages.ts","line":30,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/Terminal/terminalMessages.ts:30"},{"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":"src/export/exportOverrides.ts","line":21,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/exportOverrides.ts:21"},{"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":"src/export/exportOverrides.ts","line":21,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/exportOverrides.ts:21"},{"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":"src/export/pdfHtmlTemplate.ts","line":209,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/pdfHtmlTemplate.ts:209"},{"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":"src/export/pdfPrintCss.ts","line":22,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/pdfPrintCss.ts: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":"src/export/pdfPrintCss.ts","line":22,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/pdfPrintCss.ts: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":"src/export/pdfPrintCss.ts","line":197,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/pdfPrintCss.ts:197"},{"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":"src/export/pdfPrintCss.ts","line":197,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/pdfPrintCss.ts:197"},{"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":"src/export/useExportOperations.ts","line":386,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/export/useExportOperations.ts:386"},{"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":"src/lib/browser/agent/actScript.ts","line":97,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/actScript.ts:97"},{"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":"src/lib/browser/agent/actScript.ts","line":97,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/actScript.ts:97"},{"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":"src/lib/browser/agent/actScript.ts","line":100,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/actScript.ts:100"},{"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":"src/lib/browser/agent/actScript.ts","line":100,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/actScript.ts:100"},{"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":"src/lib/browser/agent/agentLib.ts","line":19,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts:19"},{"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":"src/lib/browser/agent/agentLib.ts","line":19,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts:19"},{"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":"src/lib/browser/agent/agentLib.ts","line":48,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts: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":"src/lib/browser/agent/agentLib.ts","line":48,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts: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":"src/lib/browser/agent/agentLib.ts","line":93,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts:93"},{"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":"src/lib/browser/agent/agentLib.ts","line":93,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts:93"},{"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":"src/lib/browser/agent/agentLib.ts","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/lib/browser/agent/agentLib.ts:116"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":475272.0,"source_lines":322817.0,"test_ratio":1.4723,"ci_files":17.0,"cochange_share":0.5895,"cochange_commits":229.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/baseline-review.yml","ref":".github/workflows/baseline-review.yml","url":null,"weight":0.0},{"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/claude-audit.yml","ref":".github/workflows/claude-audit.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/claude-cost-report.yml","ref":".github/workflows/claude-cost-report.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/claude.yml","ref":".github/workflows/claude.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/deploy-website.yml","ref":".github/workflows/deploy-website.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/gate-liveness.yml","ref":".github/workflows/gate-liveness.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/mutation.yml","ref":".github/workflows/mutation.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/pdf-smoke.yml","ref":".github/workflows/pdf-smoke.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release-smoke.yml","ref":".github/workflows/release-smoke.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (npm test, pnpm test, go test, cargo test, vitest)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (clippy, rustfmt, cargo fmt)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["npm test","pnpm test","go test","cargo test","vitest"],"lint_commands":["clippy","rustfmt","cargo fmt"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":94.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.9992,"check:low_escape_density":1.0,"escapes":46.0,"escapes_per_kloc":0.202},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: server/content/tsconfig.json","ref":"server/content/tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":3301.0,"other_lines":212948.0,"files_blamed":1500.0,"blame_failures":0.0,"quality:ai_findings":2.0,"quality:ai_per_kloc":0.606,"quality:other_findings":139.0,"quality:other_per_kloc":0.653,"quality:ratio":0.93,"security:ai_findings":5.0,"security:ai_per_kloc":1.515,"security:other_findings":218.0,"security:other_per_kloc":1.024,"security:ratio":1.48},"findings":[],"evidence":[],"data":{"sampled":true,"comparable":true},"error":null}],"flags":[]}