{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:44:19.044914Z","repo":{"ref":{"host":"github.com","owner":"stardustai","name":"dataset-viewer"},"default_branch":"main","clone_url":"https://github.com/stardustai/dataset-viewer.git","html_url":"https://github.com/stardustai/dataset-viewer","description":"A sleek dataset viewer built entirely by AI Agent. Supports streaming large files from WebDAV, S3, SSH, Local or Hugging Face.","stars":1106,"forks":78,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":6959,"primary_language":"TypeScript","license_spdx":null,"created_at":"2025-07-23T11:08:36Z","pushed_at":"2026-03-28T10:03:05Z","security_policy_url":null,"distribution":{"owner_created_at":"2018-02-01T08:17:51Z","owner_type":"Organization","release_assets":[{"name":"Dataset.Viewer-1.6.4-1.x86_64.rpm","size":15080266,"download_count":28,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer-1.6.4-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.4_aarch64.dmg","size":15748933,"download_count":474,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.4_amd64.AppImage","size":101590208,"download_count":177,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.4_amd64.deb","size":15079560,"download_count":90,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_amd64.deb"},{"name":"Dataset.Viewer_1.6.4_x64.dmg","size":16742540,"download_count":103,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14242309,"download_count":20,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15281286,"download_count":28,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.4_x64-setup.exe","size":10767242,"download_count":1111,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/DatasetViewer_1.6.4_x64-setup.exe"},{"name":"DatasetViewer_1.6.4_x64_en-US.msi","size":14180352,"download_count":2693,"release_tag":"v1.6.4","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/DatasetViewer_1.6.4_x64_en-US.msi"},{"name":"Dataset.Viewer-1.6.3-1.x86_64.rpm","size":15080442,"download_count":15,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer-1.6.3-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.3_aarch64.dmg","size":15747427,"download_count":8,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_1.6.3_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.3_amd64.AppImage","size":101590208,"download_count":10,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_1.6.3_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.3_amd64.deb","size":15079698,"download_count":3,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_1.6.3_amd64.deb"},{"name":"Dataset.Viewer_1.6.3_x64.dmg","size":16736988,"download_count":7,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_1.6.3_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14241370,"download_count":3,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15277034,"download_count":2,"release_tag":"v1.6.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.3/Dataset.Viewer_x64.app.tar.gz"},{"name":"Dataset.Viewer-1.6.2-1.x86_64.rpm","size":15082428,"download_count":12,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer-1.6.2-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.2_aarch64.dmg","size":15746433,"download_count":20,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_1.6.2_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.2_amd64.AppImage","size":101594304,"download_count":8,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_1.6.2_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.2_amd64.deb","size":15080984,"download_count":2,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_1.6.2_amd64.deb"},{"name":"Dataset.Viewer_1.6.2_x64.dmg","size":16740613,"download_count":8,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_1.6.2_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14246304,"download_count":3,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15279132,"download_count":2,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.2_x64-setup.exe","size":10767745,"download_count":483,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/DatasetViewer_1.6.2_x64-setup.exe"},{"name":"DatasetViewer_1.6.2_x64_en-US.msi","size":14172160,"download_count":466,"release_tag":"v1.6.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.2/DatasetViewer_1.6.2_x64_en-US.msi"},{"name":"Dataset.Viewer-1.6.1-1.x86_64.rpm","size":15082793,"download_count":10,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer-1.6.1-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.1_aarch64.dmg","size":15741611,"download_count":57,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_1.6.1_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.1_amd64.AppImage","size":101590208,"download_count":11,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_1.6.1_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.1_amd64.deb","size":15081596,"download_count":5,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_1.6.1_amd64.deb"},{"name":"Dataset.Viewer_1.6.1_x64.dmg","size":16743908,"download_count":13,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_1.6.1_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14240204,"download_count":3,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15283167,"download_count":3,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.1_x64-setup.exe","size":10770231,"download_count":498,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/DatasetViewer_1.6.1_x64-setup.exe"},{"name":"DatasetViewer_1.6.1_x64_en-US.msi","size":14176256,"download_count":531,"release_tag":"v1.6.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.1/DatasetViewer_1.6.1_x64_en-US.msi"},{"name":"Dataset.Viewer-1.6.0-1.x86_64.rpm","size":15094783,"download_count":6,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer-1.6.0-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.0_aarch64.dmg","size":15761279,"download_count":13,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_1.6.0_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.0_amd64.AppImage","size":101602496,"download_count":10,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_1.6.0_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.0_amd64.deb","size":15094088,"download_count":4,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_1.6.0_amd64.deb"},{"name":"Dataset.Viewer_1.6.0_x64.dmg","size":16753681,"download_count":8,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_1.6.0_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14259540,"download_count":2,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15289997,"download_count":3,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.0_x64-setup.exe","size":10778961,"download_count":468,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/DatasetViewer_1.6.0_x64-setup.exe"},{"name":"DatasetViewer_1.6.0_x64_en-US.msi","size":14188544,"download_count":471,"release_tag":"v1.6.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0/DatasetViewer_1.6.0_x64_en-US.msi"},{"name":"Dataset.Viewer-1.6.0-beta.1-1.x86_64.rpm","size":15096362,"download_count":6,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer-1.6.0-beta.1-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.0-beta.1_aarch64.dmg","size":15754572,"download_count":27,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_1.6.0-beta.1_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.0-beta.1_amd64.AppImage","size":101606592,"download_count":8,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_1.6.0-beta.1_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.0-beta.1_amd64.deb","size":15095736,"download_count":2,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_1.6.0-beta.1_amd64.deb"},{"name":"Dataset.Viewer_1.6.0-beta.1_x64.dmg","size":16753944,"download_count":22,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_1.6.0-beta.1_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14254019,"download_count":2,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15288062,"download_count":2,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.0-1_x64-setup.exe","size":10776944,"download_count":2,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/DatasetViewer_1.6.0-1_x64-setup.exe"},{"name":"DatasetViewer_1.6.0-1_x64_en-US.msi","size":14188544,"download_count":6,"release_tag":"v1.6.0-beta.1","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.1/DatasetViewer_1.6.0-1_x64_en-US.msi"},{"name":"Dataset.Viewer-1.6.0-beta.0-1.x86_64.rpm","size":15091326,"download_count":5,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer-1.6.0-beta.0-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.6.0-beta.0_aarch64.dmg","size":15758734,"download_count":20,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_1.6.0-beta.0_aarch64.dmg"},{"name":"Dataset.Viewer_1.6.0-beta.0_amd64.AppImage","size":101602496,"download_count":9,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_1.6.0-beta.0_amd64.AppImage"},{"name":"Dataset.Viewer_1.6.0-beta.0_amd64.deb","size":15090808,"download_count":2,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_1.6.0-beta.0_amd64.deb"},{"name":"Dataset.Viewer_1.6.0-beta.0_x64.dmg","size":16751723,"download_count":9,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_1.6.0-beta.0_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14257225,"download_count":2,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15285505,"download_count":2,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.6.0-0_x64-setup.exe","size":10776922,"download_count":3,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/DatasetViewer_1.6.0-0_x64-setup.exe"},{"name":"DatasetViewer_1.6.0-0_x64_en-US.msi","size":14184448,"download_count":22,"release_tag":"v1.6.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.0-beta.0/DatasetViewer_1.6.0-0_x64_en-US.msi"},{"name":"Dataset.Viewer-1.5.0-1.x86_64.rpm","size":15036550,"download_count":6,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer-1.5.0-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.5.0_aarch64.dmg","size":15695490,"download_count":66,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_1.5.0_aarch64.dmg"},{"name":"Dataset.Viewer_1.5.0_amd64.AppImage","size":101541056,"download_count":12,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_1.5.0_amd64.AppImage"},{"name":"Dataset.Viewer_1.5.0_amd64.deb","size":15035744,"download_count":10,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_1.5.0_amd64.deb"},{"name":"Dataset.Viewer_1.5.0_x64.dmg","size":16693884,"download_count":17,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_1.5.0_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14192199,"download_count":5,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15227766,"download_count":5,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.5.0_x64-setup.exe","size":10711601,"download_count":495,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/DatasetViewer_1.5.0_x64-setup.exe"},{"name":"DatasetViewer_1.5.0_x64_en-US.msi","size":14127104,"download_count":558,"release_tag":"v1.5.0","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0/DatasetViewer_1.5.0_x64_en-US.msi"},{"name":"Dataset.Viewer-1.5.0-beta.3-1.x86_64.rpm","size":14949007,"download_count":3,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer-1.5.0-beta.3-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.5.0-beta.3_aarch64.dmg","size":15604332,"download_count":11,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_1.5.0-beta.3_aarch64.dmg"},{"name":"Dataset.Viewer_1.5.0-beta.3_amd64.AppImage","size":101455040,"download_count":6,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_1.5.0-beta.3_amd64.AppImage"},{"name":"Dataset.Viewer_1.5.0-beta.3_amd64.deb","size":14948538,"download_count":1,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_1.5.0-beta.3_amd64.deb"},{"name":"Dataset.Viewer_1.5.0-beta.3_x64.dmg","size":16611410,"download_count":11,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_1.5.0-beta.3_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14105169,"download_count":1,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15145534,"download_count":1,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.5.0-3_x64-setup.exe","size":10624124,"download_count":1,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/DatasetViewer_1.5.0-3_x64-setup.exe"},{"name":"DatasetViewer_1.5.0-3_x64_en-US.msi","size":14041088,"download_count":15,"release_tag":"v1.5.0-beta.3","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.3/DatasetViewer_1.5.0-3_x64_en-US.msi"},{"name":"Dataset.Viewer-1.5.0-beta.2-1.x86_64.rpm","size":14985760,"download_count":3,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer-1.5.0-beta.2-1.x86_64.rpm"},{"name":"Dataset.Viewer_1.5.0-beta.2_aarch64.dmg","size":15613304,"download_count":8,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_1.5.0-beta.2_aarch64.dmg"},{"name":"Dataset.Viewer_1.5.0-beta.2_amd64.AppImage","size":101479616,"download_count":10,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_1.5.0-beta.2_amd64.AppImage"},{"name":"Dataset.Viewer_1.5.0-beta.2_amd64.deb","size":14984994,"download_count":1,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_1.5.0-beta.2_amd64.deb"},{"name":"Dataset.Viewer_1.5.0-beta.2_x64.dmg","size":16604014,"download_count":6,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_1.5.0-beta.2_x64.dmg"},{"name":"Dataset.Viewer_aarch64.app.tar.gz","size":14112461,"download_count":1,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_aarch64.app.tar.gz"},{"name":"Dataset.Viewer_x64.app.tar.gz","size":15134438,"download_count":1,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/Dataset.Viewer_x64.app.tar.gz"},{"name":"DatasetViewer_1.5.0-2_x64-setup.exe","size":10625708,"download_count":2,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/DatasetViewer_1.5.0-2_x64-setup.exe"},{"name":"DatasetViewer_1.5.0-2_x64_en-US.msi","size":14028800,"download_count":8,"release_tag":"v1.5.0-beta.2","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.5.0-beta.2/DatasetViewer_1.5.0-2_x64_en-US.msi"}]}},"commit_sha":"47acb50658414581336580a57083ddc758ee4827","profile":{"lines_by_language":{"TypeScript":31010,"Rust":12653,"JavaScript":37},"files_by_category":{"source":207,"binary":24,"config":22,"docs":6,"other":6,"generated":4,"oversized":1},"source_lines":43700,"test_lines":0},"pillars":{"ai_provenance":{"score":7.5,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.0747,"suspected_share":0.1703,"estimated_share":0.0747,"ai_artifacts":1.0,"flagged_work_units":6.0,"flagged_releases":2.0},"summary":"Explicit AI attribution on 7% of first-party code added; an estimated 7% including velocity signals."},"quality":{"score":51.7,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":54.3,"duplication":58.1,"lint":95.0,"testing":15.0,"docs":40.0,"type_safety":100.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 20% of function code in complex or long functions; 9% duplicated lines. Weakest area: testing."},"security":{"score":47.6,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":100.0,"sast":88.2,"dependencies":0.0,"ci_actions":1.3,"posture":0.0,"scorecard":null},"summary":"Security posture is poor: 277 known vulnerabilities in 95 dependencies; 14 high-severity SAST findings; 22 high-severity workflow issues. Weakest area: dependencies."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":103.0,"checked":103.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":258.0,"attributed_commits":8.0,"attributed_commit_share":0.031007751937984496,"effective_loc":86774.0,"attributed_loc":6479.0,"attributed_loc_share":0.07466522230161109,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"GitHub Copilot coding agent: 8 attributed commits, 6,479 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"4a44f50ac3b159b66e99342de1cb541757dc0899","url":"https://github.com/stardustai/dataset-viewer/commit/4a44f50ac3b159b66e99342de1cb541757dc0899","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"259dbd1eea7a630e3040fa5f911b0a316e7f62f3","url":"https://github.com/stardustai/dataset-viewer/commit/259dbd1eea7a630e3040fa5f911b0a316e7f62f3","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"0b75a94cc78fd1c88ea8dc8cfc54e760e59d0f6a","url":"https://github.com/stardustai/dataset-viewer/commit/0b75a94cc78fd1c88ea8dc8cfc54e760e59d0f6a","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"7c6250d7997d91b4aeaefc0ab956ea8281b37b1d","url":"https://github.com/stardustai/dataset-viewer/commit/7c6250d7997d91b4aeaefc0ab956ea8281b37b1d","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"057f555d829e608e2d269f7a577478fed3fc848b","url":"https://github.com/stardustai/dataset-viewer/commit/057f555d829e608e2d269f7a577478fed3fc848b","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"f9a6a098cdb231022921f580b2c507a216c8adf0","url":"https://github.com/stardustai/dataset-viewer/commit/f9a6a098cdb231022921f580b2c507a216c8adf0","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"f9d0a932b7668356648342c756bf0efc14cdcad1","url":"https://github.com/stardustai/dataset-viewer/commit/f9d0a932b7668356648342c756bf0efc14cdcad1","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: author Copilot","ref":"8fa526cec705a1017ea19e2f52c68e0987b630d4","url":"https://github.com/stardustai/dataset-viewer/commit/8fa526cec705a1017ea19e2f52c68e0987b630d4","weight":0.9}],"data":{"attributed_loc_by_commit":{"8fa526cec705a1017ea19e2f52c68e0987b630d4":482,"f9d0a932b7668356648342c756bf0efc14cdcad1":237,"f9a6a098cdb231022921f580b2c507a216c8adf0":1340,"057f555d829e608e2d269f7a577478fed3fc848b":236,"7c6250d7997d91b4aeaefc0ab956ea8281b37b1d":3834,"0b75a94cc78fd1c88ea8dc8cfc54e760e59d0f6a":44,"259dbd1eea7a630e3040fa5f911b0a316e7f62f3":204,"4a44f50ac3b159b66e99342de1cb541757dc0899":102},"tools":{"github-copilot":{"name":"GitHub Copilot coding agent","commits":8,"loc":6479,"first_seen":1755788041,"last_seen":1760631552}},"monthly":{"2025-07":{"loc":35517,"attributed_loc":0},"2025-08":{"loc":30790,"attributed_loc":2059},"2025-09":{"loc":18284,"attributed_loc":4318},"2025-10":{"loc":2183,"attributed_loc":102}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1753189484.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".github/copilot-instructions.md (github-copilot configuration)","ref":".github/copilot-instructions.md","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/.github/copilot-instructions.md","weight":0.5}],"data":{"artifacts":[{"tool":"github-copilot","path":".github/copilot-instructions.md","added_at":1753189484}],"workflows":[],"tools":["github-copilot"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":115.0,"flagged_units":6.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":68645.0,"flagged_loc":14776.0,"flagged_loc_share":0.215252385461432,"max_loc_per_hour":6566.0,"median_loc_per_hour":124.83532704613458,"pr_timed_units":42.0,"excluded_import_loc":18129.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"3,283 lines of first-party code in ~0.5h (6,566 lines/hour, 1 commit session)","ref":"bd335a1965b6a99928d47521e62af4c9800d3031","url":"https://github.com/stardustai/dataset-viewer/commit/bd335a1965b6a99928d47521e62af4c9800d3031","weight":0.6},{"kind":"velocity-burst","description":"3,134 lines of first-party code in ~0.8h (3,948 lines/hour, 3 commit session)","ref":"67dc25aecac596ee9b778c789d0869ffec8ebb50","url":"https://github.com/stardustai/dataset-viewer/commit/67dc25aecac596ee9b778c789d0869ffec8ebb50","weight":0.6},{"kind":"velocity-burst","description":"1,962 lines of first-party code in ~0.5h (3,924 lines/hour, 1 commit session)","ref":"b670bc53cba50373183357ec0ae9fcebca1aa4e3","url":"https://github.com/stardustai/dataset-viewer/commit/b670bc53cba50373183357ec0ae9fcebca1aa4e3","weight":0.6},{"kind":"velocity-burst","description":"1,447 lines of first-party code in ~1.1h (1,322 lines/hour, PR #29)","ref":"f67c827b176d5586070aafce29c94b2e9a267348","url":"https://github.com/stardustai/dataset-viewer/commit/f67c827b176d5586070aafce29c94b2e9a267348","weight":0.39653894950520174},{"kind":"velocity-burst","description":"2,188 lines of first-party code in ~1.9h (1,179 lines/hour, 1 commit session)","ref":"4483af6659682addee30c189064f3679a169e854","url":"https://github.com/stardustai/dataset-viewer/commit/4483af6659682addee30c189064f3679a169e854","weight":0.35374850299401195},{"kind":"velocity-burst","description":"2,762 lines of first-party code in ~5.0h (556 lines/hour, PR #3)","ref":"94e2dbd767bc65fbbe99be709b980036e10e237e","url":"https://github.com/stardustai/dataset-viewer/commit/94e2dbd767bc65fbbe99be709b980036e10e237e","weight":0.1666923721709975}],"data":{"flagged_loc_by_commit":{"4483af6659682addee30c189064f3679a169e854":2188,"bd335a1965b6a99928d47521e62af4c9800d3031":3283,"b670bc53cba50373183357ec0ae9fcebca1aa4e3":1962,"e75b1c8d3ef88edc3d4f4791c4f3ac075ad25b5d":533,"022df7f5672af351966eaab33f6e11f71d8e2ae7":351,"67dc25aecac596ee9b778c789d0869ffec8ebb50":2250,"94e2dbd767bc65fbbe99be709b980036e10e237e":2762,"f67c827b176d5586070aafce29c94b2e9a267348":1447},"excluded_import_commits":["32418c9233ecddff7a26b7dd91a97ff63e017011","82ce5805c87369ca49e31f18ce06ea270a0b2c18","92beae8b0860e24eac6f8a35a72a42c7667d02b1"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":47.0,"flagged_releases":2.0,"max_loc_per_day":8340.9},"findings":[],"evidence":[{"kind":"release-burst","description":"v0.2.8 → v0.3.0: 10,935 lines in 1.52 days (7,194.4 lines/day)","ref":"v0.2.8...v0.3.0","url":"https://github.com/stardustai/dataset-viewer/compare/v0.2.8...v0.3.0","weight":0.4},{"kind":"release-burst","description":"v0.3.0 → v1.0.0-beta.0: 10,961 lines in 3.18 days (3,445.8 lines/day)","ref":"v0.3.0...v1.0.0-beta.0","url":"https://github.com/stardustai/dataset-viewer/compare/v0.3.0...v1.0.0-beta.0","weight":0.4}],"data":{"releases":[{"from":"v0.2.0","to":"v0.2.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.1","to":"v0.2.2","loc":1,"days":0.04,"loc_per_day":24.0,"flagged":false},{"from":"v0.2.2","to":"v0.2.3","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.3","to":"v0.2.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.4","to":"v0.2.5","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.5","to":"v0.2.6","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.6","to":"v0.2.7","loc":0,"days":0.08,"loc_per_day":0.0,"flagged":false},{"from":"v0.2.7","to":"v0.2.8","loc":92,"days":0.07,"loc_per_day":1301.8,"flagged":false},{"from":"v0.2.8","to":"v0.3.0","loc":10935,"days":1.52,"loc_per_day":7194.4,"flagged":true},{"from":"v0.3.0","to":"v1.0.0-beta.0","loc":10961,"days":3.18,"loc_per_day":3445.8,"flagged":true},{"from":"v1.0.0-beta.0","to":"v1.0.0-beta.1","loc":1741,"days":1.82,"loc_per_day":957.3,"flagged":false},{"from":"v1.0.0-beta.1","to":"v1.0.0-beta.2","loc":4134,"days":1.13,"loc_per_day":3661.3,"flagged":false},{"from":"v1.0.0-beta.2","to":"v1.0.0-beta.3","loc":360,"days":0.77,"loc_per_day":464.7,"flagged":false},{"from":"v1.0.0-beta.3","to":"v1.0.0-beta.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.0.0-beta.4","to":"v1.0.0-beta.5","loc":831,"days":0.15,"loc_per_day":5527.6,"flagged":false},{"from":"v1.0.0-beta.5","to":"v1.0.0-beta.6","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.0.0-beta.6","to":"v1.0.0-beta.7","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.0.0-beta.7","to":"v1.0.0-beta.8","loc":9,"days":0.12,"loc_per_day":74.3,"flagged":false},{"from":"v1.0.0-beta.8","to":"v1.0.0-beta.9","loc":1743,"days":2.2,"loc_per_day":791.1,"flagged":false},{"from":"v1.0.0-beta.9","to":"v1.0.0-beta.10","loc":416,"days":1.44,"loc_per_day":288.2,"flagged":false},{"from":"v1.0.0-beta.10","to":"v1.0.0","loc":0,"days":3.1,"loc_per_day":0.0,"flagged":false},{"from":"v1.0.0","to":"v1.1.0","loc":6378,"days":8.35,"loc_per_day":764.1,"flagged":false},{"from":"v1.1.0","to":"v1.1.1","loc":898,"days":0.11,"loc_per_day":8340.9,"flagged":false},{"from":"v1.1.1","to":"v1.1.2","loc":965,"days":1.34,"loc_per_day":720.9,"flagged":false},{"from":"v1.1.2","to":"v1.1.3","loc":963,"days":3.61,"loc_per_day":266.5,"flagged":false},{"from":"v1.1.3","to":"v1.1.4","loc":723,"days":1.98,"loc_per_day":365.0,"flagged":false},{"from":"v1.1.4","to":"v1.2.0","loc":3770,"days":1.79,"loc_per_day":2104.4,"flagged":false},{"from":"v1.2.0","to":"v1.2.1","loc":480,"days":0.7,"loc_per_day":689.9,"flagged":false},{"from":"v1.2.1","to":"v1.3.0","loc":4975,"days":2.36,"loc_per_day":2111.0,"flagged":false},{"from":"v1.3.0","to":"v1.3.1","loc":2010,"days":2.93,"loc_per_day":686.8,"flagged":false},{"from":"v1.3.1","to":"v1.3.2","loc":393,"days":3.75,"loc_per_day":104.9,"flagged":false},{"from":"v1.3.2","to":"v1.4.0-beta.0","loc":3969,"days":3.17,"loc_per_day":1253.0,"flagged":false},{"from":"v1.4.0-beta.0","to":"v1.4.0-beta.1","loc":579,"days":0.15,"loc_per_day":3875.9,"flagged":false},{"from":"v1.4.0-beta.1","to":"v1.4.0-beta.2","loc":215,"days":0.71,"loc_per_day":304.9,"flagged":false},{"from":"v1.4.0-beta.2","to":"v1.4.0","loc":97,"days":1.32,"loc_per_day":73.3,"flagged":false},{"from":"v1.4.0","to":"v1.5.0-beta.0","loc":0,"days":6.01,"loc_per_day":0.0,"flagged":false},{"from":"v1.5.0-beta.0","to":"v1.5.0-beta.1","loc":1139,"days":1.88,"loc_per_day":605.5,"flagged":false},{"from":"v1.5.0-beta.1","to":"v1.5.0-beta.2","loc":799,"days":1.09,"loc_per_day":730.4,"flagged":false},{"from":"v1.5.0-beta.2","to":"v1.5.0-beta.3","loc":45,"days":0.68,"loc_per_day":66.5,"flagged":false},{"from":"v1.5.0-beta.3","to":"v1.5.0","loc":204,"days":0.27,"loc_per_day":743.9,"flagged":false},{"from":"v1.5.0","to":"v1.6.0-beta.0","loc":3565,"days":3.92,"loc_per_day":909.4,"flagged":false},{"from":"v1.6.0-beta.0","to":"v1.6.0-beta.1","loc":28,"days":6.81,"loc_per_day":4.1,"flagged":false},{"from":"v1.6.0-beta.1","to":"v1.6.0","loc":1602,"days":0.3,"loc_per_day":5409.9,"flagged":false},{"from":"v1.6.0","to":"v1.6.1","loc":2030,"days":5.08,"loc_per_day":399.8,"flagged":false},{"from":"v1.6.1","to":"v1.6.2","loc":102,"days":11.16,"loc_per_day":9.1,"flagged":false},{"from":"v1.6.2","to":"v1.6.3","loc":30,"days":0.57,"loc_per_day":52.2,"flagged":false},{"from":"v1.6.3","to":"v1.6.4","loc":21,"days":0.04,"loc_per_day":504.0,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":43700.0,"index":0.995,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":87.0,"per_kloc:emoji_in_code":1.991,"files:emoji_in_code":16.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":52.0,"findings_high":14.0,"findings_medium":10.0,"findings_low":28.0,"weighted_findings":15.688,"scanned_lines":43700.0,"parse_errors":0.0},"findings":[{"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/components/FileViewer/common/UnifiedContentModal.tsx","line":175,"fingerprint":"javascript.browser.security.insecure-document-method:src/components/FileViewer/common/UnifiedContentModal.tsx:175"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/components/FileViewer/common/UnifiedContentModal.tsx","line":175,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/components/FileViewer/common/UnifiedContentModal.tsx:175"},{"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/components/FileViewer/viewers/PresentationViewer.tsx","line":122,"fingerprint":"javascript.browser.security.insecure-document-method:src/components/FileViewer/viewers/PresentationViewer.tsx:122"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `txt.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/components/FileViewer/viewers/PresentationViewer.tsx","line":122,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/components/FileViewer/viewers/PresentationViewer.tsx:122"},{"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/components/FileViewer/viewers/VirtualizedTextViewer.tsx","line":512,"fingerprint":"javascript.browser.security.insecure-document-method:src/components/FileViewer/viewers/VirtualizedTextViewer.tsx:512"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/components/FileViewer/viewers/VirtualizedTextViewer.tsx","line":512,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/components/FileViewer/viewers/VirtualizedTextViewer.tsx:512"},{"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/syntaxHighlighter.ts","line":186,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/syntaxHighlighter.ts:186"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/syntaxHighlighter.ts","line":186,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/syntaxHighlighter.ts:186"},{"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/syntaxHighlighter.ts","line":218,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/syntaxHighlighter.ts:218"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/syntaxHighlighter.ts","line":218,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/syntaxHighlighter.ts:218"},{"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/syntaxHighlighter.ts","line":294,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/syntaxHighlighter.ts:294"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/syntaxHighlighter.ts","line":294,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/syntaxHighlighter.ts:294"},{"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/syntaxHighlighter.ts","line":321,"fingerprint":"javascript.browser.security.insecure-document-method:src/utils/syntaxHighlighter.ts:321"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `tempContainer.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/utils/syntaxHighlighter.ts","line":321,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/utils/syntaxHighlighter.ts:321"},{"rule_id":"opengrep/rust.lang.security.insecure-hashes","severity":"medium","message":"Detected cryptographically insecure hashing function [confidence high]","path":"src-tauri/src/commands/plugin_installer.rs","line":92,"fingerprint":"rust.lang.security.insecure-hashes:src-tauri/src/commands/plugin_installer.rs:92"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `{\n  content,\n  fileName,\n  searchTerm,\n  className = '',\n}` 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 re [confidence low]","path":"src/components/FileViewer/common/UnifiedContentModal.tsx","line":199,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/components/FileViewer/common/UnifiedContentModal.tsx:199"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `searchTerm` 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-cont [confidence low]","path":"src/components/FileViewer/hooks/useFileLoader.ts","line":284,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/components/FileViewer/hooks/useFileLoader.ts:284"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `searchTerm` 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-cont [confidence low]","path":"src/components/FileViewer/hooks/useFileLoader.ts","line":309,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/components/FileViewer/hooks/useFileLoader.ts:309"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `term` 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/components/FileViewer/viewers/VirtualizedTextViewer.tsx","line":261,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/components/FileViewer/viewers/VirtualizedTextViewer.tsx:261"},{"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/utils/folding.ts","line":616,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/folding.ts:616"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `startLineIndex` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user- [confidence low]","path":"src/utils/folding.ts","line":616,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/utils/folding.ts:616"},{"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/syntaxHighlighter.ts","line":242,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/syntaxHighlighter.ts:242"},{"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/syntaxHighlighter.ts","line":248,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/syntaxHighlighter.ts: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":"src/utils/syntaxHighlighter.ts","line":276,"fingerprint":"javascript.lang.security.html-in-template-string:src/utils/syntaxHighlighter.ts:276"},{"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":"packages/sketch-plugin/src/SketchViewer.tsx","line":120,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:packages/sketch-plugin/src/SketchViewer.tsx:120"},{"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/lib.rs","line":178,"fingerprint":"rust.lang.security.args:src-tauri/src/lib.rs:178"},{"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/components/FileViewer/data-providers/ParquetDataProvider.ts","line":108,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/components/FileViewer/data-providers/ParquetDataProvider.ts:108"},{"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/services/folderDownloadService.ts","line":377,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/folderDownloadService.ts:377"},{"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/services/folderDownloadService.ts","line":500,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/folderDownloadService.ts:500"},{"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/services/plugin/pluginFramework.ts","line":177,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:177"},{"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/services/plugin/pluginFramework.ts","line":180,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:180"},{"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/services/plugin/pluginFramework.ts","line":183,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:183"},{"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/services/plugin/pluginFramework.ts","line":370,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:370"},{"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/services/plugin/pluginFramework.ts","line":438,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:438"},{"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/services/plugin/pluginFramework.ts","line":453,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:453"},{"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/services/plugin/pluginFramework.ts","line":532,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginFramework.ts:532"},{"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/services/plugin/pluginInitialization.ts","line":32,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginInitialization.ts:32"},{"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/services/plugin/pluginManager.ts","line":50,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginManager.ts:50"},{"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/services/plugin/pluginManager.ts","line":101,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginManager.ts:101"},{"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/services/plugin/pluginManager.ts","line":153,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/plugin/pluginManager.ts:153"},{"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/services/storage/StorageClient.ts","line":217,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:217"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"src/services/storage/StorageClient.ts","line":264,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:264"},{"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/services/storage/StorageClient.ts","line":287,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:287"},{"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/services/storage/StorageClient.ts","line":314,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:314"},{"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/services/storage/StorageClient.ts","line":331,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:331"},{"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/services/storage/StorageClient.ts","line":344,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:344"},{"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/services/storage/StorageClient.ts","line":462,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:462"},{"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/services/storage/StorageClient.ts","line":470,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:470"},{"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/services/storage/StorageClient.ts","line":555,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:555"},{"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/services/storage/StorageClient.ts","line":615,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:615"},{"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/services/storage/StorageClient.ts","line":634,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/storage/StorageClient.ts:634"},{"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/fileTypes.ts","line":157,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/utils/fileTypes.ts:157"}],"evidence":[],"data":{"rulesets":["typescript","javascript","rust"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":95.0,"vulnerabilities":277.0,"vulns_critical":3.0,"vulns_high":106.0,"vulns_medium":83.0,"vulns_low":23.0,"vulns_unknown":62.0,"penalty":520.0},"findings":[{"rule_id":"osv/GHSA-23hp-3jrh-7fpw","severity":"critical","message":"tar@6.2.1 (npm) is affected by GHSA-23hp-3jrh-7fpw","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-23hp-3jrh-7fpw"},{"rule_id":"osv/RUSTSEC-2026-0369","severity":"critical","message":"zip@0.6.6 (crates.io) is affected by RUSTSEC-2026-0369","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):RUSTSEC-2026-0369"},{"rule_id":"osv/GHSA-m665-v7pm-7grj","severity":"critical","message":"zip@0.6.6 (crates.io) is affected by GHSA-m665-v7pm-7grj","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):GHSA-m665-v7pm-7grj"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-3jxr-9vmj-r5cp; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-6j4f-fj2g-mc7p; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-mh99-v99m-4gvg; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-qhr7-859c-m2p7; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-rgw5-rvv9-x895; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-3jxr-9vmj-r5cp; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-6j4f-fj2g-mc7p; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-mh99-v99m-4gvg; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-qhr7-859c-m2p7; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-rgw5-rvv9-x895; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash@4.17.21 (npm) is affected by GHSA-r5fr-rjxr-66jc; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash-es@4.17.21 (npm) is affected by GHSA-r5fr-rjxr-66jc; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"lodash-es@4.17.21 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@3.0.8 (npm) is affected by GHSA-23c5-xmqv-rm74; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.0.8 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@3.0.8 (npm) is affected by GHSA-3ppc-4f35-3m26; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.0.8 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@3.0.8 (npm) is affected by GHSA-7r86-cg39-jmmj; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.0.8 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-23c5-xmqv-rm74; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-3ppc-4f35-3m26; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-7r86-cg39-jmmj; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-28wg-ghj8-5hjv; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-2v37-7h3g-55p8; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-xwg4-73v4-xw9w","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-xwg4-73v4-xw9w; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-xwg4-73v4-xw9w"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@4.0.3 (npm) is affected by GHSA-c2c7-rcm5-vvqj; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-6g55-p6wh-862q; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-r28c-9q8g-f849; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-mw96-cpmx-2vgc","severity":"high","message":"rollup@3.29.5 (npm) is affected by GHSA-mw96-cpmx-2vgc; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"rollup@3.29.5 (npm):GHSA-mw96-cpmx-2vgc"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-vghf-hv5q-vc2g","severity":"high","message":"validator@13.15.15 (npm) is affected by GHSA-vghf-hv5q-vc2g; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"validator@13.15.15 (npm):GHSA-vghf-hv5q-vc2g"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@4.5.14 (npm) is affected by GHSA-587h-7wmj-h5pm; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-c27g-q93r-2cwf","severity":"high","message":"vite@4.5.14 (npm) is affected by GHSA-c27g-q93r-2cwf; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-c27g-q93r-2cwf"},{"rule_id":"osv/GHSA-7h2j-956f-4vf2","severity":"high","message":"@isaacs/brace-expansion@5.0.0 (npm) is affected by GHSA-7h2j-956f-4vf2","path":"pnpm-lock.yaml","line":null,"fingerprint":"@isaacs/brace-expansion@5.0.0 (npm):GHSA-7h2j-956f-4vf2"},{"rule_id":"osv/GHSA-27p8-2357-5qqv","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-27p8-2357-5qqv","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-27p8-2357-5qqv"},{"rule_id":"osv/GHSA-2v35-w6hq-6mfw","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-2v35-w6hq-6mfw","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-2v35-w6hq-6mfw"},{"rule_id":"osv/GHSA-4w3w-2rp5-g8jm","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-4w3w-2rp5-g8jm","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-4w3w-2rp5-g8jm"},{"rule_id":"osv/GHSA-8344-3jmq-59r6","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-8344-3jmq-59r6","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-8344-3jmq-59r6"},{"rule_id":"osv/GHSA-93r5-fhx6-vmg9","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-93r5-fhx6-vmg9","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-93r5-fhx6-vmg9"},{"rule_id":"osv/GHSA-965w-775f-mr7g","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-965w-775f-mr7g","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-965w-775f-mr7g"},{"rule_id":"osv/GHSA-c7q8-3ch8-vqpv","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-c7q8-3ch8-vqpv","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-c7q8-3ch8-vqpv"},{"rule_id":"osv/GHSA-f6ww-3ggp-fr8h","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-f6ww-3ggp-fr8h","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-f6ww-3ggp-fr8h"},{"rule_id":"osv/GHSA-j759-j44w-7fr8","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-j759-j44w-7fr8","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-j759-j44w-7fr8"},{"rule_id":"osv/GHSA-w2rr-34g9-rvrj","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-w2rr-34g9-rvrj","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-w2rr-34g9-rvrj"},{"rule_id":"osv/GHSA-wh4c-j3r5-mjhp","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-wh4c-j3r5-mjhp","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-wh4c-j3r5-mjhp"},{"rule_id":"osv/GHSA-x4fp-j954-r2f4","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-x4fp-j954-r2f4","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-x4fp-j954-r2f4"},{"rule_id":"osv/GHSA-x6wf-f3px-wcqx","severity":"high","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-x6wf-f3px-wcqx","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-x6wf-f3px-wcqx"},{"rule_id":"osv/GHSA-6w3r-6hpr-hp6p","severity":"high","message":"ag-psd@28.3.1 (npm) is affected by GHSA-6w3r-6hpr-hp6p","path":"pnpm-lock.yaml","line":null,"fingerprint":"ag-psd@28.3.1 (npm):GHSA-6w3r-6hpr-hp6p"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.25.1 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"pnpm-lock.yaml","line":null,"fingerprint":"browserslist@4.25.1 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.25.1 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"pnpm-lock.yaml","line":null,"fingerprint":"browserslist@4.25.1 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-mrv2-3pqr-j5jr","severity":"high","message":"dompurify@3.2.6 (npm) is affected by GHSA-mrv2-3pqr-j5jr","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-mrv2-3pqr-j5jr"},{"rule_id":"osv/GHSA-px8p-9vwx-vf98","severity":"high","message":"fflate@0.6.10 (npm) is affected by GHSA-px8p-9vwx-vf98","path":"pnpm-lock.yaml","line":null,"fingerprint":"fflate@0.6.10 (npm):GHSA-px8p-9vwx-vf98"},{"rule_id":"osv/GHSA-px8p-9vwx-vf98","severity":"high","message":"fflate@0.8.2 (npm) is affected by GHSA-px8p-9vwx-vf98","path":"pnpm-lock.yaml","line":null,"fingerprint":"fflate@0.8.2 (npm):GHSA-px8p-9vwx-vf98"},{"rule_id":"osv/GHSA-5j98-mcp5-4vw2","severity":"high","message":"glob@10.4.5 (npm) is affected by GHSA-5j98-mcp5-4vw2","path":"pnpm-lock.yaml","line":null,"fingerprint":"glob@10.4.5 (npm):GHSA-5j98-mcp5-4vw2"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@10.0.3 (npm) is affected by GHSA-23c5-xmqv-rm74","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.0.3 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@10.0.3 (npm) is affected by GHSA-3ppc-4f35-3m26","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.0.3 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@10.0.3 (npm) is affected by GHSA-7r86-cg39-jmmj","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.0.3 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-23c5-xmqv-rm74","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-3ppc-4f35-3m26","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-7r86-cg39-jmmj","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-wgrm-67xf-hhpq","severity":"high","message":"pdfjs-dist@3.11.174 (npm) is affected by GHSA-wgrm-67xf-hhpq","path":"pnpm-lock.yaml","line":null,"fingerprint":"pdfjs-dist@3.11.174 (npm):GHSA-wgrm-67xf-hhpq"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@2.3.1 (npm) is affected by GHSA-c2c7-rcm5-vvqj","path":"pnpm-lock.yaml","line":null,"fingerprint":"picomatch@2.3.1 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-mw96-cpmx-2vgc","severity":"high","message":"rollup@4.52.5 (npm) is affected by GHSA-mw96-cpmx-2vgc","path":"pnpm-lock.yaml","line":null,"fingerprint":"rollup@4.52.5 (npm):GHSA-mw96-cpmx-2vgc"},{"rule_id":"osv/GHSA-34x7-hfp2-rc4v","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-34x7-hfp2-rc4v","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-34x7-hfp2-rc4v"},{"rule_id":"osv/GHSA-83g3-92jg-28cx","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-83g3-92jg-28cx","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-83g3-92jg-28cx"},{"rule_id":"osv/GHSA-8qq5-rm4j-mr97","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-8qq5-rm4j-mr97","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-8qq5-rm4j-mr97"},{"rule_id":"osv/GHSA-8x88-c5mf-7j5w","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-8x88-c5mf-7j5w","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-8x88-c5mf-7j5w"},{"rule_id":"osv/GHSA-9ppj-qmqm-q256","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-9ppj-qmqm-q256","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-9ppj-qmqm-q256"},{"rule_id":"osv/GHSA-qffp-2rhf-9h96","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-qffp-2rhf-9h96","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-qffp-2rhf-9h96"},{"rule_id":"osv/GHSA-r292-9mhp-454m","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-r292-9mhp-454m","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-r292-9mhp-454m"},{"rule_id":"osv/GHSA-r6q2-hw4h-h46w","severity":"high","message":"tar@6.2.1 (npm) is affected by GHSA-r6q2-hw4h-h46w","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-r6q2-hw4h-h46w"},{"rule_id":"osv/GHSA-qpx9-hpmf-5gmw","severity":"high","message":"underscore@1.13.7 (npm) is affected by GHSA-qpx9-hpmf-5gmw","path":"pnpm-lock.yaml","line":null,"fingerprint":"underscore@1.13.7 (npm):GHSA-qpx9-hpmf-5gmw"},{"rule_id":"osv/GHSA-w5hq-g745-h8pq","severity":"high","message":"uuid@9.0.1 (npm) is affected by GHSA-w5hq-g745-h8pq","path":"pnpm-lock.yaml","line":null,"fingerprint":"uuid@9.0.1 (npm):GHSA-w5hq-g745-h8pq"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@7.1.11 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-p9ff-h696-f583","severity":"high","message":"vite@7.1.11 (npm) is affected by GHSA-p9ff-h696-f583","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-p9ff-h696-f583"},{"rule_id":"osv/GHSA-v2wj-q39q-566r","severity":"high","message":"vite@7.1.11 (npm) is affected by GHSA-v2wj-q39q-566r","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-v2wj-q39q-566r"},{"rule_id":"osv/GHSA-4r6h-8v6p-xvw6","severity":"high","message":"xlsx@0.18.5 (npm) is affected by GHSA-4r6h-8v6p-xvw6","path":"pnpm-lock.yaml","line":null,"fingerprint":"xlsx@0.18.5 (npm):GHSA-4r6h-8v6p-xvw6"},{"rule_id":"osv/GHSA-5pgg-2g8v-p4x9","severity":"high","message":"xlsx@0.18.5 (npm) is affected by GHSA-5pgg-2g8v-p4x9","path":"pnpm-lock.yaml","line":null,"fingerprint":"xlsx@0.18.5 (npm):GHSA-5pgg-2g8v-p4x9"},{"rule_id":"osv/GHSA-65p9-r9h6-22vj","severity":"high","message":"aws-lc-sys@0.30.0 (crates.io) is affected by RUSTSEC-2026-0045, GHSA-65p9-r9h6-22vj","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"aws-lc-sys@0.30.0 (crates.io):GHSA-65p9-r9h6-22vj"},{"rule_id":"osv/GHSA-vw5v-4f2q-w9xf","severity":"high","message":"aws-lc-sys@0.30.0 (crates.io) is affected by RUSTSEC-2026-0046, GHSA-vw5v-4f2q-w9xf","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"aws-lc-sys@0.30.0 (crates.io):GHSA-vw5v-4f2q-w9xf"},{"rule_id":"osv/GHSA-hfpc-8r3f-gw53","severity":"high","message":"aws-lc-sys@0.30.0 (crates.io) is affected by RUSTSEC-2026-0047, GHSA-hfpc-8r3f-gw53","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"aws-lc-sys@0.30.0 (crates.io):GHSA-hfpc-8r3f-gw53"},{"rule_id":"osv/GHSA-9f94-5g5w-gf6r","severity":"high","message":"aws-lc-sys@0.30.0 (crates.io) is affected by RUSTSEC-2026-0048, GHSA-9f94-5g5w-gf6r","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"aws-lc-sys@0.30.0 (crates.io):GHSA-9f94-5g5w-gf6r"},{"rule_id":"osv/GHSA-vvp9-7p8x-rfvv","severity":"high","message":"lz4_flex@0.11.5 (crates.io) is affected by RUSTSEC-2026-0041, GHSA-vvp9-7p8x-rfvv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"lz4_flex@0.11.5 (crates.io):GHSA-vvp9-7p8x-rfvv"},{"rule_id":"osv/GHSA-8c75-8mhr-p7r9","severity":"high","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0463, GHSA-8c75-8mhr-p7r9","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-8c75-8mhr-p7r9"},{"rule_id":"osv/GHSA-pqf5-4pqq-29f5","severity":"high","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0473, GHSA-pqf5-4pqq-29f5","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-pqf5-4pqq-29f5"},{"rule_id":"osv/GHSA-xp3w-r5p5-63rr","severity":"high","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0474, GHSA-xp3w-r5p5-63rr","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-xp3w-r5p5-63rr"},{"rule_id":"osv/GHSA-ghm9-cr32-g9qj","severity":"high","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0475, GHSA-ghm9-cr32-g9qj","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-ghm9-cr32-g9qj"},{"rule_id":"osv/GHSA-hppc-g8h3-xhp3","severity":"high","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0478, GHSA-hppc-g8h3-xhp3","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-hppc-g8h3-xhp3"},{"rule_id":"osv/RUSTSEC-2026-0194","severity":"high","message":"quick-xml@0.31.0 (crates.io) is affected by RUSTSEC-2026-0194","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.31.0 (crates.io):RUSTSEC-2026-0194"},{"rule_id":"osv/RUSTSEC-2026-0195","severity":"high","message":"quick-xml@0.31.0 (crates.io) is affected by RUSTSEC-2026-0195","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.31.0 (crates.io):RUSTSEC-2026-0195"},{"rule_id":"osv/RUSTSEC-2026-0194","severity":"high","message":"quick-xml@0.37.5 (crates.io) is affected by RUSTSEC-2026-0194","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.37.5 (crates.io):RUSTSEC-2026-0194"},{"rule_id":"osv/RUSTSEC-2026-0195","severity":"high","message":"quick-xml@0.37.5 (crates.io) is affected by RUSTSEC-2026-0195","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.37.5 (crates.io):RUSTSEC-2026-0195"},{"rule_id":"osv/RUSTSEC-2026-0194","severity":"high","message":"quick-xml@0.38.3 (crates.io) is affected by RUSTSEC-2026-0194","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.38.3 (crates.io):RUSTSEC-2026-0194"},{"rule_id":"osv/RUSTSEC-2026-0195","severity":"high","message":"quick-xml@0.38.3 (crates.io) is affected by RUSTSEC-2026-0195","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quick-xml@0.38.3 (crates.io):RUSTSEC-2026-0195"},{"rule_id":"osv/GHSA-6xvm-j4wr-6v98","severity":"high","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0037, GHSA-6xvm-j4wr-6v98","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):GHSA-6xvm-j4wr-6v98"},{"rule_id":"osv/GHSA-4w2j-m93h-cj5j","severity":"high","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0185, GHSA-4w2j-m93h-cj5j","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):GHSA-4w2j-m93h-cj5j"},{"rule_id":"osv/RUSTSEC-2026-0340","severity":"high","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0340","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):RUSTSEC-2026-0340"},{"rule_id":"osv/GHSA-g9f8-wqj9-fjw5","severity":"high","message":"russh@0.44.1 (crates.io) is affected by RUSTSEC-2026-0154, GHSA-g9f8-wqj9-fjw5","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-g9f8-wqj9-fjw5"},{"rule_id":"osv/GHSA-47hw-gvq5-r2gm","severity":"high","message":"russh@0.44.1 (crates.io) is affected by RUSTSEC-2026-0492, GHSA-47hw-gvq5-r2gm","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-47hw-gvq5-r2gm"},{"rule_id":"osv/GHSA-wwx6-x28x-8259","severity":"high","message":"russh@0.44.1 (crates.io) is affected by RUSTSEC-2026-0493, GHSA-wwx6-x28x-8259","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-wwx6-x28x-8259"},{"rule_id":"osv/GHSA-4r3c-5hpg-58qr","severity":"high","message":"russh@0.44.1 (crates.io) is affected by RUSTSEC-2026-0494, GHSA-4r3c-5hpg-58qr","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-4r3c-5hpg-58qr"},{"rule_id":"osv/GHSA-f5v4-2wr6-hqmg","severity":"high","message":"russh@0.44.1 (crates.io) is affected by RUSTSEC-2026-0496, GHSA-f5v4-2wr6-hqmg","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-f5v4-2wr6-hqmg"},{"rule_id":"osv/GHSA-vp5q-ff62-jwqv","severity":"high","message":"russh@0.44.1 (crates.io) is affected by GHSA-vp5q-ff62-jwqv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-vp5q-ff62-jwqv"},{"rule_id":"osv/GHSA-g9f8-wqj9-fjw5","severity":"high","message":"russh-cryptovec@0.7.3 (crates.io) is affected by RUSTSEC-2026-0153, GHSA-g9f8-wqj9-fjw5","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh-cryptovec@0.7.3 (crates.io):GHSA-g9f8-wqj9-fjw5"},{"rule_id":"osv/GHSA-82j2-j2ch-gfr8","severity":"high","message":"rustls-webpki@0.101.7 (crates.io) is affected by RUSTSEC-2026-0104, GHSA-82j2-j2ch-gfr8","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.101.7 (crates.io):GHSA-82j2-j2ch-gfr8"},{"rule_id":"osv/GHSA-82j2-j2ch-gfr8","severity":"high","message":"rustls-webpki@0.103.4 (crates.io) is affected by RUSTSEC-2026-0104, GHSA-82j2-j2ch-gfr8","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.4 (crates.io):GHSA-82j2-j2ch-gfr8"},{"rule_id":"osv/GHSA-gchp-q4r4-x4ff","severity":"high","message":"tar@0.4.44 (crates.io) is affected by RUSTSEC-2026-0068, GHSA-gchp-q4r4-x4ff","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tar@0.4.44 (crates.io):GHSA-gchp-q4r4-x4ff"},{"rule_id":"osv/GHSA-7gmj-67g7-phm9","severity":"high","message":"tauri@2.8.5 (crates.io) is affected by GHSA-7gmj-67g7-phm9","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tauri@2.8.5 (crates.io):GHSA-7gmj-67g7-phm9"},{"rule_id":"osv/RUSTSEC-2026-0367","severity":"high","message":"zip@0.6.6 (crates.io) is affected by RUSTSEC-2026-0367","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):RUSTSEC-2026-0367"},{"rule_id":"osv/RUSTSEC-2026-0429","severity":"high","message":"zip@0.6.6 (crates.io) is affected by RUSTSEC-2026-0429","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):RUSTSEC-2026-0429"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@6.12.6 (npm) is affected by GHSA-2g4f-4pwh-qvx6; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"ajv@6.12.6 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-f886-m6hf-6m8v; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-q2hr-2g5m-vwhr; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-f886-m6hf-6m8v; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-q2hr-2g5m-vwhr; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-67mh-4wv8-2f99","severity":"medium","message":"esbuild@0.18.20 (npm) is affected by GHSA-67mh-4wv8-2f99; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"esbuild@0.18.20 (npm):GHSA-67mh-4wv8-2f99"},{"rule_id":"osv/GHSA-xxjr-mmjv-4gpg","severity":"medium","message":"lodash@4.17.21 (npm) is affected by GHSA-xxjr-mmjv-4gpg; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-xxjr-mmjv-4gpg"},{"rule_id":"osv/GHSA-xxjr-mmjv-4gpg","severity":"medium","message":"lodash-es@4.17.21 (npm) is affected by GHSA-xxjr-mmjv-4gpg; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"lodash-es@4.17.21 (npm):GHSA-xxjr-mmjv-4gpg"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.5 (npm) is affected by GHSA-g3hv-75wg-m249; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@4.0.3 (npm) is affected by GHSA-3v7f-55p6-f55p; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-fxqj-rqcc-2cmp; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-qx2v-qp2m-jg93; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-9965-vmph-33xx","severity":"medium","message":"validator@13.15.15 (npm) is affected by GHSA-9965-vmph-33xx; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"validator@13.15.15 (npm):GHSA-9965-vmph-33xx"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-4w7w-66w2-5vf9; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-698v-4r3x-3vcv; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-93m4-6634-74q7","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-93m4-6634-74q7; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-93m4-6634-74q7"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-fx2h-pf6j-xcff; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-r825-w8mm-5pxw; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-rq7h-c2jc-7f22; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@4.5.14 (npm) is affected by GHSA-v6wh-96g9-6wx3; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-g3ch-rx76-35fx","severity":"medium","message":"vue-template-compiler@2.7.16 (npm) is affected by GHSA-g3ch-rx76-35fx; also in packages/sdk/pnpm-lock.yaml; also in pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vue-template-compiler@2.7.16 (npm):GHSA-g3ch-rx76-35fx"},{"rule_id":"osv/GHSA-6gmq-8vp8-gcm6","severity":"medium","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-6gmq-8vp8-gcm6","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-6gmq-8vp8-gcm6"},{"rule_id":"osv/GHSA-6h8r-xr42-gp59","severity":"medium","message":"@xmldom/xmldom@0.8.11 (npm) is affected by GHSA-6h8r-xr42-gp59","path":"pnpm-lock.yaml","line":null,"fingerprint":"@xmldom/xmldom@0.8.11 (npm):GHSA-6h8r-xr42-gp59"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@8.12.0 (npm) is affected by GHSA-2g4f-4pwh-qvx6","path":"pnpm-lock.yaml","line":null,"fingerprint":"ajv@8.12.0 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@8.13.0 (npm) is affected by GHSA-2g4f-4pwh-qvx6","path":"pnpm-lock.yaml","line":null,"fingerprint":"ajv@8.13.0 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-39q2-94rc-95cp","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-39q2-94rc-95cp","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-39q2-94rc-95cp"},{"rule_id":"osv/GHSA-55q2-fjhq-7xh7","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-55q2-fjhq-7xh7","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-55q2-fjhq-7xh7"},{"rule_id":"osv/GHSA-6688-9rhm-gjv2","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-6688-9rhm-gjv2","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-6688-9rhm-gjv2"},{"rule_id":"osv/GHSA-76mc-f452-cxcm","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-76mc-f452-cxcm","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-76mc-f452-cxcm"},{"rule_id":"osv/GHSA-c6gr-qvv4-5v3f","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-c6gr-qvv4-5v3f","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-c6gr-qvv4-5v3f"},{"rule_id":"osv/GHSA-cj63-jhhr-wcxv","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-cj63-jhhr-wcxv","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-cj63-jhhr-wcxv"},{"rule_id":"osv/GHSA-cjmm-f4jc-qw8r","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-cjmm-f4jc-qw8r","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-cjmm-f4jc-qw8r"},{"rule_id":"osv/GHSA-cmwh-pvxp-8882","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-cmwh-pvxp-8882","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-cmwh-pvxp-8882"},{"rule_id":"osv/GHSA-crv5-9vww-q3g8","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-crv5-9vww-q3g8","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-crv5-9vww-q3g8"},{"rule_id":"osv/GHSA-h7mw-gpvr-xq4m","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-h7mw-gpvr-xq4m","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-h7mw-gpvr-xq4m"},{"rule_id":"osv/GHSA-h8r8-wccr-v5f2","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-h8r8-wccr-v5f2","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-h8r8-wccr-v5f2"},{"rule_id":"osv/GHSA-hpcv-96wg-7vj8","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-hpcv-96wg-7vj8","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-hpcv-96wg-7vj8"},{"rule_id":"osv/GHSA-r47g-fvhr-h676","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-r47g-fvhr-h676","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-r47g-fvhr-h676"},{"rule_id":"osv/GHSA-rp9w-3fw7-7cwq","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-rp9w-3fw7-7cwq","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-rp9w-3fw7-7cwq"},{"rule_id":"osv/GHSA-v2wj-7wpq-c8vv","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-v2wj-7wpq-c8vv","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-v2wj-7wpq-c8vv"},{"rule_id":"osv/GHSA-v8jm-5vwx-cfxm","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-v8jm-5vwx-cfxm","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-v8jm-5vwx-cfxm"},{"rule_id":"osv/GHSA-v9jr-rg53-9pgp","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-v9jr-rg53-9pgp","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-v9jr-rg53-9pgp"},{"rule_id":"osv/GHSA-x4vx-rjvf-j5p4","severity":"medium","message":"dompurify@3.2.6 (npm) is affected by GHSA-x4vx-rjvf-j5p4","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-x4vx-rjvf-j5p4"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@10.4.5 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"pnpm-lock.yaml","line":null,"fingerprint":"glob@10.4.5 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-4fh9-h7wg-q85m","severity":"medium","message":"mdast-util-to-hast@13.2.0 (npm) is affected by GHSA-4fh9-h7wg-q85m","path":"pnpm-lock.yaml","line":null,"fingerprint":"mdast-util-to-hast@13.2.0 (npm):GHSA-4fh9-h7wg-q85m"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.0.3 (npm) is affected by GHSA-g3hv-75wg-m249","path":"pnpm-lock.yaml","line":null,"fingerprint":"minimatch@10.0.3 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@2.3.1 (npm) is affected by GHSA-3v7f-55p6-f55p","path":"pnpm-lock.yaml","line":null,"fingerprint":"picomatch@2.3.1 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-rj75-hqrm-r3gf","severity":"medium","message":"postcss-selector-parser@6.0.10 (npm) is affected by GHSA-rj75-hqrm-r3gf","path":"pnpm-lock.yaml","line":null,"fingerprint":"postcss-selector-parser@6.0.10 (npm):GHSA-rj75-hqrm-r3gf"},{"rule_id":"osv/GHSA-rj75-hqrm-r3gf","severity":"medium","message":"postcss-selector-parser@6.1.2 (npm) is affected by GHSA-rj75-hqrm-r3gf","path":"pnpm-lock.yaml","line":null,"fingerprint":"postcss-selector-parser@6.1.2 (npm):GHSA-rj75-hqrm-r3gf"},{"rule_id":"osv/GHSA-w9m9-85wc-3x92","severity":"medium","message":"postcss-selector-parser@6.1.2 (npm) is affected by GHSA-w9m9-85wc-3x92","path":"pnpm-lock.yaml","line":null,"fingerprint":"postcss-selector-parser@6.1.2 (npm):GHSA-w9m9-85wc-3x92"},{"rule_id":"osv/GHSA-gvwx-54wh-qm9j","severity":"medium","message":"tar@6.2.1 (npm) is affected by GHSA-gvwx-54wh-qm9j","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-gvwx-54wh-qm9j"},{"rule_id":"osv/GHSA-vmf3-w455-68vh","severity":"medium","message":"tar@6.2.1 (npm) is affected by GHSA-vmf3-w455-68vh","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-vmf3-w455-68vh"},{"rule_id":"osv/GHSA-w8wr-v893-vjvp","severity":"medium","message":"tar@6.2.1 (npm) is affected by GHSA-w8wr-v893-vjvp","path":"pnpm-lock.yaml","line":null,"fingerprint":"tar@6.2.1 (npm):GHSA-w8wr-v893-vjvp"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@7.1.11 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-48c2-rrv3-qjmp","severity":"medium","message":"yaml@2.8.0 (npm) is affected by GHSA-48c2-rrv3-qjmp","path":"pnpm-lock.yaml","line":null,"fingerprint":"yaml@2.8.0 (npm):GHSA-48c2-rrv3-qjmp"},{"rule_id":"osv/GHSA-48c2-rrv3-qjmp","severity":"medium","message":"yaml@2.8.1 (npm) is affected by GHSA-48c2-rrv3-qjmp","path":"pnpm-lock.yaml","line":null,"fingerprint":"yaml@2.8.1 (npm):GHSA-48c2-rrv3-qjmp"},{"rule_id":"osv/RUSTSEC-2026-0190","severity":"medium","message":"anyhow@1.0.99 (crates.io) is affected by RUSTSEC-2026-0190","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"anyhow@1.0.99 (crates.io):RUSTSEC-2026-0190"},{"rule_id":"osv/GHSA-434x-w66g-qw3r","severity":"medium","message":"bytes@1.10.1 (crates.io) is affected by RUSTSEC-2026-0007, GHSA-434x-w66g-qw3r","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"bytes@1.10.1 (crates.io):GHSA-434x-w66g-qw3r"},{"rule_id":"osv/RUSTSEC-2026-0387","severity":"medium","message":"crypto-bigint@0.5.5 (crates.io) is affected by RUSTSEC-2026-0387","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"crypto-bigint@0.5.5 (crates.io):RUSTSEC-2026-0387"},{"rule_id":"osv/RUSTSEC-2024-0388","severity":"medium","message":"derivative@2.2.0 (crates.io) is affected by RUSTSEC-2024-0388","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"derivative@2.2.0 (crates.io):RUSTSEC-2024-0388"},{"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/RUSTSEC-2025-0057","severity":"medium","message":"fxhash@0.2.1 (crates.io) is affected by RUSTSEC-2025-0057","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"fxhash@0.2.1 (crates.io):RUSTSEC-2025-0057"},{"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-0258","severity":"medium","message":"h2@0.3.27 (crates.io) is affected by RUSTSEC-2026-0258","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"h2@0.3.27 (crates.io):RUSTSEC-2026-0258"},{"rule_id":"osv/RUSTSEC-2026-0258","severity":"medium","message":"h2@0.4.12 (crates.io) is affected by RUSTSEC-2026-0258","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"h2@0.4.12 (crates.io):RUSTSEC-2026-0258"},{"rule_id":"osv/GHSA-xv59-967r-8726","severity":"medium","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0476, GHSA-xv59-967r-8726","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-xv59-967r-8726"},{"rule_id":"osv/GHSA-phqj-4mhp-q6mq","severity":"medium","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0477, GHSA-phqj-4mhp-q6mq","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-phqj-4mhp-q6mq"},{"rule_id":"osv/RUSTSEC-2024-0436","severity":"medium","message":"paste@1.0.15 (crates.io) is affected by RUSTSEC-2024-0436","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"paste@1.0.15 (crates.io):RUSTSEC-2024-0436"},{"rule_id":"osv/RUSTSEC-2026-0441","severity":"medium","message":"pin-utils@0.1.0 (crates.io) is affected by RUSTSEC-2026-0441","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"pin-utils@0.1.0 (crates.io):RUSTSEC-2026-0441"},{"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.13 (crates.io) is affected by RUSTSEC-2026-0338","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):RUSTSEC-2026-0338"},{"rule_id":"osv/RUSTSEC-2026-0339","severity":"medium","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0339","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):RUSTSEC-2026-0339"},{"rule_id":"osv/RUSTSEC-2026-0342","severity":"medium","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0342","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):RUSTSEC-2026-0342"},{"rule_id":"osv/RUSTSEC-2026-0523","severity":"medium","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0523","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (crates.io):RUSTSEC-2026-0523"},{"rule_id":"osv/RUSTSEC-2026-0524","severity":"medium","message":"quinn-proto@0.11.13 (crates.io) is affected by RUSTSEC-2026-0524","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"quinn-proto@0.11.13 (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/GHSA-cq8v-f236-94qc","severity":"medium","message":"rand@0.7.3 (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rand@0.7.3 (crates.io):GHSA-cq8v-f236-94qc"},{"rule_id":"osv/GHSA-cq8v-f236-94qc","severity":"medium","message":"rand@0.8.5 (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rand@0.8.5 (crates.io):GHSA-cq8v-f236-94qc"},{"rule_id":"osv/GHSA-cq8v-f236-94qc","severity":"medium","message":"rand@0.9.2 (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rand@0.9.2 (crates.io):GHSA-cq8v-f236-94qc"},{"rule_id":"osv/RUSTSEC-2023-0071","severity":"medium","message":"rsa@0.9.8 (crates.io) is affected by RUSTSEC-2023-0071","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rsa@0.9.8 (crates.io):RUSTSEC-2023-0071"},{"rule_id":"osv/GHSA-35g8-35p8-c8fw","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-35g8-35p8-c8fw","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-35g8-35p8-c8fw"},{"rule_id":"osv/GHSA-4p9f-7p9m-5vfg","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-4p9f-7p9m-5vfg","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-4p9f-7p9m-5vfg"},{"rule_id":"osv/GHSA-4wc5-f2rc-q74m","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-4wc5-f2rc-q74m","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-4wc5-f2rc-q74m"},{"rule_id":"osv/GHSA-5xvq-cp9x-6p6r","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-5xvq-cp9x-6p6r","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-5xvq-cp9x-6p6r"},{"rule_id":"osv/GHSA-76r6-x97p-67vr","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-76r6-x97p-67vr","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-76r6-x97p-67vr"},{"rule_id":"osv/GHSA-cqjc-rmpq-xprq","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-cqjc-rmpq-xprq","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-cqjc-rmpq-xprq"},{"rule_id":"osv/GHSA-g9g7-5cgw-6v28","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-g9g7-5cgw-6v28","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-g9g7-5cgw-6v28"},{"rule_id":"osv/GHSA-g9hv-x236-4qp3","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-g9hv-x236-4qp3","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-g9hv-x236-4qp3"},{"rule_id":"osv/GHSA-h5rc-j5f5-3gcm","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-h5rc-j5f5-3gcm","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-h5rc-j5f5-3gcm"},{"rule_id":"osv/GHSA-hpv4-5h6f-wqr3","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-hpv4-5h6f-wqr3","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-hpv4-5h6f-wqr3"},{"rule_id":"osv/GHSA-m65r-rprj-r5rg","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-m65r-rprj-r5rg","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-m65r-rprj-r5rg"},{"rule_id":"osv/GHSA-w3jg-pjxf-73p4","severity":"medium","message":"russh@0.44.1 (crates.io) is affected by GHSA-w3jg-pjxf-73p4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-w3jg-pjxf-73p4"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.0.8 (crates.io) is affected by RUSTSEC-2026-0486","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustix@1.0.8 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.21.12 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.21.12 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/GHSA-2mjx-qc3c-rqvc","severity":"medium","message":"rustls@0.23.31 (crates.io) is affected by RUSTSEC-2026-0285, GHSA-2mjx-qc3c-rqvc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.31 (crates.io):GHSA-2mjx-qc3c-rqvc"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.23.31 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.31 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/RUSTSEC-2025-0134","severity":"medium","message":"rustls-pemfile@1.0.4 (crates.io) is affected by RUSTSEC-2025-0134","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-pemfile@1.0.4 (crates.io):RUSTSEC-2025-0134"},{"rule_id":"osv/RUSTSEC-2026-0382","severity":"medium","message":"rustls-webpki@0.101.7 (crates.io) is affected by RUSTSEC-2026-0382","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.101.7 (crates.io):RUSTSEC-2026-0382"},{"rule_id":"osv/GHSA-pwjx-qhcg-rvj4","severity":"medium","message":"rustls-webpki@0.103.4 (crates.io) is affected by RUSTSEC-2026-0049, GHSA-pwjx-qhcg-rvj4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.4 (crates.io):GHSA-pwjx-qhcg-rvj4"},{"rule_id":"osv/RUSTSEC-2026-0382","severity":"medium","message":"rustls-webpki@0.103.4 (crates.io) is affected by RUSTSEC-2026-0382","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.4 (crates.io):RUSTSEC-2026-0382"},{"rule_id":"osv/GHSA-7gcf-g7xr-8hxj","severity":"medium","message":"serde_with@3.14.0 (crates.io) is affected by GHSA-7gcf-g7xr-8hxj","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"serde_with@3.14.0 (crates.io):GHSA-7gcf-g7xr-8hxj"},{"rule_id":"osv/GHSA-j4xf-2g29-59ph","severity":"medium","message":"tar@0.4.44 (crates.io) is affected by RUSTSEC-2026-0067, GHSA-j4xf-2g29-59ph","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tar@0.4.44 (crates.io):GHSA-j4xf-2g29-59ph"},{"rule_id":"osv/GHSA-3pv8-6f4r-ffg2","severity":"medium","message":"tar@0.4.44 (crates.io) is affected by GHSA-3pv8-6f4r-ffg2","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tar@0.4.44 (crates.io):GHSA-3pv8-6f4r-ffg2"},{"rule_id":"osv/GHSA-r6v5-fh4h-64xc","severity":"medium","message":"time@0.3.43 (crates.io) is affected by RUSTSEC-2026-0009, GHSA-r6v5-fh4h-64xc","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"time@0.3.43 (crates.io):GHSA-r6v5-fh4h-64xc"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.47.1 (crates.io) is affected by RUSTSEC-2026-0386","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"tokio@1.47.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-2026-0383","severity":"medium","message":"webpki-root-certs@1.0.2 (crates.io) is affected by RUSTSEC-2026-0383","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"webpki-root-certs@1.0.2 (crates.io):RUSTSEC-2026-0383"},{"rule_id":"osv/RUSTSEC-2026-0381","severity":"medium","message":"webpki-roots@0.25.4 (crates.io) is affected by RUSTSEC-2026-0381","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"webpki-roots@0.25.4 (crates.io):RUSTSEC-2026-0381"},{"rule_id":"osv/RUSTSEC-2026-0371","severity":"medium","message":"zbus_names@3.0.0 (crates.io) is affected by RUSTSEC-2026-0371","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zbus_names@3.0.0 (crates.io):RUSTSEC-2026-0371"},{"rule_id":"osv/RUSTSEC-2026-0368","severity":"medium","message":"zip@0.6.6 (crates.io) is affected by RUSTSEC-2026-0368","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):RUSTSEC-2026-0368"},{"rule_id":"osv/GHSA-8hxf-qr8p-62x4","severity":"medium","message":"zip@0.6.6 (crates.io) is affected by GHSA-8hxf-qr8p-62x4","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zip@0.6.6 (crates.io):GHSA-8hxf-qr8p-62x4"},{"rule_id":"osv/RUSTSEC-2026-0391","severity":"medium","message":"zstd@0.13.3 (crates.io) is affected by RUSTSEC-2026-0391","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd@0.13.3 (crates.io):RUSTSEC-2026-0391"},{"rule_id":"osv/RUSTSEC-2026-0395","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0395","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0395"},{"rule_id":"osv/RUSTSEC-2026-0397","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0397","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0397"},{"rule_id":"osv/RUSTSEC-2026-0399","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0399","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0399"},{"rule_id":"osv/RUSTSEC-2026-0400","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0400","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0400"},{"rule_id":"osv/RUSTSEC-2026-0401","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0401","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0401"},{"rule_id":"osv/RUSTSEC-2026-0402","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0402","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0402"},{"rule_id":"osv/RUSTSEC-2026-0403","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0403","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0403"},{"rule_id":"osv/RUSTSEC-2026-0404","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0404","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0404"},{"rule_id":"osv/RUSTSEC-2026-0406","severity":"medium","message":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io) is affected by RUSTSEC-2026-0406","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@5.0.2+zstd.1.5.2 (crates.io):RUSTSEC-2026-0406"},{"rule_id":"osv/RUSTSEC-2026-0395","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0395","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0395"},{"rule_id":"osv/RUSTSEC-2026-0396","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0396","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0396"},{"rule_id":"osv/RUSTSEC-2026-0397","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0397","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0397"},{"rule_id":"osv/RUSTSEC-2026-0398","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0398","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0398"},{"rule_id":"osv/RUSTSEC-2026-0399","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0399","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0399"},{"rule_id":"osv/RUSTSEC-2026-0400","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0400","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0400"},{"rule_id":"osv/RUSTSEC-2026-0401","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0401","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0401"},{"rule_id":"osv/RUSTSEC-2026-0402","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0402","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0402"},{"rule_id":"osv/RUSTSEC-2026-0403","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0403","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0403"},{"rule_id":"osv/RUSTSEC-2026-0404","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0404","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0404"},{"rule_id":"osv/RUSTSEC-2026-0405","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0405","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0405"},{"rule_id":"osv/RUSTSEC-2026-0406","severity":"medium","message":"zstd-safe@7.2.4 (crates.io) is affected by RUSTSEC-2026-0406","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-safe@7.2.4 (crates.io):RUSTSEC-2026-0406"},{"rule_id":"osv/RUSTSEC-2026-0410","severity":"medium","message":"zstd-sys@2.0.16+zstd.1.5.7 (crates.io) is affected by RUSTSEC-2026-0410","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zstd-sys@2.0.16+zstd.1.5.7 (crates.io):RUSTSEC-2026-0410"},{"rule_id":"osv/RUSTSEC-2026-0370","severity":"medium","message":"zvariant@4.0.0 (crates.io) is affected by RUSTSEC-2026-0370","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zvariant@4.0.0 (crates.io):RUSTSEC-2026-0370"},{"rule_id":"osv/RUSTSEC-2026-0372","severity":"medium","message":"zvariant_derive@4.0.0 (crates.io) is affected by RUSTSEC-2026-0372","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"zvariant_derive@4.0.0 (crates.io):RUSTSEC-2026-0372"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@4.5.14 (npm) is affected by GHSA-9jrq-w75r-8gcw; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-g4jq-h2w9-997c","severity":"low","message":"vite@4.5.14 (npm) is affected by GHSA-g4jq-h2w9-997c; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-g4jq-h2w9-997c"},{"rule_id":"osv/GHSA-jqfw-vq24-v9c3","severity":"low","message":"vite@4.5.14 (npm) is affected by GHSA-jqfw-vq24-v9c3; also in packages/sdk/pnpm-lock.yaml","path":"packages/cad-plugin/pnpm-lock.yaml","line":null,"fingerprint":"vite@4.5.14 (npm):GHSA-jqfw-vq24-v9c3"},{"rule_id":"osv/GHSA-4x5r-pxfx-6jf8","severity":"low","message":"@babel/core@7.28.4 (npm) is affected by GHSA-4x5r-pxfx-6jf8","path":"pnpm-lock.yaml","line":null,"fingerprint":"@babel/core@7.28.4 (npm):GHSA-4x5r-pxfx-6jf8"},{"rule_id":"osv/GHSA-c2j3-45gr-mqc4","severity":"low","message":"dompurify@3.2.6 (npm) is affected by GHSA-c2j3-45gr-mqc4","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-c2j3-45gr-mqc4"},{"rule_id":"osv/GHSA-gvmj-g25r-r7wr","severity":"low","message":"dompurify@3.2.6 (npm) is affected by GHSA-gvmj-g25r-r7wr","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-gvmj-g25r-r7wr"},{"rule_id":"osv/GHSA-vxr8-fq34-vvx9","severity":"low","message":"dompurify@3.2.6 (npm) is affected by GHSA-vxr8-fq34-vvx9","path":"pnpm-lock.yaml","line":null,"fingerprint":"dompurify@3.2.6 (npm):GHSA-vxr8-fq34-vvx9"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@7.1.11 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"pnpm-lock.yaml","line":null,"fingerprint":"vite@7.1.11 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-3288-p39f-rqpv","severity":"low","message":"keccak@0.1.5 (crates.io) is affected by RUSTSEC-2026-0012, GHSA-3288-p39f-rqpv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"keccak@0.1.5 (crates.io):GHSA-3288-p39f-rqpv"},{"rule_id":"osv/GHSA-xmgf-hq76-4vx2","severity":"low","message":"openssl@0.10.73 (crates.io) is affected by RUSTSEC-2026-0479, GHSA-xmgf-hq76-4vx2","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"openssl@0.10.73 (crates.io):GHSA-xmgf-hq76-4vx2"},{"rule_id":"osv/GHSA-9c48-w39g-hm26","severity":"low","message":"rsa@0.9.8 (crates.io) is affected by GHSA-9c48-w39g-hm26","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rsa@0.9.8 (crates.io):GHSA-9c48-w39g-hm26"},{"rule_id":"osv/GHSA-9wfm-jcj8-jfv9","severity":"low","message":"russh@0.44.1 (crates.io) is affected by GHSA-9wfm-jcj8-jfv9","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-9wfm-jcj8-jfv9"},{"rule_id":"osv/GHSA-g6xm-f9xp-qq35","severity":"low","message":"russh@0.44.1 (crates.io) is affected by GHSA-g6xm-f9xp-qq35","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-g6xm-f9xp-qq35"},{"rule_id":"osv/GHSA-j7h2-66j4-ghjf","severity":"low","message":"russh@0.44.1 (crates.io) is affected by GHSA-j7h2-66j4-ghjf","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-j7h2-66j4-ghjf"},{"rule_id":"osv/GHSA-p8qx-h547-fjw9","severity":"low","message":"russh@0.44.1 (crates.io) is affected by GHSA-p8qx-h547-fjw9","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"russh@0.44.1 (crates.io):GHSA-p8qx-h547-fjw9"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.21.12 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.21.12 (crates.io):GHSA-w44r-93j7-qv28"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.21.12 (crates.io) is affected by GHSA-h2v8-394m-p7vv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.21.12 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.23.31 (crates.io) is affected by RUSTSEC-2026-0348, GHSA-h2v8-394m-p7vv","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.31 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.23.31 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls@0.23.31 (crates.io):GHSA-w44r-93j7-qv28"},{"rule_id":"osv/GHSA-965h-392x-2mh5","severity":"low","message":"rustls-webpki@0.101.7 (crates.io) is affected by RUSTSEC-2026-0098, GHSA-965h-392x-2mh5","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.101.7 (crates.io):GHSA-965h-392x-2mh5"},{"rule_id":"osv/GHSA-xgp8-3hg3-c2mh","severity":"low","message":"rustls-webpki@0.101.7 (crates.io) is affected by RUSTSEC-2026-0099, GHSA-xgp8-3hg3-c2mh","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.101.7 (crates.io):GHSA-xgp8-3hg3-c2mh"},{"rule_id":"osv/GHSA-965h-392x-2mh5","severity":"low","message":"rustls-webpki@0.103.4 (crates.io) is affected by RUSTSEC-2026-0098, GHSA-965h-392x-2mh5","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.4 (crates.io):GHSA-965h-392x-2mh5"},{"rule_id":"osv/GHSA-xgp8-3hg3-c2mh","severity":"low","message":"rustls-webpki@0.103.4 (crates.io) is affected by RUSTSEC-2026-0099, GHSA-xgp8-3hg3-c2mh","path":"src-tauri/Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.4 (crates.io):GHSA-xgp8-3hg3-c2mh"}],"evidence":[],"data":{"ecosystems":["crates.io","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":2.0,"findings":30.0,"findings_high":22.0,"findings_medium":7.0,"findings_low":1.0,"penalty":260.4},"findings":[{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/release.yml","line":35,"fingerprint":"template-injection:.github/workflows/release.yml:35"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":29,"fingerprint":"unpinned-uses:.github/workflows/release.yml:29"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":58,"fingerprint":"unpinned-uses:.github/workflows/release.yml:58"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":69,"fingerprint":"unpinned-uses:.github/workflows/release.yml:69"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":116,"fingerprint":"unpinned-uses:.github/workflows/release.yml:116"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":119,"fingerprint":"unpinned-uses:.github/workflows/release.yml:119"},{"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":159,"fingerprint":"unpinned-uses:.github/workflows/release.yml:159"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":198,"fingerprint":"unpinned-uses:.github/workflows/release.yml:198"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":215,"fingerprint":"unpinned-uses:.github/workflows/release.yml:215"},{"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":119,"fingerprint":"cache-poisoning:.github/workflows/release.yml:119"},{"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":159,"fingerprint":"cache-poisoning:.github/workflows/release.yml:159"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":30,"fingerprint":"template-injection:.github/workflows/update-version.yml:30"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":37,"fingerprint":"template-injection:.github/workflows/update-version.yml:37"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":52,"fingerprint":"template-injection:.github/workflows/update-version.yml:52"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":59,"fingerprint":"template-injection:.github/workflows/update-version.yml:59"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":64,"fingerprint":"template-injection:.github/workflows/update-version.yml:64"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/update-version.yml","line":65,"fingerprint":"template-injection:.github/workflows/update-version.yml:65"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-version.yml","line":15,"fingerprint":"unpinned-uses:.github/workflows/update-version.yml:15"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-version.yml","line":20,"fingerprint":"unpinned-uses:.github/workflows/update-version.yml:20"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-version.yml","line":23,"fingerprint":"unpinned-uses:.github/workflows/update-version.yml:23"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":29,"fingerprint":"artipacked:.github/workflows/release.yml:29"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":116,"fingerprint":"artipacked:.github/workflows/release.yml:116"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":1,"fingerprint":"excessive-permissions:.github/workflows/release.yml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":22,"fingerprint":"excessive-permissions:.github/workflows/release.yml:22"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":94,"fingerprint":"excessive-permissions:.github/workflows/release.yml:94"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/update-version.yml","line":15,"fingerprint":"artipacked:.github/workflows/update-version.yml:15"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/update-version.yml","line":12,"fingerprint":"excessive-permissions:.github/workflows/update-version.yml:12"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":69,"fingerprint":"superfluous-actions:.github/workflows/release.yml:69"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.205,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"packages/sketch-plugin/package.json has no lockfile alongside it (unpinned dependencies)","ref":"packages/sketch-plugin/package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":88.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v1.6.4 ships Dataset.Viewer-1.6.4-1.x86_64.rpm (28 downloads)","ref":"Dataset.Viewer-1.6.4-1.x86_64.rpm","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer-1.6.4-1.x86_64.rpm","weight":0.0},{"kind":"binary-release-asset","description":"release v1.6.4 ships Dataset.Viewer_1.6.4_aarch64.dmg (474 downloads)","ref":"Dataset.Viewer_1.6.4_aarch64.dmg","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_aarch64.dmg","weight":0.0},{"kind":"binary-release-asset","description":"release v1.6.4 ships Dataset.Viewer_1.6.4_amd64.AppImage (177 downloads)","ref":"Dataset.Viewer_1.6.4_amd64.AppImage","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_amd64.AppImage","weight":0.0},{"kind":"binary-release-asset","description":"release v1.6.4 ships Dataset.Viewer_1.6.4_amd64.deb (90 downloads)","ref":"Dataset.Viewer_1.6.4_amd64.deb","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_amd64.deb","weight":0.0},{"kind":"binary-release-asset","description":"release v1.6.4 ships Dataset.Viewer_1.6.4_x64.dmg (103 downloads)","ref":"Dataset.Viewer_1.6.4_x64.dmg","url":"https://github.com/stardustai/dataset-viewer/releases/download/v1.6.4/Dataset.Viewer_1.6.4_x64.dmg","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":1900.0,"function_nloc":28846.0,"mean_ccn":3.39,"p90_ccn":8.0,"complex_functions":49.0,"long_functions":30.0,"many_param_functions":11.0,"risky_nloc_share":0.2034},"findings":[],"evidence":[{"kind":"complex-function","description":"(anonymous) in src/components/FileViewer/viewers/VirtualizedTextViewer.tsx: complexity 55, 172 lines","ref":"src/components/FileViewer/viewers/VirtualizedTextViewer.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/components/FileViewer/viewers/VirtualizedTextViewer.tsx#L307","weight":0.9166666666666666},{"kind":"complex-function","description":"parse_webdav_xml in src-tauri/src/storage/webdav_client.rs: complexity 52, 121 lines","ref":"src-tauri/src/storage/webdav_client.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/storage/webdav_client.rs#L488","weight":0.8666666666666667},{"kind":"complex-function","description":"loadDirectory in src/components/FileBrowser/index.tsx: complexity 43, 144 lines","ref":"src/components/FileBrowser/index.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/components/FileBrowser/index.tsx#L296","weight":0.7166666666666667},{"kind":"complex-function","description":"FileBrowser in src/components/FileBrowser/index.tsx: complexity 34, 259 lines","ref":"src/components/FileBrowser/index.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/components/FileBrowser/index.tsx#L74","weight":0.5666666666666667},{"kind":"complex-function","description":"ConnectionFormContainer in src/components/ConnectionPanel/ConnectionFormContainer.tsx: complexity 31, 126 lines","ref":"src/components/ConnectionPanel/ConnectionFormContainer.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/components/ConnectionPanel/ConnectionFormContainer.tsx#L40","weight":0.5166666666666667},{"kind":"complex-function","description":"(anonymous) in src/services/connectionStorage.ts: complexity 29, 52 lines","ref":"src/services/connectionStorage.ts","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/services/connectionStorage.ts#L88","weight":0.48333333333333334},{"kind":"complex-function","description":"get_content_type in src-tauri/src/utils/protocol_handler.rs: complexity 28, 32 lines","ref":"src-tauri/src/utils/protocol_handler.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/utils/protocol_handler.rs#L71","weight":0.4666666666666667},{"kind":"complex-function","description":"computeJsonFoldingRange in src/utils/folding.ts: complexity 27, 106 lines","ref":"src/utils/folding.ts","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/utils/folding.ts#L476","weight":0.45},{"kind":"complex-function","description":"parse_list_objects_response in src-tauri/src/storage/oss/parser.rs: complexity 26, 131 lines","ref":"src-tauri/src/storage/oss/parser.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/storage/oss/parser.rs#L97","weight":0.43333333333333335},{"kind":"complex-function","description":"FileViewerSearchBar in src/components/FileViewer/FileViewerSearchBar.tsx: complexity 26, 156 lines","ref":"src/components/FileViewer/FileViewerSearchBar.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src/components/FileViewer/FileViewerSearchBar.tsx#L58","weight":0.43333333333333335}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":31110.0,"duplicated_lines":2820.0,"duplicated_share":0.0906,"files":207.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: packages/cad-plugin/src/CADViewer.tsx:213 and packages/cad-plugin/src/CADViewer.tsx:362","ref":"packages/cad-plugin/src/CADViewer.tsx","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/packages/cad-plugin/src/CADViewer.tsx#L213","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/gzip.rs:36 and src-tauri/src/archive/formats/tar.rs:35","ref":"src-tauri/src/archive/formats/gzip.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/gzip.rs#L36","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/mod.rs:28 and src-tauri/src/archive/formats/tar.rs:21","ref":"src-tauri/src/archive/formats/mod.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/mod.rs#L28","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/rar.rs:15 and src-tauri/src/archive/formats/seven_zip.rs:15","ref":"src-tauri/src/archive/formats/rar.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/rar.rs#L15","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/rar.rs:253 and src-tauri/src/archive/formats/rar.rs:265","ref":"src-tauri/src/archive/formats/rar.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/rar.rs#L253","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/tar.rs:11 and src-tauri/src/archive/formats/tar_gz.rs:16","ref":"src-tauri/src/archive/formats/tar.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/tar.rs#L11","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/tar.rs:13 and src-tauri/src/archive/formats/zip.rs:14","ref":"src-tauri/src/archive/formats/tar.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/tar.rs#L13","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/tar.rs:133 and src-tauri/src/archive/formats/tar.rs:288","ref":"src-tauri/src/archive/formats/tar.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/tar.rs#L133","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/tar_gz.rs:370 and src-tauri/src/archive/formats/tar_gz.rs:411","ref":"src-tauri/src/archive/formats/tar_gz.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/tar_gz.rs#L370","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src-tauri/src/archive/formats/zip.rs:164 and src-tauri/src/archive/formats/zip.rs:172","ref":"src-tauri/src/archive/formats/zip.rs","url":"https://github.com/stardustai/dataset-viewer/blob/47acb50658414581336580a57083ddc758ee4827/src-tauri/src/archive/formats/zip.rs#L164","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":12.0,"weighted_findings":9.0,"scanned_lines":43700.0,"category:best-practice":8.0,"category:correctness":4.0},"findings":[{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"src/components/FileBrowser/ConnectionSwitcher.tsx","line":67,"fingerprint":"javascript.lang.best-practice.javascript-confirm:src/components/FileBrowser/ConnectionSwitcher.tsx:67"},{"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/FileViewer/common/LazyComponentWrapper.tsx","line":44,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/FileViewer/common/LazyComponentWrapper.tsx:44"},{"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/FileViewer/common/LazyComponentWrapper.tsx","line":49,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/FileViewer/common/LazyComponentWrapper.tsx:49"},{"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/FileViewer/common/UnifiedContentModal.tsx","line":216,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/FileViewer/common/UnifiedContentModal.tsx:216"},{"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/FileViewer/common/UnifiedContentModal.tsx","line":226,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/FileViewer/common/UnifiedContentModal.tsx:226"},{"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/FileViewer/common/UnifiedContentModal.tsx","line":233,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/FileViewer/common/UnifiedContentModal.tsx:233"},{"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/hooks/useMediaQuery.ts","line":9,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/hooks/useMediaQuery.ts:9"},{"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/utils/connectionIcons.tsx","line":28,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/utils/connectionIcons.tsx: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":"src/components/ConnectionPanel/ConnectionSelector.tsx","line":19,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/ConnectionPanel/ConnectionSelector.tsx: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/components/ConnectionPanel/ConnectionSelector.tsx","line":19,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/ConnectionPanel/ConnectionSelector.tsx: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/components/FileViewer/viewers/PointCloudViewer/PointCloudToolbar.tsx","line":91,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/FileViewer/viewers/PointCloudViewer/PointCloudToolbar.tsx:91"},{"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/FileViewer/viewers/PointCloudViewer/PointCloudToolbar.tsx","line":91,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/components/FileViewer/viewers/PointCloudViewer/PointCloudToolbar.tsx:91"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":43700.0,"test_ratio":0.0,"ci_files":2.0,"cochange_share":0.0,"cochange_commits":149.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/update-version.yml","ref":".github/workflows/update-version.yml","url":null,"weight":0.0}],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":0.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":98.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":1.0,"check:low_escape_density":1.0,"escapes":140.0,"escapes_per_kloc":4.515},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: packages/cad-plugin/tsconfig.json","ref":"packages/cad-plugin/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":4421.0,"other_lines":39279.0,"files_blamed":207.0,"blame_failures":0.0,"quality:ai_findings":2.0,"quality:ai_per_kloc":0.452,"quality:other_findings":10.0,"quality:other_per_kloc":0.255,"quality:ratio":1.77,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":52.0,"security:other_per_kloc":1.324,"security:ratio":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}