{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:06.910896Z","repo":{"ref":{"host":"github.com","owner":"prosperity-solutions","name":"veld"},"default_branch":"main","clone_url":"https://github.com/prosperity-solutions/veld.git","html_url":"https://github.com/prosperity-solutions/veld","description":"Like if Kubernetes and localhost had a magic, agentic baby — with a gorgeous UI.","stars":12,"forks":2,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":15519,"primary_language":"Rust","license_spdx":"MIT","created_at":"2026-03-11T07:53:30Z","pushed_at":"2026-11-13T08:30:19Z","security_policy_url":null,"distribution":{"owner_created_at":"2024-12-18T20:13:08Z","owner_type":"Organization","release_assets":[{"name":"checksums.txt","size":1810,"download_count":10,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/checksums.txt"},{"name":"latest-linux.yml","size":408,"download_count":151,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/latest-linux.yml"},{"name":"latest-mac.yml","size":528,"download_count":576,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/latest-mac.yml"},{"name":"veld-17.10.0-linux-amd64.tar.gz","size":46189200,"download_count":2,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-linux-amd64.tar.gz"},{"name":"veld-17.10.0-linux-arm64.tar.gz","size":44606924,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-linux-arm64.tar.gz"},{"name":"veld-17.10.0-macos-amd64.tar.gz","size":46726883,"download_count":2,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-macos-amd64.tar.gz"},{"name":"veld-17.10.0-macos-arm64.tar.gz","size":42236424,"download_count":8,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.10.0-linux-amd64.deb","size":99553384,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-linux-amd64.deb"},{"name":"veld-desktop-17.10.0-linux-x86_64.AppImage","size":127597597,"download_count":8,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.10.0-mac-arm64.dmg","size":119462894,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-arm64.dmg"},{"name":"veld-desktop-17.10.0-mac-arm64.zip","size":118974968,"download_count":8,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-arm64.zip"},{"name":"veld-desktop-17.10.0-mac-arm64.zip.blockmap","size":125489,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.10.0-mac-x64.dmg","size":124237143,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-x64.dmg"},{"name":"veld-desktop-17.10.0-mac-x64.zip","size":123768618,"download_count":2,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-x64.zip"},{"name":"veld-desktop-17.10.0-mac-x64.zip.blockmap","size":130512,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.10.0-linux-amd64.tar.gz","size":9096156,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-gateway-17.10.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.10.0-linux-arm64.tar.gz","size":9237541,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-gateway-17.10.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.10.0-macos-amd64.tar.gz","size":8403028,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-gateway-17.10.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.10.0-macos-arm64.tar.gz","size":7693437,"download_count":1,"release_tag":"v17.10.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-gateway-17.10.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":3,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":17,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/latest-mac.yml"},{"name":"veld-17.9.0-linux-amd64.tar.gz","size":46187477,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-17.9.0-linux-amd64.tar.gz"},{"name":"veld-17.9.0-linux-arm64.tar.gz","size":44609934,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-17.9.0-linux-arm64.tar.gz"},{"name":"veld-17.9.0-macos-amd64.tar.gz","size":46721517,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-17.9.0-macos-amd64.tar.gz"},{"name":"veld-17.9.0-macos-arm64.tar.gz","size":42232655,"download_count":3,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-17.9.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.9.0-linux-amd64.deb","size":99553648,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-linux-amd64.deb"},{"name":"veld-desktop-17.9.0-linux-x86_64.AppImage","size":127597599,"download_count":2,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.9.0-mac-arm64.dmg","size":119459535,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-arm64.dmg"},{"name":"veld-desktop-17.9.0-mac-arm64.zip","size":118974932,"download_count":3,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-arm64.zip"},{"name":"veld-desktop-17.9.0-mac-arm64.zip.blockmap","size":125363,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.9.0-mac-x64.dmg","size":124237227,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-x64.dmg"},{"name":"veld-desktop-17.9.0-mac-x64.zip","size":123768570,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-x64.zip"},{"name":"veld-desktop-17.9.0-mac-x64.zip.blockmap","size":130387,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-desktop-17.9.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.9.0-linux-amd64.tar.gz","size":9094979,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-gateway-17.9.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.9.0-linux-arm64.tar.gz","size":9240141,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-gateway-17.9.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.9.0-macos-amd64.tar.gz","size":8402791,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-gateway-17.9.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.9.0-macos-arm64.tar.gz","size":7693514,"download_count":1,"release_tag":"v17.9.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.9.0/veld-gateway-17.9.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":4,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":21,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/latest-mac.yml"},{"name":"veld-17.8.0-linux-amd64.tar.gz","size":46189601,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-17.8.0-linux-amd64.tar.gz"},{"name":"veld-17.8.0-linux-arm64.tar.gz","size":44602371,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-17.8.0-linux-arm64.tar.gz"},{"name":"veld-17.8.0-macos-amd64.tar.gz","size":46737010,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-17.8.0-macos-amd64.tar.gz"},{"name":"veld-17.8.0-macos-arm64.tar.gz","size":42236289,"download_count":4,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-17.8.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.8.0-linux-amd64.deb","size":99553504,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-linux-amd64.deb"},{"name":"veld-desktop-17.8.0-linux-x86_64.AppImage","size":127597602,"download_count":2,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.8.0-mac-arm64.dmg","size":119457310,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-arm64.dmg"},{"name":"veld-desktop-17.8.0-mac-arm64.zip","size":118974987,"download_count":4,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-arm64.zip"},{"name":"veld-desktop-17.8.0-mac-arm64.zip.blockmap","size":125422,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.8.0-mac-x64.dmg","size":124232757,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-x64.dmg"},{"name":"veld-desktop-17.8.0-mac-x64.zip","size":123768639,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-x64.zip"},{"name":"veld-desktop-17.8.0-mac-x64.zip.blockmap","size":130437,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-desktop-17.8.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.8.0-linux-amd64.tar.gz","size":9097788,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-gateway-17.8.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.8.0-linux-arm64.tar.gz","size":9242142,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-gateway-17.8.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.8.0-macos-amd64.tar.gz","size":8402486,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-gateway-17.8.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.8.0-macos-arm64.tar.gz","size":7694390,"download_count":1,"release_tag":"v17.8.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.8.0/veld-gateway-17.8.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":3,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":2,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":7,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/latest-mac.yml"},{"name":"veld-17.7.0-linux-amd64.tar.gz","size":46070011,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-17.7.0-linux-amd64.tar.gz"},{"name":"veld-17.7.0-linux-arm64.tar.gz","size":44485145,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-17.7.0-linux-arm64.tar.gz"},{"name":"veld-17.7.0-macos-amd64.tar.gz","size":46620011,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-17.7.0-macos-amd64.tar.gz"},{"name":"veld-17.7.0-macos-arm64.tar.gz","size":42127042,"download_count":2,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-17.7.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.7.0-linux-amd64.deb","size":99554104,"download_count":0,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-linux-amd64.deb"},{"name":"veld-desktop-17.7.0-linux-x86_64.AppImage","size":127597603,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.7.0-mac-arm64.dmg","size":119464199,"download_count":2,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-arm64.dmg"},{"name":"veld-desktop-17.7.0-mac-arm64.zip","size":118974942,"download_count":2,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-arm64.zip"},{"name":"veld-desktop-17.7.0-mac-arm64.zip.blockmap","size":125610,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.7.0-mac-x64.dmg","size":124236552,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-x64.dmg"},{"name":"veld-desktop-17.7.0-mac-x64.zip","size":123768580,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-x64.zip"},{"name":"veld-desktop-17.7.0-mac-x64.zip.blockmap","size":130641,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-desktop-17.7.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.7.0-linux-amd64.tar.gz","size":9094669,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-gateway-17.7.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.7.0-linux-arm64.tar.gz","size":9239787,"download_count":0,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-gateway-17.7.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.7.0-macos-amd64.tar.gz","size":8403212,"download_count":1,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-gateway-17.7.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.7.0-macos-arm64.tar.gz","size":7693438,"download_count":0,"release_tag":"v17.7.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.7.0/veld-gateway-17.7.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":2,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":2,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/latest-mac.yml"},{"name":"veld-17.6.0-linux-amd64.tar.gz","size":46069621,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-17.6.0-linux-amd64.tar.gz"},{"name":"veld-17.6.0-linux-arm64.tar.gz","size":44494383,"download_count":0,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-17.6.0-linux-arm64.tar.gz"},{"name":"veld-17.6.0-macos-amd64.tar.gz","size":46606297,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-17.6.0-macos-amd64.tar.gz"},{"name":"veld-17.6.0-macos-arm64.tar.gz","size":42144531,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-17.6.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.6.0-linux-amd64.deb","size":99553172,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-linux-amd64.deb"},{"name":"veld-desktop-17.6.0-linux-x86_64.AppImage","size":127597585,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.6.0-mac-arm64.dmg","size":119470522,"download_count":0,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-arm64.dmg"},{"name":"veld-desktop-17.6.0-mac-arm64.zip","size":118974600,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-arm64.zip"},{"name":"veld-desktop-17.6.0-mac-arm64.zip.blockmap","size":125404,"download_count":0,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.6.0-mac-x64.dmg","size":124240006,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-x64.dmg"},{"name":"veld-desktop-17.6.0-mac-x64.zip","size":123768269,"download_count":0,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-x64.zip"},{"name":"veld-desktop-17.6.0-mac-x64.zip.blockmap","size":130465,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-desktop-17.6.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.6.0-linux-amd64.tar.gz","size":9094170,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-gateway-17.6.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.6.0-linux-arm64.tar.gz","size":9236383,"download_count":0,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-gateway-17.6.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.6.0-macos-amd64.tar.gz","size":8403508,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-gateway-17.6.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.6.0-macos-arm64.tar.gz","size":7693180,"download_count":1,"release_tag":"v17.6.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.6.0/veld-gateway-17.6.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":4,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/latest-mac.yml"},{"name":"veld-17.5.0-linux-amd64.tar.gz","size":45973770,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-17.5.0-linux-amd64.tar.gz"},{"name":"veld-17.5.0-linux-arm64.tar.gz","size":44383155,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-17.5.0-linux-arm64.tar.gz"},{"name":"veld-17.5.0-macos-amd64.tar.gz","size":46527204,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-17.5.0-macos-amd64.tar.gz"},{"name":"veld-17.5.0-macos-arm64.tar.gz","size":42023124,"download_count":2,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-17.5.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.5.0-linux-amd64.deb","size":99553016,"download_count":0,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-linux-amd64.deb"},{"name":"veld-desktop-17.5.0-linux-x86_64.AppImage","size":127597599,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.5.0-mac-arm64.dmg","size":119461222,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-arm64.dmg"},{"name":"veld-desktop-17.5.0-mac-arm64.zip","size":118974585,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-arm64.zip"},{"name":"veld-desktop-17.5.0-mac-arm64.zip.blockmap","size":125561,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.5.0-mac-x64.dmg","size":124238767,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-x64.dmg"},{"name":"veld-desktop-17.5.0-mac-x64.zip","size":123768215,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-x64.zip"},{"name":"veld-desktop-17.5.0-mac-x64.zip.blockmap","size":130537,"download_count":0,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-desktop-17.5.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.5.0-linux-amd64.tar.gz","size":9091858,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-gateway-17.5.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.5.0-linux-arm64.tar.gz","size":9233477,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-gateway-17.5.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.5.0-macos-amd64.tar.gz","size":8401903,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-gateway-17.5.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.5.0-macos-arm64.tar.gz","size":7692818,"download_count":1,"release_tag":"v17.5.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.5.0/veld-gateway-17.5.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":5,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":43,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/latest-mac.yml"},{"name":"veld-17.4.0-linux-amd64.tar.gz","size":45928140,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-17.4.0-linux-amd64.tar.gz"},{"name":"veld-17.4.0-linux-arm64.tar.gz","size":44359426,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-17.4.0-linux-arm64.tar.gz"},{"name":"veld-17.4.0-macos-amd64.tar.gz","size":46449674,"download_count":2,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-17.4.0-macos-amd64.tar.gz"},{"name":"veld-17.4.0-macos-arm64.tar.gz","size":41976320,"download_count":4,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-17.4.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.4.0-linux-amd64.deb","size":99550856,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-linux-amd64.deb"},{"name":"veld-desktop-17.4.0-linux-x86_64.AppImage","size":127593547,"download_count":3,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.4.0-mac-arm64.dmg","size":119459019,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-arm64.dmg"},{"name":"veld-desktop-17.4.0-mac-arm64.zip","size":118971768,"download_count":4,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-arm64.zip"},{"name":"veld-desktop-17.4.0-mac-arm64.zip.blockmap","size":125508,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.4.0-mac-x64.dmg","size":124210882,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-x64.dmg"},{"name":"veld-desktop-17.4.0-mac-x64.zip","size":123765386,"download_count":2,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-x64.zip"},{"name":"veld-desktop-17.4.0-mac-x64.zip.blockmap","size":130517,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-desktop-17.4.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.4.0-linux-amd64.tar.gz","size":9092950,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-gateway-17.4.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.4.0-linux-arm64.tar.gz","size":9235332,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-gateway-17.4.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.4.0-macos-amd64.tar.gz","size":8402415,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-gateway-17.4.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.4.0-macos-arm64.tar.gz","size":7693604,"download_count":1,"release_tag":"v17.4.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.4.0/veld-gateway-17.4.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":2,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/latest-mac.yml"},{"name":"veld-17.3.0-linux-amd64.tar.gz","size":45809029,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-17.3.0-linux-amd64.tar.gz"},{"name":"veld-17.3.0-linux-arm64.tar.gz","size":44246445,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-17.3.0-linux-arm64.tar.gz"},{"name":"veld-17.3.0-macos-amd64.tar.gz","size":46318667,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-17.3.0-macos-amd64.tar.gz"},{"name":"veld-17.3.0-macos-arm64.tar.gz","size":41859814,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-17.3.0-macos-arm64.tar.gz"},{"name":"veld-desktop-17.3.0-linux-amd64.deb","size":99551476,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-linux-amd64.deb"},{"name":"veld-desktop-17.3.0-linux-x86_64.AppImage","size":127593524,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-linux-x86_64.AppImage"},{"name":"veld-desktop-17.3.0-mac-arm64.dmg","size":119460913,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-arm64.dmg"},{"name":"veld-desktop-17.3.0-mac-arm64.zip","size":118971205,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-arm64.zip"},{"name":"veld-desktop-17.3.0-mac-arm64.zip.blockmap","size":125406,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.3.0-mac-x64.dmg","size":124213373,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-x64.dmg"},{"name":"veld-desktop-17.3.0-mac-x64.zip","size":123764870,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-x64.zip"},{"name":"veld-desktop-17.3.0-mac-x64.zip.blockmap","size":130456,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-desktop-17.3.0-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.3.0-linux-amd64.tar.gz","size":9090865,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-gateway-17.3.0-linux-amd64.tar.gz"},{"name":"veld-gateway-17.3.0-linux-arm64.tar.gz","size":9234811,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-gateway-17.3.0-linux-arm64.tar.gz"},{"name":"veld-gateway-17.3.0-macos-amd64.tar.gz","size":8401868,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-gateway-17.3.0-macos-amd64.tar.gz"},{"name":"veld-gateway-17.3.0-macos-arm64.tar.gz","size":7693384,"download_count":1,"release_tag":"v17.3.0","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.3.0/veld-gateway-17.3.0-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":2,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":27,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/latest-mac.yml"},{"name":"veld-17.2.2-linux-amd64.tar.gz","size":45808507,"download_count":2,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-17.2.2-linux-amd64.tar.gz"},{"name":"veld-17.2.2-linux-arm64.tar.gz","size":44237987,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-17.2.2-linux-arm64.tar.gz"},{"name":"veld-17.2.2-macos-amd64.tar.gz","size":46319128,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-17.2.2-macos-amd64.tar.gz"},{"name":"veld-17.2.2-macos-arm64.tar.gz","size":41858555,"download_count":2,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-17.2.2-macos-arm64.tar.gz"},{"name":"veld-desktop-17.2.2-linux-amd64.deb","size":99549912,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-linux-amd64.deb"},{"name":"veld-desktop-17.2.2-linux-x86_64.AppImage","size":127593488,"download_count":2,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-linux-x86_64.AppImage"},{"name":"veld-desktop-17.2.2-mac-arm64.dmg","size":119456258,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-arm64.dmg"},{"name":"veld-desktop-17.2.2-mac-arm64.zip","size":118971163,"download_count":2,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-arm64.zip"},{"name":"veld-desktop-17.2.2-mac-arm64.zip.blockmap","size":125531,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.2.2-mac-x64.dmg","size":124202243,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-x64.dmg"},{"name":"veld-desktop-17.2.2-mac-x64.zip","size":123764786,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-x64.zip"},{"name":"veld-desktop-17.2.2-mac-x64.zip.blockmap","size":130620,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-desktop-17.2.2-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.2.2-linux-amd64.tar.gz","size":9090625,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-gateway-17.2.2-linux-amd64.tar.gz"},{"name":"veld-gateway-17.2.2-linux-arm64.tar.gz","size":9235672,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-gateway-17.2.2-linux-arm64.tar.gz"},{"name":"veld-gateway-17.2.2-macos-amd64.tar.gz","size":8402529,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-gateway-17.2.2-macos-amd64.tar.gz"},{"name":"veld-gateway-17.2.2-macos-arm64.tar.gz","size":7693975,"download_count":1,"release_tag":"v17.2.2","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.2/veld-gateway-17.2.2-macos-arm64.tar.gz"},{"name":"checksums.txt","size":1794,"download_count":9,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/checksums.txt"},{"name":"latest-linux.yml","size":405,"download_count":4,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/latest-linux.yml"},{"name":"latest-mac.yml","size":524,"download_count":155,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/latest-mac.yml"},{"name":"veld-17.2.1-linux-amd64.tar.gz","size":45820535,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-17.2.1-linux-amd64.tar.gz"},{"name":"veld-17.2.1-linux-arm64.tar.gz","size":44245690,"download_count":1,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-17.2.1-linux-arm64.tar.gz"},{"name":"veld-17.2.1-macos-amd64.tar.gz","size":46321198,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-17.2.1-macos-amd64.tar.gz"},{"name":"veld-17.2.1-macos-arm64.tar.gz","size":41858031,"download_count":9,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-17.2.1-macos-arm64.tar.gz"},{"name":"veld-desktop-17.2.1-linux-amd64.deb","size":99549976,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-linux-amd64.deb"},{"name":"veld-desktop-17.2.1-linux-x86_64.AppImage","size":127593486,"download_count":5,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-linux-x86_64.AppImage"},{"name":"veld-desktop-17.2.1-mac-arm64.dmg","size":119456690,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-arm64.dmg"},{"name":"veld-desktop-17.2.1-mac-arm64.zip","size":118971113,"download_count":9,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-arm64.zip"},{"name":"veld-desktop-17.2.1-mac-arm64.zip.blockmap","size":125550,"download_count":1,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-arm64.zip.blockmap"},{"name":"veld-desktop-17.2.1-mac-x64.dmg","size":124204208,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-x64.dmg"},{"name":"veld-desktop-17.2.1-mac-x64.zip","size":123764777,"download_count":1,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-x64.zip"},{"name":"veld-desktop-17.2.1-mac-x64.zip.blockmap","size":130634,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-desktop-17.2.1-mac-x64.zip.blockmap"},{"name":"veld-gateway-17.2.1-linux-amd64.tar.gz","size":9092656,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-gateway-17.2.1-linux-amd64.tar.gz"},{"name":"veld-gateway-17.2.1-linux-arm64.tar.gz","size":9235058,"download_count":1,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-gateway-17.2.1-linux-arm64.tar.gz"},{"name":"veld-gateway-17.2.1-macos-amd64.tar.gz","size":8401152,"download_count":1,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-gateway-17.2.1-macos-amd64.tar.gz"},{"name":"veld-gateway-17.2.1-macos-arm64.tar.gz","size":7693426,"download_count":2,"release_tag":"v17.2.1","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.2.1/veld-gateway-17.2.1-macos-arm64.tar.gz"}]}},"commit_sha":"6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1","profile":{"lines_by_language":{"Rust":190708,"TypeScript":90438,"JavaScript":15036,"Shell":6262,"Python":2743},"files_by_category":{"source":363,"test":115,"config":48,"docs":39,"other":20,"binary":6,"generated":4},"source_lines":269483,"test_lines":35704},"pillars":{"ai_provenance":{"score":24.5,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.2449,"suspected_share":0.4106,"estimated_share":0.2449,"ai_artifacts":7.0,"flagged_work_units":70.0,"flagged_releases":1.0,"style_index":0.168},"summary":"Explicit AI attribution on 24% of first-party code added; an estimated 24% including velocity signals."},"quality":{"score":78.7,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":50.9,"duplication":87.3,"lint":94.6,"testing":81.6,"docs":80.0,"type_safety":99.7,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.13, CI runs tests; 23% of function code in complex or long functions; 2% duplicated lines. Weakest area: complexity."},"security":{"score":51.3,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":48.8,"sast":94.7,"dependencies":1.5,"ci_actions":58.3,"posture":60.0,"scorecard":null},"summary":"Security posture is weak: 1 possible secret(s) in the tree, 0 only in history; 165 known vulnerabilities in 41 dependencies; 1 high-severity SAST findings; 1 high-severity workflow issues. Weakest area: dependencies."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":75.0,"checked":75.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":718.0,"attributed_commits":286.0,"attributed_commit_share":0.3983286908077994,"effective_loc":385030.0,"attributed_loc":94297.0,"attributed_loc_share":0.24490818897228786,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 286 attributed commits, 94,297 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"30adebcb7a873bb2045f647cef93925c63a98dcf","url":"https://github.com/prosperity-solutions/veld/commit/30adebcb7a873bb2045f647cef93925c63a98dcf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"26c9cd8284a8295997b0d2f6021d5c7ba1ae3541","url":"https://github.com/prosperity-solutions/veld/commit/26c9cd8284a8295997b0d2f6021d5c7ba1ae3541","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"66bf20d1c1eb440ab62674e64c637284f64e4bba","url":"https://github.com/prosperity-solutions/veld/commit/66bf20d1c1eb440ab62674e64c637284f64e4bba","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"ead118bad12f07cc9e64818f63e30c1911384ead","url":"https://github.com/prosperity-solutions/veld/commit/ead118bad12f07cc9e64818f63e30c1911384ead","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"c094a8b5139aee309d6657bd142198fe359ca478","url":"https://github.com/prosperity-solutions/veld/commit/c094a8b5139aee309d6657bd142198fe359ca478","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"1c854796bc3162b245bfbacbf14338893eec87ad","url":"https://github.com/prosperity-solutions/veld/commit/1c854796bc3162b245bfbacbf14338893eec87ad","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"38f2fb16d7754aad6fdedcf9e6f761c4afb63237","url":"https://github.com/prosperity-solutions/veld/commit/38f2fb16d7754aad6fdedcf9e6f761c4afb63237","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"f2026f0091a39ea314bea4996204b7a44e672fb6","url":"https://github.com/prosperity-solutions/veld/commit/f2026f0091a39ea314bea4996204b7a44e672fb6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"0a181c2b6f7783c17b126ba29f8798be90c109fd","url":"https://github.com/prosperity-solutions/veld/commit/0a181c2b6f7783c17b126ba29f8798be90c109fd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"f6749fa83a5d766dcee106a13564c24815e60061","url":"https://github.com/prosperity-solutions/veld/commit/f6749fa83a5d766dcee106a13564c24815e60061","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"2acbd5e314a8119628b6f904b5e6aff2bc194cf2","url":"https://github.com/prosperity-solutions/veld/commit/2acbd5e314a8119628b6f904b5e6aff2bc194cf2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"633ef2ba2c8c9c23bdb99408930ad05a282dd319","url":"https://github.com/prosperity-solutions/veld/commit/633ef2ba2c8c9c23bdb99408930ad05a282dd319","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"6442034c35386be4a62d1efc5954be543b5818a6","url":"https://github.com/prosperity-solutions/veld/commit/6442034c35386be4a62d1efc5954be543b5818a6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"0654b42bff28470a451b399ea82bde3ca9cd0f63","url":"https://github.com/prosperity-solutions/veld/commit/0654b42bff28470a451b399ea82bde3ca9cd0f63","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"a7049fb7083f14f411476cd7bf9d2d5b10968b47","url":"https://github.com/prosperity-solutions/veld/commit/a7049fb7083f14f411476cd7bf9d2d5b10968b47","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"9819a201594850065b8a7a3f8da16af7c7d267b0","url":"https://github.com/prosperity-solutions/veld/commit/9819a201594850065b8a7a3f8da16af7c7d267b0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"8e7b69ac6f3da9b1750e2f120a9fb5f4101eaccd","url":"https://github.com/prosperity-solutions/veld/commit/8e7b69ac6f3da9b1750e2f120a9fb5f4101eaccd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"0c10188a7ca4e930e6b90cc03a6534ca7c166d97","url":"https://github.com/prosperity-solutions/veld/commit/0c10188a7ca4e930e6b90cc03a6534ca7c166d97","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"9660ddd54c0fa80f6ffacf8a22778da1ac672c96","url":"https://github.com/prosperity-solutions/veld/commit/9660ddd54c0fa80f6ffacf8a22778da1ac672c96","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"196951564bca8596678fe785a7dc5be85f9f05cc","url":"https://github.com/prosperity-solutions/veld/commit/196951564bca8596678fe785a7dc5be85f9f05cc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"ac31689c9f86edf5a1c0f4bb7ba3c95c316dd397","url":"https://github.com/prosperity-solutions/veld/commit/ac31689c9f86edf5a1c0f4bb7ba3c95c316dd397","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"21558ffbeb2645d41cdeb501930fb329ffec4c94","url":"https://github.com/prosperity-solutions/veld/commit/21558ffbeb2645d41cdeb501930fb329ffec4c94","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: message 'Generated with [Claude Code'","ref":"6c40b88baf80cdb87f01e3cac7c5063b32cb666e","url":"https://github.com/prosperity-solutions/veld/commit/6c40b88baf80cdb87f01e3cac7c5063b32cb666e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"7aa722ff79040eefc6f6b341dbc3504a7c119b86","url":"https://github.com/prosperity-solutions/veld/commit/7aa722ff79040eefc6f6b341dbc3504a7c119b86","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"cd733ca706a3c6d70b8e1e906da574f8dfbb17ca","url":"https://github.com/prosperity-solutions/veld/commit/cd733ca706a3c6d70b8e1e906da574f8dfbb17ca","weight":0.9}],"data":{"attributed_loc_by_commit":{"8529f138164e846629a0875db1447647d07de924":6760,"6bacd37cfe303ed2fc7a7eac691f5a0cf69b04da":0,"a6a032b1eb0029320bc55bcea92ece9e47c786db":222,"5728d0e14dba1f531613c83ce5ec63670e6c5a00":76,"42763dc836976ee7436bc7d8f55361d29fcf5932":10,"8ed4c78771025abed11ef15c0fa547c88c23ee42":9,"09fe45c900eb1285d02b31812f2f803d0c0c5cd7":34,"a9441b0ba3f7356b47e9685ec4d67b5759f8c87a":3,"67addceb9536a13d33408ceb827664a009496bdc":114,"8ff84f968f52a4e1dbce501daaa7a19d67bbf586":45,"d1724ee478aad859bc9956dd7cb43756bafc2f8c":67,"7ffbd49c9c779c41efac99b42b334fcee40f9645":10,"27c9aa1a69e6261aa9308757d0fc982cd4146a22":14,"1b1703cb878a80c4b4fabf18d2a7610fab4f4b7d":7,"147e8925f4078703f7b50c3d14793c5c46424f03":0,"a33db70e90e0db8847cfefc15613915bcd59a969":0,"380de485614ddc4209525ff8bf98eb3f7eb8c916":0,"64fd6c9428ef786da26bb4b6fd1deb988e2ae3bc":0,"34082e6a7c46d39e3890dd650d1c5dc61f7db359":0,"936ea6d698f802b3190d89c3f1a515563020ecfc":0,"707faea7ffc0aa22e9f203de424ea0eeee6bffdf":0,"d84dbad7e8d9b798b01768013b4859f5a199778c":0,"40175fb300f2901b32f91cc9a430a7ef9d1a4b2c":117,"1d69aebe37ea4dc21c5705ffeefd65fcf2e255cb":1551,"c258d29959dc73040501d77d91f1c96992884574":2,"d96b1f44e162f26d7ca18ea129c446119f5c1e95":97,"6afcbb82d5fa69e429a55dc7022ab91d8a1a1546":10,"48a507ff552cee79fdd0e61cdb0fdf1cecc2c330":10,"5ad85987676139bcc54054b787ccd071694ea22c":0,"03130e447a59ae93b24ec5b7f0238f2ab25737f5":0,"29a2910fc42bbbd0e689bcc531571d0a894e5c6d":1,"9567a96c7f3eb414d5aa3971e4804251a02442af":85,"19c9f094da2c1ccd5f0aca31a168dd3618c726d8":10,"18b07247b462354d0cf5f7f76461f3ce15015a2c":7,"d659cb60949991559487c4cbc050e1c237130737":13,"1aeadbe794facbb24c366db72144327806031e71":20,"9ac34c702c3140b3619471fdf6176d835a5ffa5a":140,"455cbd80d4c8be5b806fba31019b99f6882e0541":85,"e8be454b1d89e05b71b7e5a841b6c69e58177a0c":3,"38cda14f4bef24e12ceddf51140a280a6ee7f4ae":13,"09084ffc8bce8b2051f71273662f346e39e19997":33,"0f1e0ea78d7eb52a32824d62358fc0886ee86676":46,"5044d381ccce10bab92363a1dc0dbd8a637bf19c":25,"b9d4c9242c525a589f2a7c847bc37a86de08c5e9":15,"c91be9f59b10438e51dd4cc3de1036f3115171d5":68,"32cbb451ba3c26a809dff5ebd937452846105a71":14,"5d59ed583a7fe68f1d599d6b699de7c3e4bb5922":22,"38044dc6558c4afd140cc18e607cc60b8f1a7156":37,"6bdafd02be3f1c32f2d79e1424972166ba2c2eea":6,"406fa9995d65443ca740809912416831c3b8d37e":306,"b5db3caf5407c9ba619069f9c19c2e7743f1445b":5,"a2a587f4c65b8c8e10f8a05dc79d0a907996ced1":54,"f43f0c1992f1a0112a16dd59df1f0bf8f7f4e767":91,"82d6dceb4ec722a626a84e91b76fabd090d9f79a":112,"3a01e101a3eb7cb787de00fe63fe240e7c60e0cb":71,"2bbe7195c61aee16fa73981fcb52c94db973eaa5":29,"0e5fd1492afffcdfc53eeeacede040a9fd8a6c1b":4,"23b029061a2fdf402dce4b7a5b258f8918fce67b":119,"b85d0e329daa906695445598510156509eee1714":0,"1b3bdd633e936e2d1ae832d39bbdedd62fda3612":96,"d2fdc4acd6d411c45a4d9fdf5ef460c24cc19646":38,"d91e5a668b6c1dca13190e29a992a0018d6dd04d":116,"1703b5f0956e032f7590ee8e6178f7104efa0e02":171,"dd2e9cec898a62bd438c60c2c18ba48bb2a2a8e2":78,"ba984bab340f67a98f5c2d59933f20f61c51c851":115,"fa7a0f3fb9df45688c11d5e0669a995a4f771353":41,"16cc2d238d3337f4c1798db3a1107568ac1c7da5":71,"cb0fc3518da422cecb8d172b84a076fea44ab4f0":42,"0e54012e01655cf05defd8f610bd8271a473d3e8":208,"3f56928d6aac656afb1a0a60817c889937693e05":369,"c6d8052b4584542748d2181ee3fca9a67a4628b9":131,"e5053c605b9a94b896b00d4711ea27a425b3d71a":1,"ca9bbca0ed69d9eb18a82dfc3d58de67a00398b1":24,"021d06eefa08dd4bad6e71e1e73599aec4bc685f":42,"5f3b0939e511238796336231ea551f35476a5d78":68,"63bda0744196a90e00e3ba96cfca60edf418488a":90,"9b16803bde436de70baabe38119815c5cab0dd22":468,"60e12b1fc81e8ae937eb8266228fb1798ad20193":133,"fc72f71805ab5636876e1d7d6536a3497d2de1b9":32,"737534d310775914fbfcf1cab9043f8b6fa9c7b5":336,"f10c9f90929083894f93dc5e24748ebaa9f62888":43,"480f4e43e496ab58344b9a7e112ffdac73e2e4fc":0,"d1aa0b026e9d7a88209ba2893f5cef0864e984b6":0,"50cac9b78c9a2f8d063765333bed8ee3196dba1c":0,"d130f8a4fc5f79b0043b72d3fd82ae641d21d58c":0,"abab1aa84a0db5627bcf37665438326cf160868b":5,"fb2d505a216facf526cc1a44697482e4dea0a737":1726,"9ba776a822e58df3174a05b70a9a37498a90c9ba":113,"47add26279b25a52a161dffd95dfe65e755ccda9":2478,"318fd11a77c84d780acd20efcc61ab0163ef220a":71,"2fdcf534fa769ca5a9d38bd4b46a6395efe4fcab":2,"021d2f05e09fbadcbcdb8704a21353cb5c9e3c1e":96,"a75bac562b4ef01c6373690c92bcf000bd579493":2,"090f67caadf2cc0aacc5f579ae190093809052dc":253,"cf315d170d6332acb78c7f7c6dc530f956558f60":19,"0450c9ae26927b0bc208c39819953b420a996ea1":41,"a948d9379041add17acaf88416ef37e14faa9687":1,"1b76b8cd77fa54d25316541b0e959896a8dbfa91":7,"e0e77f2c20429fe5c6278b58b07967b2806e44e5":30,"12335199c7c6b3c9d681b7345ee6c25d847c44e1":2,"b91834f30ffe351995f6a6a7050a84969fd440fc":2515,"945382b290c2cdca48ebf5fdb8f78ea32f03f64e":0,"5b41dcefe23232dce4a83743c0be7e548b5f4a19":19,"52dd36f73099090f0dfd3f0a1317122e2b15a3cb":38,"a543a098fc066f1f9e57cf671a10a8a5abbce417":47,"87c3f6b227dc51b0c74c3cb0109a045892e8b4b6":513,"6dbc4aecff93714dc940dad55135f510d9681f5f":163,"999bf5884db13462c640661cf19b39ee3bb31e44":766,"8af3bcff5ce271727de3782daed721f1f51b5d16":58,"cc1035c6b08d5ceeb281868d07a03ba386770f78":9,"1aa466791159f7c0641881e522920ab70e043451":48,"4bf009185f3db4c0b4848e3542be66cfe924f115":58,"35e8613adcc30e3c11e80e3b160cca8cccf725e5":39,"fb6c72a3f7d8b6c0ef6ab8858c2e98adc01c8043":11,"cdea49675a3061e6a7013e547fddfeb85da7558c":17,"8a7b74c05e8a5ad4e734e80facb7f6fbf7695d88":1,"2380de9b481c1f8ef3b136dc158dd41e99a85cca":0,"4f08057dfc2326fdc47fce45486d6312ab26f4d5":319,"d19b2c9fe52601223cc2798a7708a91df6314228":80,"63c5c087f006620b42164dfec743d31bd7d554dd":324,"be8b4d727263bf3e0e7a8c0799aaceab186c0871":138,"c859757f46f4332edd83d74872ba7dcadc9ed7f2":904,"01a00755799beba2d3d489e60b5eb97694f39af9":106,"c1cfb07628cc172065006fda5424ec51624f3bb4":122,"6a9d8d7d5429200d39779d2a8cf113065d749bd6":31,"20c6ec63aa82e2bb98897be8c3b9be219b39a291":0,"476a29cf4d7ddf09629f2f79061cfdc0dc0512a2":0,"a7c2a92c6d1e4789591917516882fa5a2bea01e4":55,"7ae76a8e3010735c7578ea72059d1b9f774a0a0d":393,"1e68dba8e4ae42eb86841f9119d5a7f853f8be69":5,"9facb2e9e22d9fae95611e0cde629e1d2401d174":161,"0a9230c24d7663e29bbbe03adb0b4f3ead69a2a8":1370,"6b561e19eb37e6883bcd6d7ac65d7b217c243a03":0,"7156b8c3d784f7ca0edabea1edea3b18c9dcbe90":0,"3e2ee655bf6217fe55b533ff49be9e6532644dd0":0,"a384dc5535d7aa849070d6fd59312abe843b90d1":1,"990a64b4ef81288efbf0da03e5886ac203692fc0":137,"3968a5139af16414dad5338673ba067f1fb97cbb":282,"393f94c401a41390753013173f27175efc3a449c":1189,"3bc332bd37acacc7b9affc1e1d1638915b7f2969":137,"dfdc766389049a268449cea1654268b5fb156f27":4142,"c6b1c88406ef7f60d081d6e1c8bdd701504ca8bb":0,"3d53ac57d8f0fd31b1e11aeb9b5a6500dc2f26be":0,"2cacadeb04207a73b10234115aa8c2f97bd01ac6":0,"473f5089eb2b05e2959c10ad72c0faf4c1a43585":0,"3e0638309e459ea6605b04a1e59f63fa5a8bb679":0,"936e45ae80fd31092d5966bb37742d19663b2e31":13,"68ea92b4cb6bd2e3fef74bcfb7397c04b2bdb4bb":13,"adedcba7a30663948eadb84ceb18032c692d0b94":2,"c914d9508ff5919e1f4c16de14670cb934fe850e":0,"724b8d4b95bb7a83fd0080bc41ce4d9f5ff2003e":0,"8a4681566100b406609e5a8ac0b107603cac25b6":3,"46c9b987110aacd04310e64910641c1c9a84a2e7":230,"3854735ec6dbadc5abc844be8b19d2eb273aade2":533,"b556e91be661212bc37c36f2ebccbaa2b6423bdb":152,"a301ee65762e751de4653a589113c433757f72c3":458,"70ba1944100364dcf4718be6813ed86117b4b7eb":511,"a0fd5a198ca17b7a6915c41e18f7a4d38969f319":358,"138b41312c5745d227e8a8de9453ddf21c6ca95e":880,"f3dc8eb2dc87343525d176f4ee4b4237678d626f":196,"23d6b19f2d8c659864ba8195dd150f2fbad24c37":365,"3970727f1a865585186a0d25ebeee0971ecdea5b":110,"1e239fae55277bad45d7d4728c9e10ae77b51c60":406,"5ab48d1f362b7c36ea263e711b346d7863041e0e":122,"05f4544f7c388a08cac735cd673ddfcf803624b1":909,"fd7d13d9bf9d09e412dbb34ecfe6a938b325b84c":68,"fd2dca2fdc04342e6d7abdb50c3135f45be03c31":253,"782e299f53d2e16f2e685ff9a3a8b341094d5243":1029,"d78efc236a191858b07dfc9c93dee4d299087926":0,"d638cab9531b647c2538be753c7b0c5aa7292d3e":0,"1f91cceb4d64040817ce8d66910542d50440215b":0,"ea27873ca5153520231804e1e742b400be748c18":2,"47493cef8d85132a297aa1f3055d306089410104":205,"093ec309257eb5f06afb4cdc0cbfaeb77cc11b9a":90,"45d5e2c74fc92ea05cfc088f8a582642897887d8":14,"c563d5096bb859b4570da57a6441eb600bc65fec":24,"213995f67e42226eee93384fcdf0940724e7578d":152,"938e567d7163fd8e5e001c54c8086ad888167967":85,"a918098afb71aac7b386c5667c1674ad27bd0d52":184,"0d6dbe301d95a0b465fb5e1c68150a2acbdd945a":0,"05cedb055a7ddcd15ddba829da3364081bb69f9c":128,"aed79c99df7fc94262d6f86c68fc1f811f89fefb":166,"996c68ad6bb3907df3b1a73d7a27ac5dd8b50dec":88,"62f710c0de91de1fafc3833b4e02686b97879381":90,"10b3b01777c1b793887ae7ebf4daf76f821a5343":17,"e0f132e635bcd969ab94aed4330bbc86f2990ae1":1235,"5338790744e36fcb4b916d14bc8c6f8626160559":438,"13bc99a6586e6a984a346f2b8c0738f24fc55a14":824,"f4f812b16dfa6e05fc29b4d226469405b029baee":0,"f56ba16d42f591b478071cdf8e0dabde1a6c0222":7,"13a4e760ff1701e89d55fd939ee373560321680a":1,"ee175fbc47f8618e6377e3da2ecb5ae64a03ea7d":0,"a12168555aa5d48b601b3150228918f9557cd7ca":0,"93dbc7d8d7e5f39b032f4e36cb7a22166571d0d5":0,"51f342f8a27810c611c203c0d7a6186fe13a5227":0,"87f68f6a2c96b0cc1332b466383eb8b9754c598f":15,"6705b2cb53b366c52090723b3e55b527896c7c84":57,"da3a42c1fb584a6521de626779c13eca831c57ea":11,"6e591df95fe40ddea332d2343f33a5267bafb98e":2,"183d8f9689a278b2f53f0f3302bbe02a38c4bbba":137,"016de41fa76ebb5f31774b64a696821ed2fd54cd":17,"79058833c2a481e8a0adf9e8f2bbae10d1801664":30,"81f193fee714ee265400bdf0af392aa9a276f469":106,"17c23bbc80f04fc47c83f631373716f841c068aa":0,"836c5a8c34d36b2501249ad769ab36c31122dcb6":1,"1c3e1dbc5cc481753f9e8f10d4a8b057448fe05c":45,"b1affcba2f7224bb665178236579ab0f430130c5":0,"78fa43665c76e61ff394810eeea3da04bbe50d08":65,"0cebc348d7baa1a6cb0e116495848979da1ee60f":15,"c0d1f402cbe0b5c7e28dbb54446fd5c24e334ca9":0,"2dae43f7aff685fb8f9b9a1f3a31f500f4cd93c0":12,"bac62523765c85ceda5f429a93ad1f2b84600742":182,"51f02743a9f57eb90447afab565b661a4184be47":3,"3deae66766aab104530de9615208d81cd9794a12":104,"452063f988250559782aff93e8d15a9a0f20ee9a":19,"0b4aa3bdaecafd46d2042fbcc6b60ffa0b801489":7,"154a79d2f6074798de40b5d7e9cad9b665d93b98":8,"ec07562032dccafbc4c64ccd78792476965b193b":2,"696d0c4830391918453505fbd1af448b78c129fb":67,"b281e7623d9e206142fb5ff5091c339724c391bc":26,"dae59fc64e6bae5a243f1a3e01ea3af5ae0257aa":4,"2b058c00a89ab60b9e44b2f3fc797c03623ab043":2,"ca206c54277d46af2884c9cd8cd340976615f02c":2,"7ae7d01cd1998c9643effe098d2c33d377a37cdc":4,"7a028e9dae179b9ef2123d3ee4a01b9c199f0cda":15,"3d0ee9b7f1f6bf9d0dcb51c0b6c56d7e191fbeb9":10,"dc4bcf041ac8495e8c784fb5364b0a1e50fdff00":1,"857a7f4282d6b654b712499fe88d36e1c2698b8e":2,"978dc36b263c430cf5b6c4f7763f9d19a071fbf5":1,"24ccd60caca0e8506d223b18951ce2b03435bb26":0,"7d3f09a39efebf8116b7e551001ad7f9a4a91fad":3,"a56af5303332997a92c5b4d05fe402859d62b272":7,"636b2e441025829c9c4567e0ce2b0882548c6de4":337,"12f94d4921839ad1a6e10a288e2bb35cf1579a59":1661,"a5cdbf67b755b7328bc362da657ab493df283ff1":0,"49673b773907d70c497458cd9e8db039ccf120ed":884,"5408940d5f8af71b5eaa96b6e311091b9a129f7f":0,"ef4f022ba1032dbd4257c42766b3c2df469e1019":3572,"526fdd87c99e9fb76398ab6deab84130813480c5":368,"fb527a16e2c54275d653702a9afd3e820c0fc325":400,"fd732a558a625b21328fa1417c8c57a9705c63e6":146,"1341d273ed0bbc693066793bd8bc9c3b0faa75b0":1037,"200e1f6798bbb331a0c1932a4f8def10834663a4":1002,"c07ab8838b81e93a84b5d80019d0513ee21a62ab":3494,"ed24fe3c502c9ef6f69215909a1ef3453aafc7a5":969,"5a28b0b8750ab8adc6f36b03d3094f802feb1420":90,"57b79f08e527fea299fdf5a587d24659292cc865":53,"87c3a9118aa6e12b12a5ba83fe62a48f09264c38":1124,"b4e758db9ac201243c150d07514da8aaa21e9ae7":2443,"2f6f14e71bef7d033f545fd33779338b8ef7fb23":201,"1a00b9564c4f8d250f8963441a2c9b038196f2c2":0,"2135622e7749193fc30587f227f44b3396ff551f":351,"11a6f707fefde9be768470db4610bd63d2456a20":1476,"b03b1435ae4cf32797235cff3d81e91de62bcc45":76,"d331a7f2ff1a7d8291b0b01f481199dae282a94b":557,"0b4f9759ce9b8382370b7dab046cb636eb0da7c4":662,"a2b4d6e599f4b79bd8cc8b00d230a8d5fc85fd15":666,"39d8d36d7011efd1e9b01215dc5f617cccce01b8":160,"e7cc2a4e3454600314b254913b8ee6a230f6c739":87,"b77c9a16f810db0e4399c5481613d6d798a6ed22":743,"ba05d96cf966a98ce2c2da6c353b3d3f05048f23":1156,"cd733ca706a3c6d70b8e1e906da574f8dfbb17ca":171,"7aa722ff79040eefc6f6b341dbc3504a7c119b86":3056,"6c40b88baf80cdb87f01e3cac7c5063b32cb666e":130,"21558ffbeb2645d41cdeb501930fb329ffec4c94":753,"ac31689c9f86edf5a1c0f4bb7ba3c95c316dd397":1092,"196951564bca8596678fe785a7dc5be85f9f05cc":365,"9660ddd54c0fa80f6ffacf8a22778da1ac672c96":2505,"0c10188a7ca4e930e6b90cc03a6534ca7c166d97":1983,"8e7b69ac6f3da9b1750e2f120a9fb5f4101eaccd":950,"9819a201594850065b8a7a3f8da16af7c7d267b0":1220,"a7049fb7083f14f411476cd7bf9d2d5b10968b47":4721,"0654b42bff28470a451b399ea82bde3ca9cd0f63":81,"6442034c35386be4a62d1efc5954be543b5818a6":119,"633ef2ba2c8c9c23bdb99408930ad05a282dd319":676,"2acbd5e314a8119628b6f904b5e6aff2bc194cf2":193,"f6749fa83a5d766dcee106a13564c24815e60061":23,"0a181c2b6f7783c17b126ba29f8798be90c109fd":252,"f2026f0091a39ea314bea4996204b7a44e672fb6":1669,"38f2fb16d7754aad6fdedcf9e6f761c4afb63237":2888,"1c854796bc3162b245bfbacbf14338893eec87ad":216,"c094a8b5139aee309d6657bd142198fe359ca478":2038,"ead118bad12f07cc9e64818f63e30c1911384ead":51,"66bf20d1c1eb440ab62674e64c637284f64e4bba":890,"26c9cd8284a8295997b0d2f6021d5c7ba1ae3541":808,"30adebcb7a873bb2045f647cef93925c63a98dcf":40},"tools":{"claude-code":{"name":"Claude Code","commits":286,"loc":94297,"first_seen":1773217770,"last_seen":1793912629}},"monthly":{"2026-03":{"loc":57731,"attributed_loc":45690},"2026-05":{"loc":38,"attributed_loc":0},"2026-06":{"loc":884,"attributed_loc":884},"2026-07":{"loc":81263,"attributed_loc":3940},"2026-08":{"loc":142502,"attributed_loc":0},"2026-09":{"loc":44639,"attributed_loc":14907},"2026-10":{"loc":47734,"attributed_loc":20024},"2026-11":{"loc":10239,"attributed_loc":8852}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":7.0,"workflow_agents":0.0,"tools_configured":3.0,"earliest_adoption":1773441224.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/settings.json (claude-code configuration)","ref":".claude/settings.json","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/.claude/settings.json","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/ship (claude-code configuration)","ref":".claude/skills/ship","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/.claude/skills/ship","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/veld (claude-code configuration)","ref":".claude/skills/veld","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/.claude/skills/veld","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/CLAUDE.md","weight":0.5},{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/AGENTS.md","weight":0.5},{"kind":"ai-artifact","description":"website/AGENTS.md (generic-agent configuration)","ref":"website/AGENTS.md","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/website/AGENTS.md","weight":0.5},{"kind":"ai-artifact","description":".gemini/settings.json (gemini configuration)","ref":".gemini/settings.json","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/.gemini/settings.json","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/settings.json","added_at":1786520173},{"tool":"claude-code","path":".claude/skills/ship","added_at":1784535858},{"tool":"claude-code","path":".claude/skills/veld","added_at":1783402650},{"tool":"claude-code","path":"CLAUDE.md","added_at":1788434438},{"tool":"generic-agent","path":"AGENTS.md","added_at":1773690122},{"tool":"generic-agent","path":"website/AGENTS.md","added_at":1773441224},{"tool":"gemini","path":".gemini/settings.json","added_at":1788434438}],"workflows":[],"tools":["claude-code","gemini","generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":320.0,"flagged_units":70.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":342969.0,"flagged_loc":190135.0,"flagged_loc_share":0.5543795503383687,"max_loc_per_hour":11272.0,"median_loc_per_hour":377.3465091802128,"pr_timed_units":298.0,"excluded_import_loc":42061.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"5,636 lines of first-party code in ~0.5h (11,272 lines/hour, PR #250)","ref":"ee0753892ef80ee3c9e2b9fb908ba3a1fcd73747","url":"https://github.com/prosperity-solutions/veld/commit/ee0753892ef80ee3c9e2b9fb908ba3a1fcd73747","weight":0.6},{"kind":"velocity-burst","description":"5,561 lines of first-party code in ~0.5h (11,122 lines/hour, PR #198)","ref":"5ba1bebb6c236484b652ef6186df081328821ac4","url":"https://github.com/prosperity-solutions/veld/commit/5ba1bebb6c236484b652ef6186df081328821ac4","weight":0.6},{"kind":"velocity-burst","description":"5,207 lines of first-party code in ~0.5h (10,414 lines/hour, PR #311)","ref":"d69d9de165d743e1f30d352fad9c64d7b09b86ae","url":"https://github.com/prosperity-solutions/veld/commit/d69d9de165d743e1f30d352fad9c64d7b09b86ae","weight":0.6},{"kind":"velocity-burst","description":"3,425 lines of first-party code in ~0.5h (6,850 lines/hour, PR #330)","ref":"3e761fdd44154ad411be2ce07a72dd2f8c7f7f84","url":"https://github.com/prosperity-solutions/veld/commit/3e761fdd44154ad411be2ce07a72dd2f8c7f7f84","weight":0.6},{"kind":"velocity-burst","description":"3,314 lines of first-party code in ~0.5h (6,628 lines/hour, PR #220)","ref":"1541995a7c88b7db2afca5474805128035912e4f","url":"https://github.com/prosperity-solutions/veld/commit/1541995a7c88b7db2afca5474805128035912e4f","weight":0.6},{"kind":"velocity-burst","description":"3,215 lines of first-party code in ~0.5h (6,430 lines/hour, PR #308)","ref":"a408427b994c18c71fb850875edcd3378c903090","url":"https://github.com/prosperity-solutions/veld/commit/a408427b994c18c71fb850875edcd3378c903090","weight":0.6},{"kind":"velocity-burst","description":"5,955 lines of first-party code in ~1.0h (5,799 lines/hour, PR #279)","ref":"19fea3b29e6aad8ba5f8eb2f581e469ad46f8242","url":"https://github.com/prosperity-solutions/veld/commit/19fea3b29e6aad8ba5f8eb2f581e469ad46f8242","weight":0.6},{"kind":"velocity-burst","description":"2,852 lines of first-party code in ~0.5h (5,704 lines/hour, PR #245)","ref":"39d0a1e314a4facc0cbbe0456a921661614944ab","url":"https://github.com/prosperity-solutions/veld/commit/39d0a1e314a4facc0cbbe0456a921661614944ab","weight":0.6},{"kind":"velocity-burst","description":"2,741 lines of first-party code in ~0.5h (5,482 lines/hour, PR #305)","ref":"a2a3d5592c1f8c8dcb0310a7ea16bce51ffa5cea","url":"https://github.com/prosperity-solutions/veld/commit/a2a3d5592c1f8c8dcb0310a7ea16bce51ffa5cea","weight":0.6},{"kind":"velocity-burst","description":"2,396 lines of first-party code in ~0.5h (4,792 lines/hour, PR #285)","ref":"a83a33499c269f1d9445d1df5c8c51d38209eb1e","url":"https://github.com/prosperity-solutions/veld/commit/a83a33499c269f1d9445d1df5c8c51d38209eb1e","weight":0.6},{"kind":"velocity-burst","description":"2,378 lines of first-party code in ~0.5h (4,756 lines/hour, PR #225)","ref":"8257ca7c46fbbe211d8734bd74a5ebdb58db9f79","url":"https://github.com/prosperity-solutions/veld/commit/8257ca7c46fbbe211d8734bd74a5ebdb58db9f79","weight":0.6},{"kind":"velocity-burst","description":"2,289 lines of first-party code in ~0.5h (4,578 lines/hour, PR #304)","ref":"04fb33910be1dcba36d722de5a98edc404afedfb","url":"https://github.com/prosperity-solutions/veld/commit/04fb33910be1dcba36d722de5a98edc404afedfb","weight":0.6},{"kind":"velocity-burst","description":"2,255 lines of first-party code in ~0.5h (4,510 lines/hour, PR #324)","ref":"45a565852d34754b0f1e0b10fe6276ff55267b1f","url":"https://github.com/prosperity-solutions/veld/commit/45a565852d34754b0f1e0b10fe6276ff55267b1f","weight":0.6},{"kind":"velocity-burst","description":"4,479 lines of first-party code in ~1.0h (4,486 lines/hour, PR #175)","ref":"2e93d7baec78f2a2a0ccad289773d1dde8919d1e","url":"https://github.com/prosperity-solutions/veld/commit/2e93d7baec78f2a2a0ccad289773d1dde8919d1e","weight":0.6},{"kind":"velocity-burst","description":"2,009 lines of first-party code in ~0.5h (4,018 lines/hour, PR #323)","ref":"6e7dc4570fbab268f12d7e1b715b0d0e919539d8","url":"https://github.com/prosperity-solutions/veld/commit/6e7dc4570fbab268f12d7e1b715b0d0e919539d8","weight":0.6}],"data":{"flagged_loc_by_commit":{"40175fb300f2901b32f91cc9a430a7ef9d1a4b2c":117,"1d69aebe37ea4dc21c5705ffeefd65fcf2e255cb":1551,"c258d29959dc73040501d77d91f1c96992884574":2,"d96b1f44e162f26d7ca18ea129c446119f5c1e95":97,"6afcbb82d5fa69e429a55dc7022ab91d8a1a1546":10,"48a507ff552cee79fdd0e61cdb0fdf1cecc2c330":10,"fb2d505a216facf526cc1a44697482e4dea0a737":1726,"b91834f30ffe351995f6a6a7050a84969fd440fc":2515,"ef4f022ba1032dbd4257c42766b3c2df469e1019":3572,"57d398308c19571f3465e80a7bc5c888119b561d":2320,"de97b70d49654f7253235687054259fe5c6f0541":3551,"52110778654a8375afd7364e0d3c8bb7bb72d261":1776,"2e93d7baec78f2a2a0ccad289773d1dde8919d1e":4479,"209f810462d4a678fb2bf130d3fccd5acad0007d":1218,"568c952397e95c365e58b7a5c15f32385145a1d0":2147,"0adc20731a5e702369f2e69d9bc3b1377f3596f8":2019,"2e9b4e1ed6803148496adaea4bceec6bd7ed976f":3993,"42539b0a8414ea362936c7eb98d11c15d6b406e0":2481,"6f0ee76b29277533fee392aa5c47147c7ae1a915":3940,"44d423d40711afe8ba4810f8c0379bcdc87dc90c":3679,"5ba1bebb6c236484b652ef6186df081328821ac4":5561,"3285146b9debe4581729418a498e6706dd100107":4951,"289b7d8d09f8822dcb199e16dc6ec23706dea391":1726,"73ca75132a4f13470f3f489e7c6415199507515f":4198,"2169b0cf9b0ed0b741f8207daeea684a8cc21dd8":3128,"45ed1a0ce14f09290e5d4e14d52a88d3c9e88f53":3848,"dd9a27423fd64876af68d3c93b163a3bb64eb857":3700,"1541995a7c88b7db2afca5474805128035912e4f":3314,"f19bbe0f0552302e537b56aab8011827c777963e":3244,"8257ca7c46fbbe211d8734bd74a5ebdb58db9f79":2378,"f16e43900525c2ee6d8bac74d859e8011dd802ae":4598,"f420c96c53e0c45dedd8c1eb17c36a25ae609680":1435,"22cfca047b0f29a3cdd92a0de29299387f001e8c":1039,"b20bac7106afa55bbd4a9e9bd97f36e0b656ac7d":1704,"39d0a1e314a4facc0cbbe0456a921661614944ab":2852,"f14c9f1a1479adfca75e9b79fb10c07d1a0c3cbc":1205,"ee0753892ef80ee3c9e2b9fb908ba3a1fcd73747":5636,"67e8bffcbde3070397497a198ac2861775b98dbc":1416,"26d1595bfc59676ff90f19dc8dd30b915ecb81ab":1102,"1279120e91d05113121fcb60ba0e6746dda83780":1740,"687b85838059f5594621bceb8a271a45cfc16ee6":2439,"19fea3b29e6aad8ba5f8eb2f581e469ad46f8242":5955,"a1f4ed34706a670e292fdd07abaddfebd3d54e2c":1714,"a83a33499c269f1d9445d1df5c8c51d38209eb1e":2396,"9163e7b0a151a80eea36a407e99056b704bedaa9":1050,"04fb33910be1dcba36d722de5a98edc404afedfb":2289,"a2a3d5592c1f8c8dcb0310a7ea16bce51ffa5cea":2741,"a408427b994c18c71fb850875edcd3378c903090":3215,"d69d9de165d743e1f30d352fad9c64d7b09b86ae":5207,"88dc03723add3cf91c24968eaf2aadba48e19c22":1077,"6e7dc4570fbab268f12d7e1b715b0d0e919539d8":2009,"45a565852d34754b0f1e0b10fe6276ff55267b1f":2255,"02f059c954dce0f290b8efaf9d8f1b74dd4cae92":4039,"b8ce834f5bc3ff3d75fbdfbe4ba2a1a5e0fdcaec":1664,"22074b404d129e18758c235e777ec58cc32c021e":1179,"3e761fdd44154ad411be2ce07a72dd2f8c7f7f84":3425,"ee9ff277b458edd9585b872de0dc39e9a0249ccf":3201,"e739298e3606e63f67f24dd7d3d9eaa9b96cd184":1744,"46401056f2a0ec206870a2a23a930ae4c59b4ab5":3475,"ccb7648a32b74e3afd3740b93f67628ceae8e2d8":2580,"520816f90af1cc84d87e90dde77bcb5c8ed46240":2691,"ac4d4164a8bf320c056cebce23d7e89b46e09b9a":2411,"426068c441441c0d5f77da28b8f644f0e0b4e038":1416,"9cfc0d43ee283853dfd435a75fabe46854ae4f8b":1429,"bd8a8a495779362a9a92143f1060cd5b52c68d3e":2574,"a57c552f29d1903341b5f3c267a329101471feb4":1270,"990a64b4ef81288efbf0da03e5886ac203692fc0":137,"3968a5139af16414dad5338673ba067f1fb97cbb":282,"393f94c401a41390753013173f27175efc3a449c":1189,"3bc332bd37acacc7b9affc1e1d1638915b7f2969":137,"dfdc766389049a268449cea1654268b5fb156f27":4142,"936e45ae80fd31092d5966bb37742d19663b2e31":13,"68ea92b4cb6bd2e3fef74bcfb7397c04b2bdb4bb":13,"adedcba7a30663948eadb84ceb18032c692d0b94":2,"8a4681566100b406609e5a8ac0b107603cac25b6":3,"46c9b987110aacd04310e64910641c1c9a84a2e7":230,"3854735ec6dbadc5abc844be8b19d2eb273aade2":533,"b556e91be661212bc37c36f2ebccbaa2b6423bdb":152,"a301ee65762e751de4653a589113c433757f72c3":458,"70ba1944100364dcf4718be6813ed86117b4b7eb":511,"a0fd5a198ca17b7a6915c41e18f7a4d38969f319":358,"138b41312c5745d227e8a8de9453ddf21c6ca95e":880,"f3dc8eb2dc87343525d176f4ee4b4237678d626f":196,"23d6b19f2d8c659864ba8195dd150f2fbad24c37":365,"3970727f1a865585186a0d25ebeee0971ecdea5b":110,"1e239fae55277bad45d7d4728c9e10ae77b51c60":406,"5ab48d1f362b7c36ea263e711b346d7863041e0e":122,"e0f132e635bcd969ab94aed4330bbc86f2990ae1":1235,"f5b2d4a837655223e1bdeb6681ec329e05b86a27":2283,"11a6f707fefde9be768470db4610bd63d2456a20":1476,"7aa722ff79040eefc6f6b341dbc3504a7c119b86":3056,"b4e758db9ac201243c150d07514da8aaa21e9ae7":2443,"ac31689c9f86edf5a1c0f4bb7ba3c95c316dd397":1092,"38f2fb16d7754aad6fdedcf9e6f761c4afb63237":2888},"excluded_import_commits":["12cba3244e6034911f02f685717a4b6f5619081e","7f7e3c06e52ac01f391d2710089f6a03255f1284","8529f138164e846629a0875db1447647d07de924","938aa68f140005b4901a09dc85092dfdec22f94c","a7049fb7083f14f411476cd7bf9d2d5b10968b47","ac5ef61380c62ff40c0f3249d2cd7fa0ff758011"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":99.0,"flagged_releases":1.0,"max_loc_per_day":57864.0},"findings":[],"evidence":[{"kind":"release-burst","description":"v16.43.0 → v16.44.0: 5,207 lines in 0.2 days (26,039.5 lines/day)","ref":"v16.43.0...v16.44.0","url":"https://github.com/prosperity-solutions/veld/compare/v16.43.0...v16.44.0","weight":0.4}],"data":{"releases":[{"from":"v16.39.0","to":"v16.39.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v16.39.1","to":"v16.39.2","loc":65,"days":0.05,"loc_per_day":1365.4,"flagged":false},{"from":"v16.39.2","to":"v16.40.0","loc":2728,"days":0.05,"loc_per_day":53923.4,"flagged":false},{"from":"v16.40.0","to":"v16.41.0","loc":2741,"days":0.07,"loc_per_day":38234.2,"flagged":false},{"from":"v16.41.0","to":"v16.42.0","loc":3215,"days":0.56,"loc_per_day":5701.2,"flagged":false},{"from":"v16.42.0","to":"v16.43.0","loc":54,"days":0.04,"loc_per_day":1296.0,"flagged":false},{"from":"v16.43.0","to":"v16.44.0","loc":5207,"days":0.2,"loc_per_day":26039.5,"flagged":true},{"from":"v16.44.0","to":"v16.44.1","loc":101,"days":0.04,"loc_per_day":2424.0,"flagged":false},{"from":"v16.44.1","to":"v16.45.0","loc":1077,"days":0.08,"loc_per_day":13491.8,"flagged":false},{"from":"v16.45.0","to":"v16.46.0","loc":4095,"days":0.67,"loc_per_day":6118.2,"flagged":false},{"from":"v16.46.0","to":"v16.47.0","loc":987,"days":1.94,"loc_per_day":509.3,"flagged":false},{"from":"v16.47.0","to":"v16.47.1","loc":80,"days":0.04,"loc_per_day":1920.0,"flagged":false},{"from":"v16.47.1","to":"v16.48.0","loc":184,"days":0.04,"loc_per_day":4416.0,"flagged":false},{"from":"v16.48.0","to":"v16.49.0","loc":400,"days":0.3,"loc_per_day":1352.4,"flagged":false},{"from":"v16.49.0","to":"v16.49.1","loc":646,"days":0.69,"loc_per_day":931.3,"flagged":false},{"from":"v16.49.1","to":"v16.50.0","loc":1814,"days":0.12,"loc_per_day":14799.8,"flagged":false},{"from":"v16.50.0","to":"v16.51.0","loc":2009,"days":0.2,"loc_per_day":9987.2,"flagged":false},{"from":"v16.51.0","to":"v16.51.1","loc":2255,"days":1.91,"loc_per_day":1179.9,"flagged":false},{"from":"v16.51.1","to":"v16.52.0","loc":4039,"days":0.24,"loc_per_day":16738.0,"flagged":false},{"from":"v16.52.0","to":"v16.53.0","loc":416,"days":0.57,"loc_per_day":726.2,"flagged":false},{"from":"v16.53.0","to":"v16.54.0","loc":1664,"days":3.31,"loc_per_day":502.0,"flagged":false},{"from":"v16.54.0","to":"v16.54.1","loc":577,"days":0.24,"loc_per_day":2428.5,"flagged":false},{"from":"v16.54.1","to":"v16.55.0","loc":1179,"days":0.55,"loc_per_day":2162.3,"flagged":false},{"from":"v16.55.0","to":"v16.56.0","loc":3425,"days":1.12,"loc_per_day":3056.5,"flagged":false},{"from":"v16.56.0","to":"v16.57.0","loc":111,"days":0.06,"loc_per_day":1757.4,"flagged":false},{"from":"v16.57.0","to":"v16.57.1","loc":3201,"days":0.97,"loc_per_day":3288.2,"flagged":false},{"from":"v16.57.1","to":"v16.57.2","loc":678,"days":0.14,"loc_per_day":4854.5,"flagged":false},{"from":"v16.57.2","to":"v16.58.0","loc":373,"days":3.73,"loc_per_day":100.0,"flagged":false},{"from":"v16.58.0","to":"v16.58.1","loc":720,"days":0.09,"loc_per_day":7667.7,"flagged":false},{"from":"v16.58.1","to":"v16.58.2","loc":1349,"days":0.13,"loc_per_day":10570.8,"flagged":false},{"from":"v16.58.2","to":"v16.58.3","loc":1744,"days":0.04,"loc_per_day":41856.0,"flagged":false},{"from":"v16.58.3","to":"v16.59.0","loc":3475,"days":0.68,"loc_per_day":5074.6,"flagged":false},{"from":"v16.59.0","to":"v16.60.0","loc":2580,"days":0.48,"loc_per_day":5363.4,"flagged":false},{"from":"v16.60.0","to":"v16.61.0","loc":823,"days":0.42,"loc_per_day":1975.5,"flagged":false},{"from":"v16.61.0","to":"v16.62.0","loc":1589,"days":0.14,"loc_per_day":11204.6,"flagged":false},{"from":"v16.62.0","to":"v16.62.1","loc":433,"days":0.08,"loc_per_day":5526.0,"flagged":false},{"from":"v16.62.1","to":"v16.62.2","loc":193,"days":0.04,"loc_per_day":4632.0,"flagged":false},{"from":"v16.62.2","to":"v16.63.0","loc":400,"days":0.04,"loc_per_day":9600.0,"flagged":false},{"from":"v16.63.0","to":"v16.64.0","loc":1324,"days":0.12,"loc_per_day":11334.0,"flagged":false},{"from":"v16.64.0","to":"v16.64.1","loc":146,"days":0.7,"loc_per_day":208.1,"flagged":false},{"from":"v16.64.1","to":"v16.64.2","loc":1036,"days":0.04,"loc_per_day":24864.0,"flagged":false},{"from":"v16.64.2","to":"v16.65.0","loc":504,"days":0.1,"loc_per_day":5167.4,"flagged":false},{"from":"v16.65.0","to":"v16.66.0","loc":4821,"days":4.18,"loc_per_day":1152.7,"flagged":false},{"from":"v16.66.0","to":"v16.67.0","loc":316,"days":0.71,"loc_per_day":447.0,"flagged":false},{"from":"v16.67.0","to":"v16.68.0","loc":2030,"days":0.18,"loc_per_day":11299.6,"flagged":false},{"from":"v16.68.0","to":"v16.68.1","loc":383,"days":0.8,"loc_per_day":478.0,"flagged":false},{"from":"v16.68.1","to":"v16.69.0","loc":1143,"days":0.1,"loc_per_day":11121.1,"flagged":false},{"from":"v16.69.0","to":"v16.70.0","loc":643,"days":0.42,"loc_per_day":1538.3,"flagged":false},{"from":"v16.70.0","to":"v16.71.0","loc":2411,"days":0.04,"loc_per_day":57864.0,"flagged":false},{"from":"v16.71.0","to":"v16.71.1","loc":1319,"days":0.8,"loc_per_day":1648.5,"flagged":false},{"from":"v16.71.1","to":"v16.72.0","loc":1793,"days":0.12,"loc_per_day":14354.6,"flagged":false},{"from":"v16.72.0","to":"v16.73.0","loc":2235,"days":0.79,"loc_per_day":2814.5,"flagged":false},{"from":"v16.73.0","to":"v16.74.0","loc":4606,"days":5.89,"loc_per_day":782.4,"flagged":false},{"from":"v16.74.0","to":"v16.75.0","loc":1124,"days":4.88,"loc_per_day":230.4,"flagged":false},{"from":"v16.75.0","to":"v16.76.0","loc":2443,"days":0.11,"loc_per_day":21245.6,"flagged":false},{"from":"v16.76.0","to":"v16.76.1","loc":201,"days":0.91,"loc_per_day":221.1,"flagged":false},{"from":"v16.76.1","to":"v16.76.2","loc":351,"days":1.28,"loc_per_day":273.8,"flagged":false},{"from":"v16.76.2","to":"v16.77.0","loc":1476,"days":1.96,"loc_per_day":752.1,"flagged":false},{"from":"v16.77.0","to":"v16.77.1","loc":76,"days":1.79,"loc_per_day":42.5,"flagged":false},{"from":"v16.77.1","to":"v16.77.2","loc":557,"days":0.05,"loc_per_day":10897.8,"flagged":false},{"from":"v16.77.2","to":"v16.78.0","loc":1057,"days":0.04,"loc_per_day":25368.0,"flagged":false},{"from":"v16.78.0","to":"v16.78.1","loc":662,"days":0.04,"loc_per_day":15888.0,"flagged":false},{"from":"v16.78.1","to":"v16.79.0","loc":628,"days":0.06,"loc_per_day":10100.4,"flagged":false},{"from":"v16.79.0","to":"v16.80.0","loc":1035,"days":0.09,"loc_per_day":12128.6,"flagged":false},{"from":"v16.80.0","to":"v16.80.1","loc":666,"days":0.04,"loc_per_day":15984.0,"flagged":false},{"from":"v16.80.1","to":"v16.81.0","loc":160,"days":2.2,"loc_per_day":72.7,"flagged":false},{"from":"v16.81.0","to":"v16.81.1","loc":337,"days":0.64,"loc_per_day":523.7,"flagged":false},{"from":"v16.81.1","to":"v16.81.2","loc":87,"days":3.99,"loc_per_day":21.8,"flagged":false},{"from":"v16.81.2","to":"v16.82.0","loc":743,"days":0.09,"loc_per_day":8167.3,"flagged":false},{"from":"v16.82.0","to":"v16.82.1","loc":1156,"days":0.04,"loc_per_day":27744.0,"flagged":false},{"from":"v16.82.1","to":"v16.83.0","loc":34,"days":0.82,"loc_per_day":41.3,"flagged":false},{"from":"v16.83.0","to":"v16.83.1","loc":171,"days":0.15,"loc_per_day":1107.1,"flagged":false},{"from":"v16.83.1","to":"v16.84.0","loc":3056,"days":0.26,"loc_per_day":11795.3,"flagged":false},{"from":"v16.84.0","to":"v16.84.1","loc":130,"days":0.04,"loc_per_day":3120.0,"flagged":false},{"from":"v16.84.1","to":"v16.85.0","loc":0,"days":0.56,"loc_per_day":0.0,"flagged":false},{"from":"v16.85.0","to":"v16.85.1","loc":2210,"days":5.11,"loc_per_day":432.4,"flagged":false},{"from":"v16.85.1","to":"v16.86.0","loc":2505,"days":0.65,"loc_per_day":3876.1,"flagged":false},{"from":"v16.86.0","to":"v16.87.0","loc":1983,"days":0.04,"loc_per_day":47592.0,"flagged":false},{"from":"v16.87.0","to":"v16.88.0","loc":950,"days":0.15,"loc_per_day":6142.8,"flagged":false},{"from":"v16.88.0","to":"v16.89.0","loc":1220,"days":0.04,"loc_per_day":29280.0,"flagged":false},{"from":"v16.89.0","to":"v16.89.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v16.89.1","to":"v16.89.2","loc":200,"days":0.11,"loc_per_day":1762.7,"flagged":false},{"from":"v16.89.2","to":"v16.89.3","loc":298,"days":0.07,"loc_per_day":4432.3,"flagged":false},{"from":"v16.89.3","to":"v17.0.0","loc":1106,"days":1.89,"loc_per_day":583.9,"flagged":false},{"from":"v17.0.0","to":"v17.0.1","loc":31,"days":2.07,"loc_per_day":15.0,"flagged":false},{"from":"v17.0.1","to":"v17.1.0","loc":2575,"days":5.05,"loc_per_day":510.2,"flagged":false},{"from":"v17.1.0","to":"v17.1.1","loc":119,"days":0.06,"loc_per_day":1941.0,"flagged":false},{"from":"v17.1.1","to":"v17.1.2","loc":676,"days":5.1,"loc_per_day":132.5,"flagged":false},{"from":"v17.1.2","to":"v17.2.0","loc":193,"days":2.53,"loc_per_day":76.1,"flagged":false},{"from":"v17.2.0","to":"v17.2.1","loc":23,"days":0.04,"loc_per_day":552.0,"flagged":false},{"from":"v17.2.1","to":"v17.2.2","loc":252,"days":4.09,"loc_per_day":61.5,"flagged":false},{"from":"v17.2.2","to":"v17.3.0","loc":24,"days":0.48,"loc_per_day":50.5,"flagged":false},{"from":"v17.3.0","to":"v17.4.0","loc":1270,"days":0.05,"loc_per_day":27899.3,"flagged":false},{"from":"v17.4.0","to":"v17.5.0","loc":1669,"days":0.67,"loc_per_day":2491.3,"flagged":false},{"from":"v17.5.0","to":"v17.6.0","loc":2888,"days":0.11,"loc_per_day":25568.5,"flagged":false},{"from":"v17.6.0","to":"v17.7.0","loc":216,"days":0.04,"loc_per_day":5184.0,"flagged":false},{"from":"v17.7.0","to":"v17.8.0","loc":2038,"days":0.2,"loc_per_day":10001.9,"flagged":false},{"from":"v17.8.0","to":"v17.9.0","loc":941,"days":0.52,"loc_per_day":1812.5,"flagged":false},{"from":"v17.9.0","to":"v17.10.0","loc":848,"days":0.33,"loc_per_day":2574.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":226564.0,"index":0.168,"count:narrated_steps":17.0,"per_kloc:narrated_steps":0.075,"files:narrated_steps":8.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":42.0,"per_kloc:emoji_in_code":0.185,"files:emoji_in_code":13.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: * first, and from the one being watched on to the one after it, wrapping round.","ref":"crates/veld-daemon/ui/src/inbox/inbox.ts:1188","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/inbox/inbox.ts#L1188","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: * first, in each backend, for the same reason: **the thing being resized owns the","ref":"crates/veld-daemon/ui/src/panes/browserHost.ts:1271","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/panes/browserHost.ts#L1271","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: * first, forever.","ref":"crates/veld-daemon/ui/src/promotions/model.ts:225","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/promotions/model.ts#L225","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // First, and on every hostname: the one route Caddy","ref":"crates/veld-helper/src/caddy.rs:1421","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-helper/src/caddy.rs#L1421","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: Stop user-level helper if running.","ref":"crates/veld/src/commands/setup/privileged.rs:70","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld/src/commands/setup/privileged.rs#L70","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Check port availability.","ref":"crates/veld/src/commands/setup/privileged.rs:140","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld/src/commands/setup/privileged.rs#L140","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Install Caddy.","ref":"crates/veld/src/commands/setup/privileged.rs:150","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld/src/commands/setup/privileged.rs#L150","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 4: Install Veld daemon.","ref":"crates/veld/src/commands/setup/privileged.rs:160","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld/src/commands/setup/privileged.rs#L160","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":1.0,"secrets_history":0.0,"secrets_nonprod":8.0,"secrets_low_confidence":1.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"crates/veld-core/src/signing.rs","line":2360,"fingerprint":"crates/veld-core/src/signing.rs:generic-api-key:2360"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"crates/veld-gateway/tests/loopback.rs","line":401,"fingerprint":"crates/veld-gateway/tests/loopback.rs:generic-api-key:401"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/signing-key-rotation.md","line":153,"fingerprint":"docs/signing-key-rotation.md:generic-api-key:153"},{"rule_id":"gitleaks/private-key","severity":"high","message":"Possible private-key secret in the current tree","path":"crates/veld-sign/src/main.rs","line":340,"fingerprint":"crates/veld-sign/src/main.rs:private-key:340"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/signing-slots.py","line":306,"fingerprint":"tests/signing-slots.py:generic-api-key:306"},{"rule_id":"gitleaks/private-key","severity":"low","message":"Possible private-key secret in the current tree (test/docs/example file)","path":"crates/veld-sign/tests/smoke.rs","line":324,"fingerprint":"crates/veld-sign/tests/smoke.rs:private-key:324"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit a3ca7bbc43); removed from the current tree but still retrievable","path":"crates/veld-daemon/frontend/tests/sharing.test.ts","line":19,"fingerprint":"a3ca7bbc437c6fc47f5c9bef258fde69b1af5f3a:crates/veld-daemon/frontend/tests/sharing.test.ts:generic-api-key:19"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 57d398308c); removed from the current tree but still retrievable","path":"crates/veld-daemon/frontend/tests/public-url.test.ts","line":11,"fingerprint":"57d398308c19571f3465e80a7bc5c888119b561d:crates/veld-daemon/frontend/tests/public-url.test.ts:generic-api-key:11"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 7c6b2c9453); removed from the current tree but still retrievable","path":"crates/veld-daemon/frontend/tests/web-share.test.ts","line":14,"fingerprint":"7c6b2c94532c4b82af12699c31e870b422db7e56:crates/veld-daemon/frontend/tests/web-share.test.ts:generic-api-key:14"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit aed79c99df); removed from the current tree but still retrievable","path":"tests/test-injection.sh","line":252,"fingerprint":"aed79c99df7fc94262d6f86c68fc1f811f89fefb:tests/test-injection.sh:generic-api-key:252"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":164.0,"findings_high":1.0,"findings_medium":11.0,"findings_low":152.0,"weighted_findings":42.062,"scanned_lines":269483.0,"parse_errors":9.0},"findings":[{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"crates/veld-daemon/src/pty.rs","line":7931,"fingerprint":"javascript.lang.security.detect-insecure-websocket:crates/veld-daemon/src/pty.rs:7931"},{"rule_id":"opengrep/rust.lang.security.reqwest-accept-invalid","severity":"medium","message":"Dangerously accepting invalid TLS information [confidence high]","path":"crates/veld-core/src/tls_health.rs","line":185,"fingerprint":"rust.lang.security.reqwest-accept-invalid:crates/veld-core/src/tls_health.rs:185"},{"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":"crates/veld-daemon/ui/src/files/markdown.ts","line":60,"fingerprint":"javascript.lang.security.html-in-template-string:crates/veld-daemon/ui/src/files/markdown.ts:60"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^[a-z0-9]+(-[a-z0-9]+)*$` which appears to be vulnerable to a Regular expression Denial-of-Service (ReDoS). For this reason, it is recommended to review the regex and ensure it is not vulnerable to catastrophic backtracking, and if possible use a library whi [confidence low]","path":"crates/veld-daemon/ui/src/promotions/model.ts","line":107,"fingerprint":"javascript.lang.security.audit.detect-redos:crates/veld-daemon/ui/src/promotions/model.ts:107"},{"rule_id":"opengrep/typescript.react.security.audit.react-href-var","severity":"medium","message":"Detected a variable used in an anchor tag with the 'href' attribute. A malicious actor may be able to input the 'javascript:' URI, which could cause cross-site scripting (XSS). It is recommended to disallow 'javascript:' URIs within your application. [confidence low]","path":"crates/veld-daemon/ui/src/shared/NodeList.tsx","line":262,"fingerprint":"typescript.react.security.audit.react-href-var:crates/veld-daemon/ui/src/shared/NodeList.tsx:262"},{"rule_id":"opengrep/typescript.react.security.audit.react-href-var","severity":"medium","message":"Detected a variable used in an anchor tag with the 'href' attribute. A malicious actor may be able to input the 'javascript:' URI, which could cause cross-site scripting (XSS). It is recommended to disallow 'javascript:' URIs within your application. [confidence low]","path":"crates/veld-daemon/ui/src/shared/NodeList.tsx","line":299,"fingerprint":"typescript.react.security.audit.react-href-var:crates/veld-daemon/ui/src/shared/NodeList.tsx:299"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-redos","severity":"medium","message":"Detected the use of a regular expression `^[a-z0-9]+(-[a-z0-9]+)*$` which appears to be vulnerable to a Regular expression Denial-of-Service (ReDoS). For this reason, it is recommended to review the regex and ensure it is not vulnerable to catastrophic backtracking, and if possible use a library whi [confidence low]","path":"crates/veld-daemon/ui/src/shortcuts/registry.ts","line":560,"fingerprint":"javascript.lang.security.audit.detect-redos:crates/veld-daemon/ui/src/shortcuts/registry.ts:560"},{"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":"desktop/src/waitingScreen.js","line":155,"fingerprint":"javascript.lang.security.html-in-template-string:desktop/src/waitingScreen.js:155"},{"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":"desktop/src/waitingScreen.js","line":156,"fingerprint":"javascript.lang.security.html-in-template-string:desktop/src/waitingScreen.js:156"},{"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":"desktop/src/waitingScreen.js","line":159,"fingerprint":"javascript.lang.security.html-in-template-string:desktop/src/waitingScreen.js:159"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"desktop/src/waitingScreen.js","line":169,"fingerprint":"javascript.lang.security.html-in-template-string:desktop/src/waitingScreen.js:169"},{"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":"desktop/src/waitingScreen.js","line":178,"fingerprint":"javascript.lang.security.html-in-template-string:desktop/src/waitingScreen.js:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/console.rs","line":425,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/console.rs:425"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/console.rs","line":438,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/console.rs:438"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-core/src/db/mod.rs","line":555,"fingerprint":"rust.lang.security.current-exe:crates/veld-core/src/db/mod.rs:555"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/db/mod.rs","line":2638,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/db/mod.rs:2638"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/db/mod.rs","line":2640,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/db/mod.rs:2640"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/db/mod.rs","line":2659,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/db/mod.rs:2659"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/engine_lock.rs","line":23,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/engine_lock.rs:23"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/helper_store.rs","line":662,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/helper_store.rs:662"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/helper_store.rs","line":1009,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/helper_store.rs:1009"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/helper_store.rs","line":1019,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/helper_store.rs:1019"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/helper_store.rs","line":1117,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/helper_store.rs:1117"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/helper_store.rs","line":1132,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/helper_store.rs:1132"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/instance.rs","line":272,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/instance.rs:272"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/instance.rs","line":622,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/instance.rs:622"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/logging/pump.rs","line":140,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/logging/pump.rs:140"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/logging/pump.rs","line":233,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/logging/pump.rs:233"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/paths.rs","line":445,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/paths.rs:445"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-core/src/process.rs","line":534,"fingerprint":"rust.lang.security.current-exe:crates/veld-core/src/process.rs:534"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1842,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1842"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1863,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1863"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1884,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1884"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1925,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1925"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1947,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1947"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1972,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1972"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":1997,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:1997"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2025,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2025"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2053,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2053"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2088,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2088"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2131,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2131"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2168,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2168"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2194,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2194"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2214,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2214"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2292,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2292"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2320,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2320"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2351,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2351"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/process.rs","line":2380,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/process.rs:2380"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/setup.rs","line":506,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/setup.rs:506"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-core/src/setup.rs","line":2638,"fingerprint":"rust.lang.security.current-exe:crates/veld-core/src/setup.rs:2638"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-core/src/setup.rs","line":3460,"fingerprint":"rust.lang.security.current-exe:crates/veld-core/src/setup.rs:3460"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/setup.rs","line":4509,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/setup.rs:4509"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/shell.rs","line":396,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/shell.rs:396"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/shell.rs","line":470,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/shell.rs:470"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/signing.rs","line":1294,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/signing.rs:1294"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/signing.rs","line":1339,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/signing.rs:1339"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":1480,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:1480"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":1706,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:1706"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2548,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2548"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2614,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2614"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2648,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2648"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2697,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2697"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2746,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2746"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2854,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2854"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":2893,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:2893"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":3006,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:3006"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":3040,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:3040"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":3061,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:3061"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-core/src/signing.rs","line":3079,"fingerprint":"rust.lang.security.temp-dir:crates/veld-core/src/signing.rs:3079"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/update_lock.rs","line":669,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/update_lock.rs:669"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-core/src/user_path.rs","line":756,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-core/src/user_path.rs:756"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/desktop.rs","line":4174,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/desktop.rs:4174"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":596,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:596"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":713,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:713"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":745,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:745"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":798,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:798"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":835,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:835"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":845,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:845"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine.rs","line":888,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine.rs:888"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine_query.rs","line":106,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine_query.rs:106"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine_query.rs","line":147,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine_query.rs:147"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/engine_worker.rs","line":268,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/engine_worker.rs:268"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/extensions.rs","line":1262,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/extensions.rs:1262"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/extensions.rs","line":2449,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/extensions.rs:2449"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/extensions.rs","line":2510,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/extensions.rs:2510"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/extensions.rs","line":2538,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/extensions.rs:2538"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/gc.rs","line":561,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/gc.rs:561"},{"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":"crates/veld-daemon/src/main.rs","line":48,"fingerprint":"rust.lang.security.args:crates/veld-daemon/src/main.rs:48"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/main.rs","line":178,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/main.rs:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/management.rs","line":1537,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/management.rs:1537"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/monitor.rs","line":1002,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/monitor.rs:1002"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/monitor.rs","line":1105,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/monitor.rs:1105"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":1253,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/pty.rs:1253"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":1380,"fingerprint":"rust.lang.security.current-exe:crates/veld-daemon/src/pty.rs:1380"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":4128,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty.rs:4128"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":6428,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/pty.rs:6428"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":7454,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/pty.rs:7454"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":7481,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/pty.rs:7481"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":8512,"fingerprint":"rust.lang.security.temp-dir:crates/veld-daemon/src/pty.rs:8512"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":9500,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty.rs:9500"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty.rs","line":10108,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty.rs:10108"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1323,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1323"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1328,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1328"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1331,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1331"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1335,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1335"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1423,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1423"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1454,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1454"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1477,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1477"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1478,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1478"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1591,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1591"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1856,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1856"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":1985,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:1985"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2276,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2276"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2282,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2282"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2290,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2290"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2304,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2304"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2313,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2313"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/pty/holder.rs","line":2316,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/pty/holder.rs:2316"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-daemon/src/pty/shims.rs","line":1472,"fingerprint":"rust.lang.security.current-exe:crates/veld-daemon/src/pty/shims.rs:1472"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/settings.rs","line":698,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/settings.rs:698"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-daemon/src/settings.rs","line":717,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-daemon/src/settings.rs:717"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-engine/src/orchestrator.rs","line":5423,"fingerprint":"rust.lang.security.temp-dir:crates/veld-engine/src/orchestrator.rs:5423"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-engine/src/run_action.rs","line":240,"fingerprint":"rust.lang.security.temp-dir:crates/veld-engine/src/run_action.rs:240"},{"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":"crates/veld-gateway/src/main.rs","line":26,"fingerprint":"rust.lang.security.args:crates/veld-gateway/src/main.rs:26"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-helper/src/caddy.rs","line":1781,"fingerprint":"rust.lang.security.temp-dir:crates/veld-helper/src/caddy.rs:1781"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-helper/src/caddy.rs","line":1786,"fingerprint":"rust.lang.security.temp-dir:crates/veld-helper/src/caddy.rs:1786"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-helper/src/caddy.rs","line":1795,"fingerprint":"rust.lang.security.temp-dir:crates/veld-helper/src/caddy.rs:1795"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-helper/src/caddy.rs","line":2079,"fingerprint":"rust.lang.security.temp-dir:crates/veld-helper/src/caddy.rs:2079"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-helper/src/caddy.rs","line":2115,"fingerprint":"rust.lang.security.temp-dir:crates/veld-helper/src/caddy.rs:2115"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld-helper/src/main.rs","line":109,"fingerprint":"rust.lang.security.current-exe:crates/veld-helper/src/main.rs:109"},{"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":"crates/veld-helper/src/main.rs","line":142,"fingerprint":"rust.lang.security.args:crates/veld-helper/src/main.rs:142"},{"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":"crates/veld-helper/src/main.rs","line":221,"fingerprint":"rust.lang.security.args:crates/veld-helper/src/main.rs:221"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/main.rs","line":223,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/main.rs:223"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/main.rs","line":548,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/main.rs:548"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/main.rs","line":556,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/main.rs:556"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/main.rs","line":560,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/main.rs:560"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/main.rs","line":989,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/main.rs:989"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-helper/src/migrate.rs","line":392,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-helper/src/migrate.rs:392"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-share/src/lib.rs","line":139,"fingerprint":"rust.lang.security.temp-dir:crates/veld-share/src/lib.rs:139"},{"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":"crates/veld-sign/src/main.rs","line":804,"fingerprint":"rust.lang.security.args:crates/veld-sign/src/main.rs:804"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld-sign/src/main.rs","line":1085,"fingerprint":"rust.lang.security.temp-dir:crates/veld-sign/src/main.rs:1085"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-stats/src/procmem.rs","line":99,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-stats/src/procmem.rs:99"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld-stats/src/procmem.rs","line":388,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld-stats/src/procmem.rs:388"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/agent.rs","line":44,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/agent.rs:44"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/agent.rs","line":244,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/agent.rs:244"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/desktop.rs","line":542,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/desktop.rs:542"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/doctor.rs","line":146,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/doctor.rs:146"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/doctor.rs","line":968,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/doctor.rs:968"},{"rule_id":"opengrep/rust.lang.security.temp-dir","severity":"low","message":"temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file.  [confidence high]","path":"crates/veld/src/commands/doctor.rs","line":2623,"fingerprint":"rust.lang.security.temp-dir:crates/veld/src/commands/doctor.rs:2623"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/commands/gc.rs","line":55,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/commands/gc.rs:55"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/setup/privileged.rs","line":23,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/setup/privileged.rs:23"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/uninstall.rs","line":26,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/uninstall.rs:26"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/update.rs","line":824,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/update.rs:824"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/update.rs","line":1318,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/update.rs:1318"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/commands/update.rs","line":1484,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/commands/update.rs:1484"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/commands/update.rs","line":2004,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/commands/update.rs:2004"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/commands/update.rs","line":2048,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/commands/update.rs:2048"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/commands/update.rs","line":2052,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/commands/update.rs:2052"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/engine_client.rs","line":389,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/engine_client.rs:389"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/veld/src/engine_client.rs","line":468,"fingerprint":"rust.lang.security.unsafe-usage:crates/veld/src/engine_client.rs:468"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/engine_client.rs","line":493,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/engine_client.rs:493"},{"rule_id":"opengrep/rust.lang.security.args-os","severity":"low","message":"args_os 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":"crates/veld/src/main.rs","line":322,"fingerprint":"rust.lang.security.args-os:crates/veld/src/main.rs:322"},{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"crates/veld/src/main.rs","line":604,"fingerprint":"rust.lang.security.current-exe:crates/veld/src/main.rs:604"},{"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":"desktop/src/browserViews.js","line":812,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:desktop/src/browserViews.js:812"}],"evidence":[],"data":{"rulesets":["rust","typescript","javascript","bash","python","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":41.0,"vulnerabilities":165.0,"vulns_critical":8.0,"vulns_high":73.0,"vulns_medium":58.0,"vulns_low":13.0,"vulns_unknown":13.0,"penalty":254.0},"findings":[{"rule_id":"osv/GHSA-cg2g-xh64-v4q7","severity":"critical","message":"dompurify@3.4.16 (npm) is affected by GHSA-cg2g-xh64-v4q7","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"dompurify@3.4.16 (npm):GHSA-cg2g-xh64-v4q7"},{"rule_id":"osv/GHSA-5gmw-xhrv-c9v3","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-5gmw-xhrv-c9v3","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-5gmw-xhrv-c9v3"},{"rule_id":"osv/GHSA-85c8-ppgw-ccpr","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-85c8-ppgw-ccpr","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-85c8-ppgw-ccpr"},{"rule_id":"osv/GHSA-2464-fhr4-w9xw","severity":"critical","message":"next@16.2.1 (npm) is affected by GHSA-2464-fhr4-w9xw","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-2464-fhr4-w9xw"},{"rule_id":"osv/GHSA-2xp9-vwfh-vxw4","severity":"critical","message":"next@16.2.1 (npm) is affected by GHSA-2xp9-vwfh-vxw4","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-2xp9-vwfh-vxw4"},{"rule_id":"osv/GHSA-673q-mjm6-r5xr","severity":"critical","message":"next@16.2.1 (npm) is affected by GHSA-673q-mjm6-r5xr","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-673q-mjm6-r5xr"},{"rule_id":"osv/GHSA-p293-qw3h-jr36","severity":"critical","message":"next@16.2.1 (npm) is affected by GHSA-p293-qw3h-jr36","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-p293-qw3h-jr36"},{"rule_id":"osv/GHSA-vcvr-r3jv-pc5j","severity":"critical","message":"next@16.2.1 (npm) is affected by GHSA-vcvr-r3jv-pc5j","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-vcvr-r3jv-pc5j"},{"rule_id":"osv/RUSTSEC-2026-0194","severity":"high","message":"quick-xml@0.39.4 (crates.io) is affected by RUSTSEC-2026-0194","path":"Cargo.lock","line":null,"fingerprint":"quick-xml@0.39.4 (crates.io):RUSTSEC-2026-0194"},{"rule_id":"osv/RUSTSEC-2026-0195","severity":"high","message":"quick-xml@0.39.4 (crates.io) is affected by RUSTSEC-2026-0195","path":"Cargo.lock","line":null,"fingerprint":"quick-xml@0.39.4 (crates.io):RUSTSEC-2026-0195"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.6 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"browserslist@4.28.6 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.6 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"browserslist@4.28.6 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-mrv2-3pqr-j5jr","severity":"high","message":"dompurify@3.4.16 (npm) is affected by GHSA-mrv2-3pqr-j5jr","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"dompurify@3.4.16 (npm):GHSA-mrv2-3pqr-j5jr"},{"rule_id":"osv/GHSA-gfr2-rv44-r23c","severity":"high","message":"markdown-it@15.0.2 (npm) is affected by GHSA-gfr2-rv44-r23c","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"markdown-it@15.0.2 (npm):GHSA-gfr2-rv44-r23c"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.16 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"nanoid@3.3.16 (npm):GHSA-2v37-7h3g-55p8"},{"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 testproject-nextjs/package-lock.json","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@8.10.2 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-4w7w-5xrc-9h26","severity":"high","message":"undici@8.10.2 (npm) is affected by GHSA-4w7w-5xrc-9h26","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-4w7w-5xrc-9h26"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@8.10.2 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@8.10.2 (npm) is affected by GHSA-xjj6-f33q-929c","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@6.4.3 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vite@6.4.3 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-27p8-2357-5qqv","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-27p8-2357-5qqv","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-27p8-2357-5qqv"},{"rule_id":"osv/GHSA-4w3w-2rp5-g8jm","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-4w3w-2rp5-g8jm","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-4w3w-2rp5-g8jm"},{"rule_id":"osv/GHSA-8344-3jmq-59r6","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-8344-3jmq-59r6","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-8344-3jmq-59r6"},{"rule_id":"osv/GHSA-93r5-fhx6-vmg9","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-93r5-fhx6-vmg9","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-93r5-fhx6-vmg9"},{"rule_id":"osv/GHSA-965w-775f-mr7g","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-965w-775f-mr7g","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-965w-775f-mr7g"},{"rule_id":"osv/GHSA-c7q8-3ch8-vqpv","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-c7q8-3ch8-vqpv","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-c7q8-3ch8-vqpv"},{"rule_id":"osv/GHSA-w2rr-34g9-rvrj","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-w2rr-34g9-rvrj","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-w2rr-34g9-rvrj"},{"rule_id":"osv/GHSA-x4fp-j954-r2f4","severity":"high","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-x4fp-j954-r2f4","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-x4fp-j954-r2f4"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-9qh4-3jw8-366w","severity":"high","message":"electron@43.1.1 (npm) is affected by GHSA-9qh4-3jw8-366w","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-9qh4-3jw8-366w"},{"rule_id":"osv/GHSA-gr2m-v5gq-v685","severity":"high","message":"electron@43.1.1 (npm) is affected by GHSA-gr2m-v5gq-v685","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-gr2m-v5gq-v685"},{"rule_id":"osv/GHSA-j84w-jfhq-vhvj","severity":"high","message":"electron@43.1.1 (npm) is affected by GHSA-j84w-jfhq-vhvj","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-j84w-jfhq-vhvj"},{"rule_id":"osv/GHSA-jr5w-w6x2-84p9","severity":"high","message":"electron@43.1.1 (npm) is affected by GHSA-jr5w-w6x2-84p9","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-jr5w-w6x2-84p9"},{"rule_id":"osv/GHSA-qmv3-fv6v-rmhq","severity":"high","message":"electron@43.1.1 (npm) is affected by GHSA-qmv3-fv6v-rmhq","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-qmv3-fv6v-rmhq"},{"rule_id":"osv/GHSA-5jgf-p345-68v8","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-5jgf-p345-68v8","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-5jgf-p345-68v8"},{"rule_id":"osv/GHSA-7p8r-x3mc-p8w7","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-7p8r-x3mc-p8w7","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-7p8r-x3mc-p8w7"},{"rule_id":"osv/GHSA-f65p-4m7j-42xc","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-f65p-4m7j-42xc","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-f65p-4m7j-42xc"},{"rule_id":"osv/GHSA-fph4-wmhf-6fwf","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-fph4-wmhf-6fwf","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-fph4-wmhf-6fwf"},{"rule_id":"osv/GHSA-jqff-g426-hqxp","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-jqff-g426-hqxp","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-jqff-g426-hqxp"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@3.1.4 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.3.0 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"desktop/package-lock.json","line":null,"fingerprint":"js-yaml@4.3.0 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.3.0 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"desktop/package-lock.json","line":null,"fingerprint":"js-yaml@4.3.0 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-4cwx-7wf7-3272","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-4cwx-7wf7-3272","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-4cwx-7wf7-3272"},{"rule_id":"osv/GHSA-4w7w-5xrc-9h26","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-4w7w-5xrc-9h26","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-4w7w-5xrc-9h26"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-w293-vg96-wgc3","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-w293-vg96-wgc3","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-w293-vg96-wgc3"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@7.28.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-28wg-ghj8-5hjv","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-xwg4-73v4-xw9w","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-xwg4-73v4-xw9w","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-xwg4-73v4-xw9w"},{"rule_id":"osv/GHSA-267c-6grr-h53f","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-267c-6grr-h53f","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-267c-6grr-h53f"},{"rule_id":"osv/GHSA-26hh-7cqf-hhc6","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-26hh-7cqf-hhc6","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-26hh-7cqf-hhc6"},{"rule_id":"osv/GHSA-36qx-fr4f-26g5","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-36qx-fr4f-26g5","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-36qx-fr4f-26g5"},{"rule_id":"osv/GHSA-492v-c6pp-mqqv","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-492v-c6pp-mqqv","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-492v-c6pp-mqqv"},{"rule_id":"osv/GHSA-6gpp-xcg3-4w24","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-6gpp-xcg3-4w24","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-6gpp-xcg3-4w24"},{"rule_id":"osv/GHSA-89xv-2m56-2m9x","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-89xv-2m56-2m9x","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-89xv-2m56-2m9x"},{"rule_id":"osv/GHSA-8h8q-6873-q5fj","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-8h8q-6873-q5fj","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-8h8q-6873-q5fj"},{"rule_id":"osv/GHSA-c4j6-fc7j-m34r","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-c4j6-fc7j-m34r","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-c4j6-fc7j-m34r"},{"rule_id":"osv/GHSA-cjq9-62q9-8jv4","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-cjq9-62q9-8jv4","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-cjq9-62q9-8jv4"},{"rule_id":"osv/GHSA-m99w-x7hq-7vfj","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-m99w-x7hq-7vfj","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-m99w-x7hq-7vfj"},{"rule_id":"osv/GHSA-mg66-mrh9-m8jx","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-mg66-mrh9-m8jx","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-mg66-mrh9-m8jx"},{"rule_id":"osv/GHSA-p3m5-59mp-jv5r","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-p3m5-59mp-jv5r","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-p3m5-59mp-jv5r"},{"rule_id":"osv/GHSA-p9j2-gv94-2wf4","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-p9j2-gv94-2wf4","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-p9j2-gv94-2wf4"},{"rule_id":"osv/GHSA-q4gf-8mx6-v5v3","severity":"high","message":"next@16.2.1 (npm) is affected by GHSA-q4gf-8mx6-v5v3","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-q4gf-8mx6-v5v3"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-6g55-p6wh-862q","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-r28c-9q8g-f849","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-f88m-g3jw-g9cj","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-f88m-g3jw-g9cj","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-f88m-g3jw-g9cj"},{"rule_id":"osv/GHSA-rgj7-g3m4-5g8c","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-rgj7-g3m4-5g8c","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-rgj7-g3m4-5g8c"},{"rule_id":"osv/GHSA-wq5f-xc86-pv6w","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-wq5f-xc86-pv6w","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-wq5f-xc86-pv6w"},{"rule_id":"osv/RUSTSEC-2026-0190","severity":"medium","message":"anyhow@1.0.102 (crates.io) is affected by RUSTSEC-2026-0190","path":"Cargo.lock","line":null,"fingerprint":"anyhow@1.0.102 (crates.io):RUSTSEC-2026-0190"},{"rule_id":"osv/RUSTSEC-2023-0089","severity":"medium","message":"atomic-polyfill@1.0.3 (crates.io) is affected by RUSTSEC-2023-0089","path":"Cargo.lock","line":null,"fingerprint":"atomic-polyfill@1.0.3 (crates.io):RUSTSEC-2023-0089"},{"rule_id":"osv/RUSTSEC-2026-0253","severity":"medium","message":"lru@0.18.0 (crates.io) is affected by RUSTSEC-2026-0253","path":"Cargo.lock","line":null,"fingerprint":"lru@0.18.0 (crates.io):RUSTSEC-2026-0253"},{"rule_id":"osv/RUSTSEC-2025-0119","severity":"medium","message":"number_prefix@0.4.0 (crates.io) is affected by RUSTSEC-2025-0119","path":"Cargo.lock","line":null,"fingerprint":"number_prefix@0.4.0 (crates.io):RUSTSEC-2025-0119"},{"rule_id":"osv/RUSTSEC-2024-0436","severity":"medium","message":"paste@1.0.15 (crates.io) is affected by RUSTSEC-2024-0436","path":"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":"Cargo.lock","line":null,"fingerprint":"pin-utils@0.1.0 (crates.io):RUSTSEC-2026-0441"},{"rule_id":"osv/RUSTSEC-2026-0538","severity":"medium","message":"quinn-udp@0.5.14 (crates.io) is affected by RUSTSEC-2026-0538","path":"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.8.5 (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc","path":"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":"Cargo.lock","line":null,"fingerprint":"rand@0.9.2 (crates.io):GHSA-cq8v-f236-94qc"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.1.4 (crates.io) is affected by RUSTSEC-2026-0486","path":"Cargo.lock","line":null,"fingerprint":"rustix@1.1.4 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/RUSTSEC-2025-0134","severity":"medium","message":"rustls-pemfile@2.2.0 (crates.io) is affected by RUSTSEC-2025-0134","path":"Cargo.lock","line":null,"fingerprint":"rustls-pemfile@2.2.0 (crates.io):RUSTSEC-2025-0134"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.50.0 (crates.io) is affected by RUSTSEC-2026-0386","path":"Cargo.lock","line":null,"fingerprint":"tokio@1.50.0 (crates.io):RUSTSEC-2026-0386"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@3.2.7 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"@vitest/mocker@3.2.7 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@3.2.7 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"@vitest/mocker@3.2.7 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.44 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.10.44 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-c6gr-qvv4-5v3f","severity":"medium","message":"dompurify@3.4.16 (npm) is affected by GHSA-c6gr-qvv4-5v3f","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"dompurify@3.4.16 (npm):GHSA-c6gr-qvv4-5v3f"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.20 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"postcss@8.5.20 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@8.10.2 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-55wc-3pg8-jfw6","severity":"medium","message":"undici@8.10.2 (npm) is affected by GHSA-55wc-3pg8-jfw6","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-55wc-3pg8-jfw6"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@8.10.2 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-f72v-6w45-q472","severity":"medium","message":"undici@8.10.2 (npm) is affected by GHSA-f72v-6w45-q472","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"undici@8.10.2 (npm):GHSA-f72v-6w45-q472"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@6.4.3 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vite@6.4.3 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@6.4.3 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vite@6.4.3 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@6.4.3 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vite@6.4.3 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@3.2.7 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vitest@3.2.7 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-6gmq-8vp8-gcm6","severity":"medium","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-6gmq-8vp8-gcm6","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-6gmq-8vp8-gcm6"},{"rule_id":"osv/GHSA-6h8r-xr42-gp59","severity":"medium","message":"@xmldom/xmldom@0.8.13 (npm) is affected by GHSA-6h8r-xr42-gp59","path":"desktop/package-lock.json","line":null,"fingerprint":"@xmldom/xmldom@0.8.13 (npm):GHSA-6h8r-xr42-gp59"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"desktop/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-2p8c-gr87-2676","severity":"medium","message":"electron@43.1.1 (npm) is affected by GHSA-2p8c-gr87-2676","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-2p8c-gr87-2676"},{"rule_id":"osv/GHSA-997q-gvvc-jwmx","severity":"medium","message":"electron@43.1.1 (npm) is affected by GHSA-997q-gvvc-jwmx","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-997q-gvvc-jwmx"},{"rule_id":"osv/GHSA-fw47-9c62-h3vw","severity":"medium","message":"electron@43.1.1 (npm) is affected by GHSA-fw47-9c62-h3vw","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-fw47-9c62-h3vw"},{"rule_id":"osv/GHSA-x562-297c-g43g","severity":"medium","message":"electron@43.1.1 (npm) is affected by GHSA-x562-297c-g43g","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-x562-297c-g43g"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@3.1.4 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@3.1.4 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-wjr9-j795-jxcr","severity":"medium","message":"fast-uri@3.1.4 (npm) is affected by GHSA-wjr9-j795-jxcr","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-wjr9-j795-jxcr"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.6 (npm) is affected by GHSA-g3hv-75wg-m249","path":"desktop/package-lock.json","line":null,"fingerprint":"minimatch@10.2.6 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.9 (npm) is affected by GHSA-g3hv-75wg-m249","path":"desktop/package-lock.json","line":null,"fingerprint":"minimatch@9.0.9 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-2jfj-6hjv-fm6j","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-2jfj-6hjv-fm6j","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-2jfj-6hjv-fm6j"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-3xpg-4rpp-hhhm","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-3xpg-4rpp-hhhm","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-3xpg-4rpp-hhhm"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-55wc-3pg8-jfw6","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-55wc-3pg8-jfw6","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-55wc-3pg8-jfw6"},{"rule_id":"osv/GHSA-8xcm-r25x-g524","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-8xcm-r25x-g524","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-8xcm-r25x-g524"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-f72v-6w45-q472","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-f72v-6w45-q472","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-f72v-6w45-q472"},{"rule_id":"osv/GHSA-jr45-8vmc-qm54","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-jr45-8vmc-qm54","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-jr45-8vmc-qm54"},{"rule_id":"osv/GHSA-m8rv-5g2x-5cg5","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-m8rv-5g2x-5cg5","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-m8rv-5g2x-5cg5"},{"rule_id":"osv/GHSA-pmjh-fq2x-6v4x","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-pmjh-fq2x-6v4x","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-pmjh-fq2x-6v4x"},{"rule_id":"osv/GHSA-rx4f-c7p8-82vq","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-rx4f-c7p8-82vq","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-rx4f-c7p8-82vq"},{"rule_id":"osv/GHSA-v3r7-h72x-cjcm","severity":"medium","message":"undici@7.28.0 (npm) is affected by GHSA-v3r7-h72x-cjcm","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-v3r7-h72x-cjcm"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.10 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.10.10 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-39w2-rjm5-chcv","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-39w2-rjm5-chcv","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-39w2-rjm5-chcv"},{"rule_id":"osv/GHSA-4633-3j49-mh5q","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-4633-3j49-mh5q","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-4633-3j49-mh5q"},{"rule_id":"osv/GHSA-4c39-4ccg-62r3","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-4c39-4ccg-62r3","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-4c39-4ccg-62r3"},{"rule_id":"osv/GHSA-4jqv-mc3x-m676","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-4jqv-mc3x-m676","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-4jqv-mc3x-m676"},{"rule_id":"osv/GHSA-68g3-v927-f742","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-68g3-v927-f742","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-68g3-v927-f742"},{"rule_id":"osv/GHSA-955p-x3mx-jcvp","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-955p-x3mx-jcvp","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-955p-x3mx-jcvp"},{"rule_id":"osv/GHSA-f87g-xv8r-7p7x","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-f87g-xv8r-7p7x","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-f87g-xv8r-7p7x"},{"rule_id":"osv/GHSA-ffhc-5mcf-pf4q","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-ffhc-5mcf-pf4q","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-ffhc-5mcf-pf4q"},{"rule_id":"osv/GHSA-gx5p-jg67-6x7h","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-gx5p-jg67-6x7h","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-gx5p-jg67-6x7h"},{"rule_id":"osv/GHSA-h64f-5h5j-jqjh","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-h64f-5h5j-jqjh","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-h64f-5h5j-jqjh"},{"rule_id":"osv/GHSA-mcj8-r9mp-w47p","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-mcj8-r9mp-w47p","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-mcj8-r9mp-w47p"},{"rule_id":"osv/GHSA-q8wf-6r8g-63ch","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-q8wf-6r8g-63ch","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-q8wf-6r8g-63ch"},{"rule_id":"osv/GHSA-wfc6-r584-vfw7","severity":"medium","message":"next@16.2.1 (npm) is affected by GHSA-wfc6-r584-vfw7","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-wfc6-r584-vfw7"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-qx2v-qp2m-jg93","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-vfgh-jcmw-g37q","severity":"low","message":"markdown-it@15.0.2 (npm) is affected by GHSA-vfgh-jcmw-g37q","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"markdown-it@15.0.2 (npm):GHSA-vfgh-jcmw-g37q"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@6.4.3 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"crates/veld-daemon/ui/package-lock.json","line":null,"fingerprint":"vite@6.4.3 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-3qxv-5xgr-q7w9","severity":"low","message":"electron@43.1.1 (npm) is affected by GHSA-3qxv-5xgr-q7w9","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-3qxv-5xgr-q7w9"},{"rule_id":"osv/GHSA-98mx-cjp9-gchm","severity":"low","message":"electron@43.1.1 (npm) is affected by GHSA-98mx-cjp9-gchm","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-98mx-cjp9-gchm"},{"rule_id":"osv/GHSA-h3v5-h239-pg29","severity":"low","message":"electron@43.1.1 (npm) is affected by GHSA-h3v5-h239-pg29","path":"desktop/package-lock.json","line":null,"fingerprint":"electron@43.1.1 (npm):GHSA-h3v5-h239-pg29"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@3.1.4 (npm) is affected by GHSA-333x-w4r6-6crp","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@3.1.4 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"desktop/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.4 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@6.28.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-2gqq-gqf2-x968","severity":"low","message":"undici@7.28.0 (npm) is affected by GHSA-2gqq-gqf2-x968","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-2gqq-gqf2-x968"},{"rule_id":"osv/GHSA-8436-99hf-9mmv","severity":"low","message":"undici@7.28.0 (npm) is affected by GHSA-8436-99hf-9mmv","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-8436-99hf-9mmv"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@7.28.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"desktop/package-lock.json","line":null,"fingerprint":"undici@7.28.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-3g8h-86w9-wvmq","severity":"low","message":"next@16.2.1 (npm) is affected by GHSA-3g8h-86w9-wvmq","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-3g8h-86w9-wvmq"},{"rule_id":"osv/GHSA-vfv6-92ff-j949","severity":"low","message":"next@16.2.1 (npm) is affected by GHSA-vfv6-92ff-j949","path":"testproject-nextjs/package-lock.json","line":null,"fingerprint":"next@16.2.1 (npm):GHSA-vfv6-92ff-j949"}],"evidence":[],"data":{"ecosystems":["crates.io","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":4.0,"findings":26.0,"findings_high":1.0,"findings_medium":21.0,"findings_low":4.0,"penalty":32.4},"findings":[{"rule_id":"zizmor/dangerous-triggers","severity":"high","message":"use of fundamentally insecure workflow trigger [confidence medium]","path":".github/workflows/lock.yml","line":13,"fingerprint":"dangerous-triggers:.github/workflows/lock.yml:13"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":108,"fingerprint":"artipacked:.github/workflows/ci.yml:108"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":178,"fingerprint":"artipacked:.github/workflows/ci.yml:178"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":203,"fingerprint":"artipacked:.github/workflows/ci.yml:203"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":216,"fingerprint":"artipacked:.github/workflows/ci.yml:216"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1133,"fingerprint":"artipacked:.github/workflows/ci.yml:1133"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1169,"fingerprint":"artipacked:.github/workflows/ci.yml:1169"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1208,"fingerprint":"artipacked:.github/workflows/ci.yml:1208"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1261,"fingerprint":"artipacked:.github/workflows/ci.yml:1261"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1299,"fingerprint":"artipacked:.github/workflows/ci.yml:1299"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1383,"fingerprint":"artipacked:.github/workflows/ci.yml:1383"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1434,"fingerprint":"artipacked:.github/workflows/ci.yml:1434"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1895,"fingerprint":"artipacked:.github/workflows/ci.yml:1895"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1965,"fingerprint":"artipacked:.github/workflows/ci.yml:1965"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":1986,"fingerprint":"artipacked:.github/workflows/ci.yml:1986"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/lock.yml","line":35,"fingerprint":"artipacked:.github/workflows/lock.yml:35"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pages.yml","line":36,"fingerprint":"artipacked:.github/workflows/pages.yml:36"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":49,"fingerprint":"artipacked:.github/workflows/release.yml:49"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":126,"fingerprint":"artipacked:.github/workflows/release.yml:126"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":517,"fingerprint":"artipacked:.github/workflows/release.yml:517"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":738,"fingerprint":"artipacked:.github/workflows/release.yml:738"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":1110,"fingerprint":"artipacked:.github/workflows/release.yml:1110"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":177,"fingerprint":"template-injection:.github/workflows/release.yml:177"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":398,"fingerprint":"template-injection:.github/workflows/release.yml:398"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":450,"fingerprint":"template-injection:.github/workflows/release.yml:450"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":1125,"fingerprint":"template-injection:.github/workflows/release.yml:1125"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":1.0,"check:signed_commits":1.0,"check:lockfiles":0.0,"signed_commit_share":0.6,"unpinned_manifests":9.0},"findings":[],"evidence":[{"kind":"posture","description":"Dependency updates: renovate.json","ref":"renovate.json","url":null,"weight":0.0},{"kind":"posture","description":"crates/veld-core/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-core/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-daemon/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-daemon/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-engine/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-engine/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-gateway/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-gateway/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-helper/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-helper/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-share/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-share/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-sign/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-sign/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld-stats/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld-stats/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/veld/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/veld/Cargo.toml","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":2.0,"binary_assets":140.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v17.10.0 ships veld-17.10.0-linux-amd64.tar.gz (2 downloads)","ref":"veld-17.10.0-linux-amd64.tar.gz","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-linux-amd64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v17.10.0 ships veld-17.10.0-linux-arm64.tar.gz (1 downloads)","ref":"veld-17.10.0-linux-arm64.tar.gz","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-linux-arm64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v17.10.0 ships veld-17.10.0-macos-amd64.tar.gz (2 downloads)","ref":"veld-17.10.0-macos-amd64.tar.gz","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-macos-amd64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v17.10.0 ships veld-17.10.0-macos-arm64.tar.gz (8 downloads)","ref":"veld-17.10.0-macos-arm64.tar.gz","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-17.10.0-macos-arm64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v17.10.0 ships veld-desktop-17.10.0-linux-amd64.deb (1 downloads)","ref":"veld-desktop-17.10.0-linux-amd64.deb","url":"https://github.com/prosperity-solutions/veld/releases/download/v17.10.0/veld-desktop-17.10.0-linux-amd64.deb","weight":0.0},{"kind":"readme-download-lure","description":"gives an archive password","ref":"README.md","url":null,"weight":0.0}],"data":{"signals":["binary-release-assets","readme-download-lure"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":9285.0,"function_nloc":141975.0,"mean_ccn":3.09,"p90_ccn":6.0,"complex_functions":198.0,"long_functions":127.0,"many_param_functions":11.0,"risky_nloc_share":0.2251},"findings":[],"evidence":[{"kind":"complex-function","description":"AppInner in crates/veld-daemon/ui/src/App.tsx: complexity 212, 1357 lines","ref":"crates/veld-daemon/ui/src/App.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/App.tsx#L1063","weight":1.0},{"kind":"complex-function","description":"DatabaseHealthDialog in crates/veld-daemon/ui/src/components/dialogs.tsx: complexity 175, 1163 lines","ref":"crates/veld-daemon/ui/src/components/dialogs.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/components/dialogs.tsx#L274","weight":1.0},{"kind":"complex-function","description":"BrowserPane in crates/veld-daemon/ui/src/panes/BrowserPane.tsx: complexity 165, 1068 lines","ref":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/panes/BrowserPane.tsx#L286","weight":1.0},{"kind":"complex-function","description":"validate in crates/veld-core/src/db/settings.rs: complexity 128, 356 lines","ref":"crates/veld-core/src/db/settings.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings.rs#L1122","weight":1.0},{"kind":"complex-function","description":"PaneChooser in crates/veld-daemon/ui/src/panes/PaneArea.tsx: complexity 100, 652 lines","ref":"crates/veld-daemon/ui/src/panes/PaneArea.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/panes/PaneArea.tsx#L2123","weight":1.0},{"kind":"complex-function","description":"(anonymous) in crates/veld-daemon/ui/src/App.tsx: complexity 98, 219 lines","ref":"crates/veld-daemon/ui/src/App.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/App.tsx#L11012","weight":1.0},{"kind":"complex-function","description":"renderGroup in crates/veld-daemon/ui/src/App.tsx: complexity 92, 246 lines","ref":"crates/veld-daemon/ui/src/App.tsx","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-daemon/ui/src/App.tsx#L10544","weight":1.0},{"kind":"complex-function","description":"as_str in crates/veld-core/src/db/settings.rs: complexity 85, 89 lines","ref":"crates/veld-core/src/db/settings.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings.rs#L932","weight":1.0},{"kind":"complex-function","description":"parse in crates/veld-core/src/db/settings.rs: complexity 85, 89 lines","ref":"crates/veld-core/src/db/settings.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings.rs#L1022","weight":1.0},{"kind":"complex-function","description":"spec in crates/veld-core/src/db/settings_catalog.rs: complexity 85, 1129 lines","ref":"crates/veld-core/src/db/settings_catalog.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings_catalog.rs#L613","weight":1.0}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":210344.0,"duplicated_lines":4777.0,"duplicated_share":0.0227,"files":363.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/config.rs:542 and crates/veld-core/src/config.rs:901","ref":"crates/veld-core/src/config.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/config.rs#L542","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/backup.rs:1517 and crates/veld-core/src/db/backup.rs:2075","ref":"crates/veld-core/src/db/backup.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/backup.rs#L1517","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/kv.rs:219 and crates/veld-core/src/db/kv.rs:250","ref":"crates/veld-core/src/db/kv.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/kv.rs#L219","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/layouts.rs:75 and crates/veld-core/src/db/layouts.rs:124","ref":"crates/veld-core/src/db/layouts.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/layouts.rs#L75","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/layouts.rs:225 and crates/veld-core/src/db/panes.rs:194","ref":"crates/veld-core/src/db/layouts.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/layouts.rs#L225","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/links.rs:857 and crates/veld-core/src/db/links.rs:1040","ref":"crates/veld-core/src/db/links.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/links.rs#L857","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/logs.rs:137 and crates/veld-core/src/db/logs.rs:191","ref":"crates/veld-core/src/db/logs.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/logs.rs#L137","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/mod.rs:1307 and crates/veld-core/src/db/mod.rs:1504","ref":"crates/veld-core/src/db/mod.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/mod.rs#L1307","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/settings.rs:1287 and crates/veld-core/src/db/settings.rs:1580","ref":"crates/veld-core/src/db/settings.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings.rs#L1287","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: crates/veld-core/src/db/settings_catalog.rs:517 and crates/veld-core/src/db/settings_catalog.rs:534","ref":"crates/veld-core/src/db/settings_catalog.rs","url":"https://github.com/prosperity-solutions/veld/blob/6ebb5ea313971c4e2ac9d7c4c487aa43d9b861c1/crates/veld-core/src/db/settings_catalog.rs#L517","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":94.0,"weighted_findings":60.25,"scanned_lines":269483.0,"category:best-practice":48.0,"category:correctness":46.0},"findings":[{"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":"crates/veld-daemon/ui/src/App.tsx","line":616,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/App.tsx:616"},{"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":"crates/veld-daemon/ui/src/App.tsx","line":786,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/App.tsx:786"},{"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":"crates/veld-daemon/ui/src/components/Extensions.tsx","line":333,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/Extensions.tsx:333"},{"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":"crates/veld-daemon/ui/src/components/Extensions.tsx","line":399,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/Extensions.tsx:399"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":196,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:196"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":453,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:453"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":455,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:455"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":458,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:458"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":471,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:471"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":477,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:477"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":484,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:484"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":494,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:494"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":500,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:500"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":502,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:502"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":953,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:953"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":977,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:977"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":1533,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:1533"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":1536,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:1536"},{"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":"crates/veld-daemon/ui/src/components/SettingsDialog.tsx","line":1542,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/SettingsDialog.tsx:1542"},{"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":"crates/veld-daemon/ui/src/components/StartConfig.tsx","line":234,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/StartConfig.tsx:234"},{"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":"crates/veld-daemon/ui/src/components/StartConfig.tsx","line":235,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/StartConfig.tsx:235"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":165,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/dialogs.tsx:165"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":998,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:998"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":1010,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:1010"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":1077,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:1077"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":1102,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:1102"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":1123,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:1123"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":2204,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/components/dialogs.tsx:2204"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":3196,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:3196"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":3418,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:3418"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":3419,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:3419"},{"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":"crates/veld-daemon/ui/src/components/dialogs.tsx","line":3650,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/components/dialogs.tsx:3650"},{"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":"crates/veld-daemon/ui/src/outfit/useOutfitState.ts","line":49,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/outfit/useOutfitState.ts: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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1384,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1384"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1399,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1399"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1413,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1413"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1432,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1432"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1466,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1466"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1484,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1484"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1684,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1684"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1847,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1847"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":1909,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:1909"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":2395,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:2395"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":2465,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:2465"},{"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":"crates/veld-daemon/ui/src/panes/BrowserPane.tsx","line":2486,"fingerprint":"typescript.react.best-practice.react-props-spreading:crates/veld-daemon/ui/src/panes/BrowserPane.tsx:2486"},{"rule_id":"opengrep/javascript.lang.correctness.no-replaceall","severity":"medium","message":"The string method replaceAll is not supported in all versions of javascript, and is not supported by older browser versions. Consider using replace() with a regex as the first argument instead like mystring.replace(/bad/g, \"good\") instead of mystring.replaceAll(\"bad\", \"good\") (https://discourse.thre","path":"crates/veld-daemon/ui/src/panes/devices.ts","line":1146,"fingerprint":"javascript.lang.correctness.no-replaceall:crates/veld-daemon/ui/src/panes/devices.ts:1146"},{"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":"crates/veld-daemon/ui/src/shared/Sharing.tsx","line":426,"fingerprint":"typescript.react.best-practice.react-props-in-state:crates/veld-daemon/ui/src/shared/Sharing.tsx:426"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"desktop/src/main.js","line":219,"fingerprint":"javascript.lang.best-practice.lazy-load-module:desktop/src/main.js:219"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"desktop/src/main.js","line":220,"fingerprint":"javascript.lang.best-practice.lazy-load-module:desktop/src/main.js:220"},{"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":"crates/veld-daemon/ui/src/files/gutter.ts","line":79,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:crates/veld-daemon/ui/src/files/gutter.ts:79"},{"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":"crates/veld-daemon/ui/src/files/gutter.ts","line":84,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:crates/veld-daemon/ui/src/files/gutter.ts:84"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/browserViews.js","line":28,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/browserViews.js:28"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/browserViews.js","line":39,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/browserViews.js:39"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/browserViews.js","line":54,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/browserViews.js:54"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/browserViews.js","line":57,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/browserViews.js:57"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/browserViews.js","line":58,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/browserViews.js:58"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":21,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:21"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":22,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:22"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":23,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:23"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":24,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:24"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":36,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:36"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":37,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:37"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/main.js","line":38,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/main.js:38"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/updater.js","line":28,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/updater.js:28"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/updater.js","line":29,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/updater.js:29"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"desktop/src/updater.js","line":719,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:desktop/src/updater.js:719"},{"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":"desktop/src/updater.js","line":719,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:desktop/src/updater.js:719"},{"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":"desktop/src/waitingScreen.js","line":178,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:desktop/src/waitingScreen.js:178"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"desktop/src/waitingScreen.js","line":178,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:desktop/src/waitingScreen.js:178"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/windows.js","line":24,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/windows.js:24"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`const` is assigned twice; the first assignment is useless","path":"desktop/src/windows.js","line":35,"fingerprint":"javascript.lang.correctness.useless-assignment:desktop/src/windows.js:35"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":236,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:236"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":360,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:360"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":745,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:745"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":909,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:909"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1035,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1035"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1165,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1165"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1166,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1166"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1217,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1217"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1219,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1219"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1223,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1223"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1225,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1225"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1229,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1229"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1233,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1233"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1248,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1248"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1249,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1249"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1275,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1275"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1276,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1276"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1539,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1539"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1614,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1614"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1616,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1616"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"install.sh","line":1635,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:install.sh:1635"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"scripts/veld/claude-sessions.sh","line":112,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/veld/claude-sessions.sh:112"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/veld/claude-sessions.sh","line":112,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/veld/claude-sessions.sh:112"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.265,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":35704.0,"source_lines":269483.0,"test_ratio":0.1325,"ci_files":4.0,"cochange_share":0.6768,"cochange_commits":164.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/lock.yml","ref":".github/workflows/lock.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/pages.yml","ref":".github/workflows/pages.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (npm test, go test, cargo test, vitest)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (biome, clippy, rustfmt, cargo fmt, shellcheck)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["npm test","go test","cargo test","vitest"],"lint_commands":["biome","clippy","rustfmt","cargo fmt","shellcheck"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":759.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.9946,"check:low_escape_density":1.0,"escapes":6.0,"escapes_per_kloc":0.09},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: crates/veld-daemon/ui/tsconfig.json","ref":"crates/veld-daemon/ui/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":47629.0,"other_lines":221854.0,"files_blamed":363.0,"blame_failures":0.0,"quality:ai_findings":18.0,"quality:ai_per_kloc":0.378,"quality:other_findings":76.0,"quality:other_per_kloc":0.343,"quality:ratio":1.1,"security:ai_findings":21.0,"security:ai_per_kloc":0.441,"security:other_findings":145.0,"security:other_per_kloc":0.654,"security:ratio":0.67},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}