{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T15:09:39.599061Z","repo":{"ref":{"host":"github.com","owner":"AlistGo","name":"alist"},"default_branch":"main","clone_url":"https://github.com/AlistGo/alist.git","html_url":"https://github.com/AlistGo/alist","description":"🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序，使用 Gin 和 Solidjs。","stars":50453,"forks":7894,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":6916,"primary_language":"Go","license_spdx":"AGPL-3.0","created_at":"2020-12-23T17:40:29Z","pushed_at":"2026-10-21T10:37:43Z","security_policy_url":null,"distribution":{"owner_created_at":"2024-10-14T10:19:27Z","owner_type":"Organization","release_assets":[{"name":"alist-android-386.tar.gz","size":45308051,"download_count":515,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":46063919,"download_count":534,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43291785,"download_count":334,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":44015289,"download_count":639,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":45023860,"download_count":818,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":43059461,"download_count":1545,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":43130414,"download_count":263,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40415117,"download_count":217,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41528187,"download_count":209,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41897860,"download_count":248,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44585216,"download_count":3692,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41759697,"download_count":142,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41697461,"download_count":133,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41654951,"download_count":282,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42239119,"download_count":952,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40654642,"download_count":129,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":40073815,"download_count":127,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39539150,"download_count":129,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":40192413,"download_count":139,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44923119,"download_count":1255,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":42174235,"download_count":486,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40399221,"download_count":128,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39920048,"download_count":128,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39397027,"download_count":125,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39950023,"download_count":174,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40793358,"download_count":127,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42714629,"download_count":121,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41612368,"download_count":131,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41612222,"download_count":127,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41704541,"download_count":127,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41646827,"download_count":122,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41612312,"download_count":124,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41604370,"download_count":133,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41604183,"download_count":120,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41702398,"download_count":122,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41642510,"download_count":118,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41604182,"download_count":183,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41604182,"download_count":119,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40897519,"download_count":118,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41616714,"download_count":118,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42902947,"download_count":116,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42494584,"download_count":862,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44794839,"download_count":927,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":45304878,"download_count":8834,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42262601,"download_count":560,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":248,"download_count":140,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":188,"download_count":118,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":783,"download_count":125,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":534,"download_count":143,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1165,"download_count":600,"release_tag":"v3.66.0","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":45308536,"download_count":11,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":46065261,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43296273,"download_count":10,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":44012969,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":45030012,"download_count":12,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":43061791,"download_count":12,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-386.tar.gz","size":41528563,"download_count":10,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-freebsd-386.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":43130677,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40416713,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-freebsd-arm64.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41894729,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":45020469,"download_count":13,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41755718,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41693942,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41656238,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42234972,"download_count":17,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40652801,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":40077841,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39539577,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":40190130,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-386.tar.gz","size":41722826,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-386.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44921479,"download_count":15,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":42175110,"download_count":11,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40404934,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39922950,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39398984,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39953422,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40796038,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-riscv64.tar.gz","size":41707854,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-riscv64.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42715214,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41612343,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41612621,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41701102,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41643287,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41611917,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41606025,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41606244,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41701262,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41639766,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41606225,"download_count":10,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41606225,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40899405,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41613500,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42898735,"download_count":7,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42492527,"download_count":20,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-windows-386.zip"},{"name":"alist-windows-amd64.zip","size":45298427,"download_count":78,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42265869,"download_count":16,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/alist-windows-arm64.zip"},{"name":"CHANGELOG.md","size":945,"download_count":2,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/CHANGELOG.md"},{"name":"md5-android.txt","size":248,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5-android.txt"},{"name":"md5-freebsd.txt","size":187,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":849,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":600,"download_count":9,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5-linux-musl.txt"},{"name":"md5-windows-arm64.txt","size":60,"download_count":10,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5-windows-arm64.txt"},{"name":"md5.txt","size":1041,"download_count":8,"release_tag":"beta","url":"https://github.com/AlistGo/alist/releases/download/beta/md5.txt"},{"name":"alist-android-386.tar.gz","size":45304228,"download_count":183,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":46067340,"download_count":201,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43288933,"download_count":127,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":44009219,"download_count":208,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":45025293,"download_count":213,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":43064387,"download_count":406,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":43126830,"download_count":93,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40413299,"download_count":81,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41519451,"download_count":73,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41895524,"download_count":100,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44586238,"download_count":998,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41755113,"download_count":48,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41692620,"download_count":48,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41660204,"download_count":99,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42237701,"download_count":252,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40650036,"download_count":46,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":40073858,"download_count":46,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39534167,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":40181661,"download_count":48,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44922885,"download_count":657,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":42174610,"download_count":219,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40400509,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39916446,"download_count":44,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39393005,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39956026,"download_count":54,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40788347,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42715965,"download_count":44,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41605206,"download_count":50,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41605208,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41701792,"download_count":48,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41645937,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41605208,"download_count":46,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41604368,"download_count":47,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41604371,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41699514,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41639595,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41604424,"download_count":59,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41604427,"download_count":43,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40899746,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41612266,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42897769,"download_count":42,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42492705,"download_count":501,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44794726,"download_count":270,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":45296856,"download_count":2918,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42264456,"download_count":377,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":45,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":188,"download_count":40,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":783,"download_count":40,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":534,"download_count":55,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":224,"release_tag":"v3.65.0","url":"https://github.com/AlistGo/alist/releases/download/v3.65.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":45264806,"download_count":787,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":46029443,"download_count":800,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43250311,"download_count":545,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":43972202,"download_count":847,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":44988122,"download_count":1079,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":43021495,"download_count":1488,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":43092257,"download_count":434,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40370126,"download_count":371,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41479947,"download_count":357,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41846781,"download_count":399,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44562200,"download_count":4047,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41719991,"download_count":204,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41653468,"download_count":208,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41612210,"download_count":336,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42192516,"download_count":1081,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40619585,"download_count":202,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":40035905,"download_count":200,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39498445,"download_count":201,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":40151798,"download_count":210,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44886332,"download_count":2026,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":42139569,"download_count":604,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40369455,"download_count":195,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39878157,"download_count":190,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39354576,"download_count":193,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39920946,"download_count":233,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40758706,"download_count":193,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42676352,"download_count":196,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41574197,"download_count":195,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41574059,"download_count":190,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41661369,"download_count":194,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41603537,"download_count":197,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41573864,"download_count":190,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41566435,"download_count":190,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41566335,"download_count":190,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41657388,"download_count":185,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41603071,"download_count":188,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41566436,"download_count":296,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41566484,"download_count":183,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40853839,"download_count":187,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41576048,"download_count":187,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42860072,"download_count":184,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42450381,"download_count":1484,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44772891,"download_count":1223,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":45262311,"download_count":8810,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42211325,"download_count":971,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":211,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":182,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":189,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":191,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":374,"release_tag":"v3.64.0","url":"https://github.com/AlistGo/alist/releases/download/v3.64.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":45196139,"download_count":783,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":45957367,"download_count":761,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43183996,"download_count":581,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":43917371,"download_count":1790,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":44896365,"download_count":919,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":42910562,"download_count":1388,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":43026876,"download_count":349,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40309881,"download_count":318,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41418013,"download_count":289,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41743440,"download_count":373,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44459488,"download_count":3012,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41626842,"download_count":150,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41568627,"download_count":145,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41521297,"download_count":233,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42101655,"download_count":758,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40487369,"download_count":147,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":39928166,"download_count":144,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39392359,"download_count":141,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":40031365,"download_count":149,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44817646,"download_count":1201,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":42080723,"download_count":542,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40306928,"download_count":139,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39827115,"download_count":136,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39295810,"download_count":138,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39859744,"download_count":172,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40692785,"download_count":137,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42611489,"download_count":135,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41503749,"download_count":140,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41504357,"download_count":137,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41598047,"download_count":140,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41542071,"download_count":139,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41503748,"download_count":149,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41502111,"download_count":144,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41501718,"download_count":137,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41591778,"download_count":138,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41536548,"download_count":139,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41501718,"download_count":161,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41502110,"download_count":139,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40752119,"download_count":138,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41481507,"download_count":140,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42750079,"download_count":140,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42344578,"download_count":1266,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44668874,"download_count":865,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":45158968,"download_count":7164,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42148957,"download_count":868,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":157,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":127,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":130,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":143,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":368,"release_tag":"v3.63.0","url":"https://github.com/AlistGo/alist/releases/download/v3.63.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":45088797,"download_count":638,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":45861285,"download_count":637,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":43082696,"download_count":393,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":43811406,"download_count":616,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":44795320,"download_count":757,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":42819375,"download_count":1000,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":42925966,"download_count":336,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40224781,"download_count":277,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41332257,"download_count":278,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41650329,"download_count":303,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44365542,"download_count":2139,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41533137,"download_count":161,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41473676,"download_count":153,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41431649,"download_count":204,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":42008304,"download_count":631,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40400690,"download_count":152,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":39840072,"download_count":149,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39309603,"download_count":146,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":39947831,"download_count":157,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44721248,"download_count":1008,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":41993037,"download_count":366,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40219078,"download_count":147,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39735599,"download_count":146,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39216673,"download_count":146,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39769922,"download_count":201,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40604246,"download_count":142,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42513220,"download_count":144,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41415674,"download_count":145,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41415757,"download_count":144,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41506316,"download_count":152,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41449912,"download_count":143,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41415674,"download_count":143,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41410990,"download_count":156,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41410990,"download_count":142,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41506760,"download_count":142,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41449718,"download_count":143,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41410991,"download_count":157,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41411151,"download_count":139,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40659726,"download_count":142,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41389246,"download_count":147,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42653635,"download_count":147,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42252134,"download_count":1106,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44571416,"download_count":644,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":45058199,"download_count":5613,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":42058171,"download_count":939,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":151,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":131,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":131,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":142,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":417,"release_tag":"v3.62.0","url":"https://github.com/AlistGo/alist/releases/download/v3.62.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":44988307,"download_count":1066,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":45771725,"download_count":1074,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":42979392,"download_count":687,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":43724319,"download_count":1175,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":44699677,"download_count":1673,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":42731335,"download_count":1877,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":42839071,"download_count":543,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":40145663,"download_count":480,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41248239,"download_count":454,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41569997,"download_count":567,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":44288584,"download_count":4018,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41444351,"download_count":260,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41382141,"download_count":246,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41341709,"download_count":367,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":41929251,"download_count":1054,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":40319620,"download_count":248,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":39762113,"download_count":249,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":39232148,"download_count":245,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":39862549,"download_count":252,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":44633490,"download_count":2088,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":41910866,"download_count":614,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":40137669,"download_count":249,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39658887,"download_count":240,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":39135886,"download_count":237,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39692013,"download_count":2237,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40520136,"download_count":250,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42423784,"download_count":241,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41329421,"download_count":257,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41329421,"download_count":246,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41420787,"download_count":250,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41362338,"download_count":236,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41329854,"download_count":244,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41324994,"download_count":256,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41328983,"download_count":239,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41413594,"download_count":240,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41358644,"download_count":237,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41328983,"download_count":281,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41328948,"download_count":236,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40573947,"download_count":242,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41300926,"download_count":238,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42558572,"download_count":235,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":42157582,"download_count":2680,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":44489887,"download_count":1336,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":44968054,"download_count":9721,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":41981699,"download_count":2107,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":258,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":231,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":230,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":244,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":698,"release_tag":"v3.61.0","url":"https://github.com/AlistGo/alist/releases/download/v3.61.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":44766112,"download_count":1305,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":44897631,"download_count":1237,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":42775425,"download_count":727,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":42827453,"download_count":1316,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":43901754,"download_count":1516,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":41953003,"download_count":1743,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":42611129,"download_count":605,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":39941306,"download_count":541,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":41031755,"download_count":519,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":41184016,"download_count":679,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":43485975,"download_count":3563,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":41104126,"download_count":280,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":41045080,"download_count":278,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":41001754,"download_count":487,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":41086272,"download_count":1097,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":39842679,"download_count":277,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":39375846,"download_count":275,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":38853523,"download_count":272,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":39395891,"download_count":285,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":43838596,"download_count":2100,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":41147044,"download_count":615,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":39935682,"download_count":269,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":39469082,"download_count":273,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":38946911,"download_count":273,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":39488528,"download_count":301,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":40317242,"download_count":269,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":42215204,"download_count":266,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":41131648,"download_count":274,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":41131817,"download_count":263,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":41219671,"download_count":262,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":41164321,"download_count":264,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":41131648,"download_count":263,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":41120872,"download_count":267,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":41120763,"download_count":269,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":41217304,"download_count":259,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":41162129,"download_count":266,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":41120871,"download_count":306,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":41120872,"download_count":264,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":40209808,"download_count":260,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":41148709,"download_count":258,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":42157614,"download_count":256,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":41747080,"download_count":2887,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":43687536,"download_count":1177,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":44039399,"download_count":9493,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":41202885,"download_count":2372,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":283,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":245,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":242,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":252,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":817,"release_tag":"v3.60.0","url":"https://github.com/AlistGo/alist/releases/download/v3.60.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":42003977,"download_count":224,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":42226634,"download_count":210,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":40276818,"download_count":153,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":40794026,"download_count":241,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":41683190,"download_count":229,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":40003190,"download_count":264,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":40186723,"download_count":125,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":38174003,"download_count":121,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":38748471,"download_count":114,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":39103827,"download_count":126,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":41190948,"download_count":979,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":39049631,"download_count":82,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":38991602,"download_count":79,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":38951078,"download_count":89,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":39072744,"download_count":191,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":37859341,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":37422369,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":36944879,"download_count":76,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":37446904,"download_count":76,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":41249607,"download_count":221,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":39259227,"download_count":125,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":37685034,"download_count":78,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":37313492,"download_count":79,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":36832495,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":37272984,"download_count":85,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":38049981,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":39794085,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":38784335,"download_count":80,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":38784329,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":38880219,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":38822047,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":38784517,"download_count":80,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":38782364,"download_count":80,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":38782136,"download_count":79,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":38877652,"download_count":79,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":38818558,"download_count":79,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":38780570,"download_count":82,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":38780298,"download_count":80,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":38184651,"download_count":81,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":39064397,"download_count":77,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":39994040,"download_count":78,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":39748783,"download_count":734,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":41511971,"download_count":251,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":41831595,"download_count":1678,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":39450822,"download_count":630,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":76,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":71,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":74,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":76,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":202,"release_tag":"v3.59.0","url":"https://github.com/AlistGo/alist/releases/download/v3.59.0/md5.txt"},{"name":"alist-android-386.tar.gz","size":41691896,"download_count":562,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-android-386.tar.gz"},{"name":"alist-android-amd64.tar.gz","size":41927145,"download_count":582,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-android-amd64.tar.gz"},{"name":"alist-android-arm.tar.gz","size":39994740,"download_count":397,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-android-arm.tar.gz"},{"name":"alist-android-arm64.tar.gz","size":40522495,"download_count":558,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-android-arm64.tar.gz"},{"name":"alist-darwin-amd64.tar.gz","size":41397149,"download_count":627,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-darwin-amd64.tar.gz"},{"name":"alist-darwin-arm64.tar.gz","size":39734750,"download_count":788,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-darwin-arm64.tar.gz"},{"name":"alist-freebsd-amd64.tar.gz","size":39894925,"download_count":304,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-freebsd-amd64.tar.gz"},{"name":"alist-freebsd-arm64.tar.gz","size":37911547,"download_count":288,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-freebsd-arm64.tar.gz"},{"name":"alist-freebsd-i386.tar.gz","size":38472454,"download_count":286,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-freebsd-i386.tar.gz"},{"name":"alist-linux-386.tar.gz","size":38825399,"download_count":315,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-386.tar.gz"},{"name":"alist-linux-amd64.tar.gz","size":40972924,"download_count":1202,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-amd64.tar.gz"},{"name":"alist-linux-arm-5.tar.gz","size":38775081,"download_count":107,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-arm-5.tar.gz"},{"name":"alist-linux-arm-6.tar.gz","size":38710658,"download_count":113,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-arm-6.tar.gz"},{"name":"alist-linux-arm-7.tar.gz","size":38674602,"download_count":151,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-arm-7.tar.gz"},{"name":"alist-linux-arm64.tar.gz","size":38815434,"download_count":476,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-arm64.tar.gz"},{"name":"alist-linux-mips.tar.gz","size":37598813,"download_count":113,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-mips.tar.gz"},{"name":"alist-linux-mips64.tar.gz","size":37172473,"download_count":108,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-mips64.tar.gz"},{"name":"alist-linux-mips64le.tar.gz","size":36698069,"download_count":111,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-mips64le.tar.gz"},{"name":"alist-linux-mipsle.tar.gz","size":37192144,"download_count":112,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-mipsle.tar.gz"},{"name":"alist-linux-musl-amd64.tar.gz","size":40961099,"download_count":241,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-amd64.tar.gz"},{"name":"alist-linux-musl-arm64.tar.gz","size":38997990,"download_count":169,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-arm64.tar.gz"},{"name":"alist-linux-musl-mips.tar.gz","size":37422585,"download_count":106,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-mips.tar.gz"},{"name":"alist-linux-musl-mips64.tar.gz","size":37058088,"download_count":120,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-mips64.tar.gz"},{"name":"alist-linux-musl-mips64le.tar.gz","size":36583436,"download_count":105,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-mips64le.tar.gz"},{"name":"alist-linux-musl-mipsle.tar.gz","size":37012368,"download_count":122,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-mipsle.tar.gz"},{"name":"alist-linux-musl-ppc64le.tar.gz","size":37781356,"download_count":103,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-ppc64le.tar.gz"},{"name":"alist-linux-musl-s390x.tar.gz","size":39509828,"download_count":104,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musl-s390x.tar.gz"},{"name":"alist-linux-musleabi-arm.tar.gz","size":38513046,"download_count":109,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabi-arm.tar.gz"},{"name":"alist-linux-musleabi-armel.tar.gz","size":38512619,"download_count":103,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabi-armel.tar.gz"},{"name":"alist-linux-musleabi-armv5l.tar.gz","size":38604440,"download_count":106,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabi-armv5l.tar.gz"},{"name":"alist-linux-musleabi-armv6.tar.gz","size":38546294,"download_count":108,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabi-armv6.tar.gz"},{"name":"alist-linux-musleabi-armv7m.tar.gz","size":38512130,"download_count":107,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabi-armv7m.tar.gz"},{"name":"alist-linux-musleabihf-arm.tar.gz","size":38509713,"download_count":104,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-arm.tar.gz"},{"name":"alist-linux-musleabihf-armel.tar.gz","size":38509713,"download_count":104,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-armel.tar.gz"},{"name":"alist-linux-musleabihf-armv5l.tar.gz","size":38601940,"download_count":106,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-armv5l.tar.gz"},{"name":"alist-linux-musleabihf-armv6.tar.gz","size":38538172,"download_count":102,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-armv6.tar.gz"},{"name":"alist-linux-musleabihf-armv7l.tar.gz","size":38509915,"download_count":114,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-armv7l.tar.gz"},{"name":"alist-linux-musleabihf-armv7r.tar.gz","size":38509914,"download_count":104,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-musleabihf-armv7r.tar.gz"},{"name":"alist-linux-ppc64le.tar.gz","size":37921015,"download_count":103,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-ppc64le.tar.gz"},{"name":"alist-linux-riscv64.tar.gz","size":38788001,"download_count":106,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-riscv64.tar.gz"},{"name":"alist-linux-s390x.tar.gz","size":39717810,"download_count":104,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-linux-s390x.tar.gz"},{"name":"alist-windows-386.zip","size":39466661,"download_count":1338,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-windows-386.zip"},{"name":"alist-windows-amd64-upx.zip","size":41294034,"download_count":512,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-windows-amd64-upx.zip"},{"name":"alist-windows-amd64.zip","size":41537244,"download_count":3966,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-windows-amd64.zip"},{"name":"alist-windows-arm64.zip","size":39182680,"download_count":1011,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/alist-windows-arm64.zip"},{"name":"md5-android.txt","size":300,"download_count":111,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/md5-android.txt"},{"name":"md5-freebsd.txt","size":240,"download_count":102,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/md5-freebsd.txt"},{"name":"md5-linux-musl-arm.txt","size":842,"download_count":103,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/md5-linux-musl-arm.txt"},{"name":"md5-linux-musl.txt","size":589,"download_count":102,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/md5-linux-musl.txt"},{"name":"md5.txt","size":1209,"download_count":297,"release_tag":"v3.58.0","url":"https://github.com/AlistGo/alist/releases/download/v3.58.0/md5.txt"}]}},"commit_sha":"92e745360766cce32564f94a468cb576f577d27e","profile":{"lines_by_language":{"Go":134084,"Shell":445,"Python":107},"files_by_category":{"source":738,"test":70,"config":32,"docs":12,"other":6,"generated":1},"source_lines":120066,"test_lines":14570},"pillars":{"ai_provenance":{"score":2.5,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.025,"suspected_share":0.1529,"estimated_share":0.025,"ai_artifacts":0.0,"flagged_work_units":6.0,"flagged_releases":0.0,"style_index":0.1},"summary":"Explicit AI attribution on 2% of first-party code added; an estimated 2% including velocity signals."},"quality":{"score":58.8,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":70.6,"duplication":44.8,"lint":66.7,"testing":48.4,"docs":80.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.12, no CI test run detected; 12% of function code in complex or long functions; 13% duplicated lines. Weakest area: type safety."},"security":{"score":40.1,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":56.7,"sast":78.1,"dependencies":11.6,"ci_actions":0.0,"posture":40.0,"scorecard":null},"summary":"Security posture is poor: 105 known vulnerabilities in 28 dependencies; 2 high-severity SAST findings; 66 high-severity workflow issues. Weakest area: ci actions."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":2415.0,"attributed_commits":20.0,"attributed_commit_share":0.008281573498964804,"effective_loc":203044.0,"attributed_loc":5072.0,"attributed_loc_share":0.02497980733240086,"tools_detected":3.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"OpenAI Codex: 10 attributed commits, 2,027 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"GitHub Copilot coding agent: 6 attributed commits, 2,497 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"Claude Code: 4 attributed commits, 548 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (fa54f7e3a2)","ref":"5bb1b5f442ab92cea5fc39c4b7b81c859a0f97eb","url":"https://github.com/AlistGo/alist/commit/5bb1b5f442ab92cea5fc39c4b7b81c859a0f97eb","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (fa54f7e3a2)","ref":"6ed3de481e1bb7e7005b58e51110a25ec8513afc","url":"https://github.com/AlistGo/alist/commit/6ed3de481e1bb7e7005b58e51110a25ec8513afc","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (64d7e4519d)","ref":"754338e06a828073066ed8ba11bbb4f458922541","url":"https://github.com/AlistGo/alist/commit/754338e06a828073066ed8ba11bbb4f458922541","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/fix-9646-thumbnail-cache'","ref":"1a8fccf8053234eaf4edcad420de920bac81ca11","url":"https://github.com/AlistGo/alist/commit/1a8fccf8053234eaf4edcad420de920bac81ca11","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (c0caa562d9)","ref":"656e3df5b39e98ecdc315d9411f1ae0275f5c104","url":"https://github.com/AlistGo/alist/commit/656e3df5b39e98ecdc315d9411f1ae0275f5c104","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (26a1c3816c)","ref":"c45ddbaa14dae9354fb49eb366b2dc29dbb2e9d9","url":"https://github.com/AlistGo/alist/commit/c45ddbaa14dae9354fb49eb366b2dc29dbb2e9d9","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (5543ac59f3)","ref":"9d327da25dacaead3768ca6ca8b68b30edc39d5b","url":"https://github.com/AlistGo/alist/commit/9d327da25dacaead3768ca6ca8b68b30edc39d5b","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3e49fa4630)","ref":"c5348e976fb5950219d9927e16108e42c246e709","url":"https://github.com/AlistGo/alist/commit/c5348e976fb5950219d9927e16108e42c246e709","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"69464a2825d08672f15d6570c64eb7470c03fe8a","url":"https://github.com/AlistGo/alist/commit/69464a2825d08672f15d6570c64eb7470c03fe8a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0e9f874637f419381d8315dfb629136bf68f3dc8","url":"https://github.com/AlistGo/alist/commit/0e9f874637f419381d8315dfb629136bf68f3dc8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9c8c16945cfcc68581069c575afb53be950fec6b","url":"https://github.com/AlistGo/alist/commit/9c8c16945cfcc68581069c575afb53be950fec6b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9b697e452581b4da75aca0f1385f56511d0717d8","url":"https://github.com/AlistGo/alist/commit/9b697e452581b4da75aca0f1385f56511d0717d8","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (03c08cba75)","ref":"7dc8231e177bb1e602e18de5f4d18a113c4b6f30","url":"https://github.com/AlistGo/alist/commit/7dc8231e177bb1e602e18de5f4d18a113c4b6f30","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (315b2a83e6)","ref":"cf01ff6f4e40253a5bbccb082a0f1b982c630849","url":"https://github.com/AlistGo/alist/commit/cf01ff6f4e40253a5bbccb082a0f1b982c630849","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"41bdab49aa8acca9e88862c3db55cd7a8a84ba6a","url":"https://github.com/AlistGo/alist/commit/41bdab49aa8acca9e88862c3db55cd7a8a84ba6a","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"0a9921fa7948ba51c5f1500cdf7e75bb4658afab","url":"https://github.com/AlistGo/alist/commit/0a9921fa7948ba51c5f1500cdf7e75bb4658afab","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"88abb323cb8e596e8053ce57f890dcc7286fe012","url":"https://github.com/AlistGo/alist/commit/88abb323cb8e596e8053ce57f890dcc7286fe012","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"f0b1aeaf8d846b3aee41fed29bf03ad7afa4e72f","url":"https://github.com/AlistGo/alist/commit/f0b1aeaf8d846b3aee41fed29bf03ad7afa4e72f","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"2e21df066105c078f3a7d435ab8232eae644172a","url":"https://github.com/AlistGo/alist/commit/2e21df066105c078f3a7d435ab8232eae644172a","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"af18cb138bce30fb5d927b30fa80fb13f182fea1","url":"https://github.com/AlistGo/alist/commit/af18cb138bce30fb5d927b30fa80fb13f182fea1","weight":0.9}],"data":{"attributed_loc_by_commit":{"af18cb138bce30fb5d927b30fa80fb13f182fea1":35,"2e21df066105c078f3a7d435ab8232eae644172a":762,"f0b1aeaf8d846b3aee41fed29bf03ad7afa4e72f":1396,"88abb323cb8e596e8053ce57f890dcc7286fe012":54,"0a9921fa7948ba51c5f1500cdf7e75bb4658afab":121,"41bdab49aa8acca9e88862c3db55cd7a8a84ba6a":129,"cf01ff6f4e40253a5bbccb082a0f1b982c630849":17,"7dc8231e177bb1e602e18de5f4d18a113c4b6f30":27,"9b697e452581b4da75aca0f1385f56511d0717d8":494,"9c8c16945cfcc68581069c575afb53be950fec6b":0,"0e9f874637f419381d8315dfb629136bf68f3dc8":53,"69464a2825d08672f15d6570c64eb7470c03fe8a":1,"c5348e976fb5950219d9927e16108e42c246e709":270,"9d327da25dacaead3768ca6ca8b68b30edc39d5b":209,"c45ddbaa14dae9354fb49eb366b2dc29dbb2e9d9":978,"656e3df5b39e98ecdc315d9411f1ae0275f5c104":262,"1a8fccf8053234eaf4edcad420de920bac81ca11":60,"754338e06a828073066ed8ba11bbb4f458922541":37,"6ed3de481e1bb7e7005b58e51110a25ec8513afc":161,"5bb1b5f442ab92cea5fc39c4b7b81c859a0f97eb":6},"tools":{"github-copilot":{"name":"GitHub Copilot coding agent","commits":6,"loc":2497,"first_seen":1743684119,"last_seen":1745044152},"openai-codex":{"name":"OpenAI Codex","commits":10,"loc":2027,"first_seen":1772296705,"last_seen":1791868084},"claude-code":{"name":"Claude Code","commits":4,"loc":548,"first_seen":1776020731,"last_seen":1780018645}},"monthly":{"2021-10":{"loc":2030,"attributed_loc":0},"2021-11":{"loc":12709,"attributed_loc":0},"2021-12":{"loc":6241,"attributed_loc":0},"2022-01":{"loc":4693,"attributed_loc":0},"2022-02":{"loc":3142,"attributed_loc":0},"2022-03":{"loc":3603,"attributed_loc":0},"2022-04":{"loc":4615,"attributed_loc":0},"2022-05":{"loc":361,"attributed_loc":0},"2022-06":{"loc":26282,"attributed_loc":0},"2022-07":{"loc":1666,"attributed_loc":0},"2022-08":{"loc":3817,"attributed_loc":0},"2022-09":{"loc":14140,"attributed_loc":0},"2022-10":{"loc":1551,"attributed_loc":0},"2022-11":{"loc":2584,"attributed_loc":0},"2022-12":{"loc":3939,"attributed_loc":0},"2023-01":{"loc":1768,"attributed_loc":0},"2023-02":{"loc":2444,"attributed_loc":0},"2023-03":{"loc":2788,"attributed_loc":0},"2023-04":{"loc":815,"attributed_loc":0},"2023-05":{"loc":1618,"attributed_loc":0},"2023-06":{"loc":1827,"attributed_loc":0},"2023-07":{"loc":1117,"attributed_loc":0},"2023-08":{"loc":7631,"attributed_loc":0},"2023-09":{"loc":1266,"attributed_loc":0},"2023-10":{"loc":348,"attributed_loc":0},"2023-11":{"loc":3830,"attributed_loc":0},"2023-12":{"loc":1245,"attributed_loc":0},"2024-01":{"loc":2051,"attributed_loc":0},"2024-02":{"loc":531,"attributed_loc":0},"2024-03":{"loc":1422,"attributed_loc":0},"2024-04":{"loc":573,"attributed_loc":0},"2024-05":{"loc":4276,"attributed_loc":0},"2024-06":{"loc":112,"attributed_loc":0},"2024-07":{"loc":2783,"attributed_loc":0},"2024-08":{"loc":2831,"attributed_loc":0},"2024-09":{"loc":853,"attributed_loc":0},"2024-10":{"loc":763,"attributed_loc":0},"2024-11":{"loc":945,"attributed_loc":0},"2024-12":{"loc":3351,"attributed_loc":0},"2025-01":{"loc":6790,"attributed_loc":0},"2025-02":{"loc":2156,"attributed_loc":0},"2025-03":{"loc":2942,"attributed_loc":0},"2025-04":{"loc":4947,"attributed_loc":2497},"2025-05":{"loc":1200,"attributed_loc":0},"2025-06":{"loc":120,"attributed_loc":0},"2025-07":{"loc":2139,"attributed_loc":0},"2025-08":{"loc":2441,"attributed_loc":0},"2025-09":{"loc":4334,"attributed_loc":0},"2025-10":{"loc":1901,"attributed_loc":0},"2025-11":{"loc":502,"attributed_loc":0},"2025-12":{"loc":323,"attributed_loc":0},"2026-01":{"loc":480,"attributed_loc":0},"2026-02":{"loc":2387,"attributed_loc":17},"2026-03":{"loc":10825,"attributed_loc":27},"2026-04":{"loc":3600,"attributed_loc":494},"2026-05":{"loc":1773,"attributed_loc":54},"2026-06":{"loc":1176,"attributed_loc":0},"2026-07":{"loc":1994,"attributed_loc":0},"2026-08":{"loc":5841,"attributed_loc":270},"2026-09":{"loc":4829,"attributed_loc":1509},"2026-10":{"loc":1783,"attributed_loc":204}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":1510.0,"flagged_units":6.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":203044.0,"flagged_loc":31047.0,"flagged_loc_share":0.15290774413427632,"max_loc_per_hour":6656.09638554217,"median_loc_per_hour":41.2183319100484,"pr_timed_units":595.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"15,346 lines of first-party code in ~2.3h (6,656 lines/hour, 1 commit session)","ref":"dd013ac0b21bd3f98b23a70f742f314d5eae192d","url":"https://github.com/AlistGo/alist/commit/dd013ac0b21bd3f98b23a70f742f314d5eae192d","weight":0.6},{"kind":"velocity-burst","description":"6,782 lines of first-party code in ~3.5h (1,919 lines/hour, 1 commit session)","ref":"f9945a14a84db74d6159de942a59cd2055786708","url":"https://github.com/AlistGo/alist/commit/f9945a14a84db74d6159de942a59cd2055786708","weight":0.5757849225689804},{"kind":"velocity-burst","description":"1,408 lines of first-party code in ~1.5h (932 lines/hour, 3 commit session)","ref":"2edfcaee7be9e57d10b9a8009e122586dde904be","url":"https://github.com/AlistGo/alist/commit/2edfcaee7be9e57d10b9a8009e122586dde904be","weight":0.2796322177271055},{"kind":"velocity-burst","description":"3,297 lines of first-party code in ~3.8h (868 lines/hour, 1 commit session)","ref":"513a80ccb0b8ef6fd67390f2c80e4d6de77e4b10","url":"https://github.com/AlistGo/alist/commit/513a80ccb0b8ef6fd67390f2c80e4d6de77e4b10","weight":0.2602704480666618},{"kind":"velocity-burst","description":"2,752 lines of first-party code in ~4.0h (688 lines/hour, 1 commit session)","ref":"71898a4443f8217f62d29ea0f735b84848f3cc42","url":"https://github.com/AlistGo/alist/commit/71898a4443f8217f62d29ea0f735b84848f3cc42","weight":0.20639999999999997},{"kind":"velocity-burst","description":"1,462 lines of first-party code in ~2.3h (635 lines/hour, 1 commit session)","ref":"2cddd3cf2bce49f313a9b57d0167d549bcbe5ea7","url":"https://github.com/AlistGo/alist/commit/2cddd3cf2bce49f313a9b57d0167d549bcbe5ea7","weight":0.19048859934853415}],"data":{"flagged_loc_by_commit":{"f9945a14a84db74d6159de942a59cd2055786708":6782,"2cddd3cf2bce49f313a9b57d0167d549bcbe5ea7":1462,"dd013ac0b21bd3f98b23a70f742f314d5eae192d":15346,"71898a4443f8217f62d29ea0f735b84848f3cc42":2752,"ee27244094a24b7fbff12837594ff68baeafb048":394,"51114e4943f75f0c1dbd99fc6a3758b84eb5540b":34,"2edfcaee7be9e57d10b9a8009e122586dde904be":980,"513a80ccb0b8ef6fd67390f2c80e4d6de77e4b10":3297},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"releases":99.0,"flagged_releases":0.0,"max_loc_per_day":971.4},"findings":[],"evidence":[],"data":{"releases":[{"from":"v2.6.1","to":"v3.0.0-beta.0","loc":41605,"days":95.02,"loc_per_day":437.9,"flagged":false},{"from":"v3.0.0-beta.0","to":"v3.0.0-beta.1","loc":158,"days":0.99,"loc_per_day":159.0,"flagged":false},{"from":"v3.0.0-beta.1","to":"v3.0.0-beta.2","loc":1093,"days":1.13,"loc_per_day":971.4,"flagged":false},{"from":"v3.0.0-beta.2","to":"v3.0.0-rc.0","loc":1218,"days":3.97,"loc_per_day":306.8,"flagged":false},{"from":"v3.0.0-rc.0","to":"v3.0.0-rc.1","loc":184,"days":3.06,"loc_per_day":60.2,"flagged":false},{"from":"v3.0.0-rc.1","to":"v3.0.1","loc":1471,"days":3.87,"loc_per_day":380.0,"flagged":false},{"from":"v3.0.1","to":"v3.0.2","loc":120,"days":3.17,"loc_per_day":37.8,"flagged":false},{"from":"v3.0.2","to":"v3.0.3","loc":42,"days":1.71,"loc_per_day":24.6,"flagged":false},{"from":"v3.0.3","to":"v3.1.0","loc":387,"days":10.26,"loc_per_day":37.7,"flagged":false},{"from":"v3.1.0","to":"v3.2.0","loc":359,"days":4.87,"loc_per_day":73.7,"flagged":false},{"from":"v3.2.0","to":"v3.2.1","loc":210,"days":5.91,"loc_per_day":35.5,"flagged":false},{"from":"v3.2.1","to":"v3.3.0","loc":811,"days":14.17,"loc_per_day":57.2,"flagged":false},{"from":"v3.3.0","to":"v3.4.0","loc":597,"days":9.96,"loc_per_day":59.9,"flagged":false},{"from":"v3.4.0","to":"v3.5.1","loc":252,"days":11.1,"loc_per_day":22.7,"flagged":false},{"from":"v3.5.1","to":"v3.6.0","loc":2161,"days":12.97,"loc_per_day":166.6,"flagged":false},{"from":"v3.6.0","to":"v3.7.1","loc":2771,"days":24.21,"loc_per_day":114.5,"flagged":false},{"from":"v3.7.1","to":"v3.7.2","loc":9,"days":0.56,"loc_per_day":16.0,"flagged":false},{"from":"v3.7.2","to":"v3.8.0","loc":540,"days":6.2,"loc_per_day":87.2,"flagged":false},{"from":"v3.8.0","to":"v3.9.0","loc":1715,"days":12.64,"loc_per_day":135.7,"flagged":false},{"from":"v3.9.0","to":"v3.9.1","loc":16,"days":1.26,"loc_per_day":12.7,"flagged":false},{"from":"v3.9.1","to":"v3.9.2","loc":18,"days":7.93,"loc_per_day":2.3,"flagged":false},{"from":"v3.9.2","to":"v3.10.1","loc":63,"days":8.75,"loc_per_day":7.2,"flagged":false},{"from":"v3.10.1","to":"v3.11.0","loc":1335,"days":9.42,"loc_per_day":141.7,"flagged":false},{"from":"v3.11.0","to":"v3.12.0","loc":999,"days":9.13,"loc_per_day":109.4,"flagged":false},{"from":"v3.12.0","to":"v3.12.1","loc":26,"days":1.66,"loc_per_day":15.6,"flagged":false},{"from":"v3.12.1","to":"v3.12.2","loc":3,"days":0.15,"loc_per_day":19.8,"flagged":false},{"from":"v3.12.2","to":"v3.13.1","loc":319,"days":9.12,"loc_per_day":35.0,"flagged":false},{"from":"v3.13.1","to":"v3.13.2","loc":74,"days":1.93,"loc_per_day":38.3,"flagged":false},{"from":"v3.13.2","to":"v3.14.0","loc":1222,"days":7.97,"loc_per_day":153.4,"flagged":false},{"from":"v3.14.0","to":"v3.15.0","loc":1183,"days":9.01,"loc_per_day":131.4,"flagged":false},{"from":"v3.15.0","to":"v3.15.1","loc":231,"days":12.23,"loc_per_day":18.9,"flagged":false},{"from":"v3.15.1","to":"v3.16.0","loc":309,"days":7.66,"loc_per_day":40.4,"flagged":false},{"from":"v3.16.0","to":"v3.16.1","loc":244,"days":12.01,"loc_per_day":20.3,"flagged":false},{"from":"v3.16.1","to":"v3.16.2","loc":35,"days":1.03,"loc_per_day":34.1,"flagged":false},{"from":"v3.16.2","to":"v3.16.3","loc":12,"days":0.32,"loc_per_day":37.7,"flagged":false},{"from":"v3.16.3","to":"v3.17.0","loc":983,"days":16.7,"loc_per_day":58.9,"flagged":false},{"from":"v3.17.0","to":"v3.18.0","loc":635,"days":14.1,"loc_per_day":45.0,"flagged":false},{"from":"v3.18.0","to":"v3.19.0","loc":562,"days":20.03,"loc_per_day":28.1,"flagged":false},{"from":"v3.19.0","to":"v3.20.0","loc":1402,"days":16.93,"loc_per_day":82.8,"flagged":false},{"from":"v3.20.0","to":"v3.20.1","loc":35,"days":0.8,"loc_per_day":43.6,"flagged":false},{"from":"v3.20.1","to":"v3.21.0","loc":157,"days":6.35,"loc_per_day":24.7,"flagged":false},{"from":"v3.21.0","to":"v3.22.0","loc":364,"days":3.89,"loc_per_day":93.7,"flagged":false},{"from":"v3.22.0","to":"v3.22.1","loc":2,"days":0.82,"loc_per_day":2.4,"flagged":false},{"from":"v3.22.1","to":"v3.23.0","loc":248,"days":4.97,"loc_per_day":49.9,"flagged":false},{"from":"v3.23.0","to":"v3.24.0","loc":99,"days":9.16,"loc_per_day":10.8,"flagged":false},{"from":"v3.24.0","to":"v3.25.1","loc":4140,"days":8.02,"loc_per_day":516.3,"flagged":false},{"from":"v3.25.1","to":"v3.26.0","loc":1692,"days":13.84,"loc_per_day":122.3,"flagged":false},{"from":"v3.26.0","to":"v3.27.0","loc":1978,"days":13.33,"loc_per_day":148.4,"flagged":false},{"from":"v3.27.0","to":"v3.28.0","loc":1100,"days":18.75,"loc_per_day":58.7,"flagged":false},{"from":"v3.28.0","to":"v3.29.0","loc":4178,"days":63.1,"loc_per_day":66.2,"flagged":false},{"from":"v3.29.0","to":"v3.29.1","loc":2,"days":0.87,"loc_per_day":2.3,"flagged":false},{"from":"v3.29.1","to":"v3.30.0","loc":2031,"days":40.99,"loc_per_day":49.6,"flagged":false},{"from":"v3.30.0","to":"v3.31.0","loc":1824,"days":49.21,"loc_per_day":37.1,"flagged":false},{"from":"v3.31.0","to":"v3.32.0","loc":901,"days":7.78,"loc_per_day":115.8,"flagged":false},{"from":"v3.32.0","to":"v3.33.0","loc":503,"days":23.3,"loc_per_day":21.6,"flagged":false},{"from":"v3.33.0","to":"v3.34.0","loc":725,"days":37.98,"loc_per_day":19.1,"flagged":false},{"from":"v3.34.0","to":"v3.35.0","loc":2749,"days":20.9,"loc_per_day":131.5,"flagged":false},{"from":"v3.35.0","to":"v3.36.0","loc":4274,"days":59.03,"loc_per_day":72.4,"flagged":false},{"from":"v3.36.0","to":"v3.37.1","loc":3378,"days":48.6,"loc_per_day":69.5,"flagged":false},{"from":"v3.37.1","to":"v3.37.2","loc":91,"days":5.57,"loc_per_day":16.3,"flagged":false},{"from":"v3.37.2","to":"v3.37.3","loc":2,"days":3.03,"loc_per_day":0.7,"flagged":false},{"from":"v3.37.3","to":"v3.37.4","loc":20,"days":1.91,"loc_per_day":10.5,"flagged":false},{"from":"v3.37.4","to":"v3.38.0","loc":389,"days":23.05,"loc_per_day":16.9,"flagged":false},{"from":"v3.38.0","to":"v3.39.1","loc":968,"days":21.66,"loc_per_day":44.7,"flagged":false},{"from":"v3.39.1","to":"v3.39.2","loc":444,"days":15.14,"loc_per_day":29.3,"flagged":false},{"from":"v3.39.2","to":"v3.39.3","loc":0,"days":0.1,"loc_per_day":0.0,"flagged":false},{"from":"v3.39.3","to":"v3.39.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v3.39.4","to":"v3.40.0","loc":146,"days":3.98,"loc_per_day":36.7,"flagged":false},{"from":"v3.40.0","to":"v3.41.0","loc":2049,"days":20.93,"loc_per_day":97.9,"flagged":false},{"from":"v3.41.0","to":"v3.42.0","loc":8064,"days":46.02,"loc_per_day":175.2,"flagged":false},{"from":"v3.42.0","to":"v3.43.0","loc":2926,"days":48.14,"loc_per_day":60.8,"flagged":false},{"from":"v3.43.0","to":"v3.44.0","loc":2200,"days":10.94,"loc_per_day":201.1,"flagged":false},{"from":"v3.44.0","to":"v3.45.0","loc":6147,"days":57.59,"loc_per_day":106.7,"flagged":false},{"from":"v3.45.0","to":"v3.45.1","loc":7,"days":34.45,"loc_per_day":0.2,"flagged":false},{"from":"v3.45.1","to":"v3.46.0","loc":1895,"days":28.4,"loc_per_day":66.7,"flagged":false},{"from":"v3.46.0","to":"v3.46.1","loc":89,"days":0.23,"loc_per_day":390.6,"flagged":false},{"from":"v3.46.1","to":"v3.46.2","loc":66,"days":1.3,"loc_per_day":50.9,"flagged":false},{"from":"v3.46.2","to":"v3.47.0","loc":39,"days":1.89,"loc_per_day":20.6,"flagged":false},{"from":"v3.47.0","to":"v3.47.1","loc":48,"days":0.73,"loc_per_day":65.8,"flagged":false},{"from":"v3.47.1","to":"v3.48.0","loc":1009,"days":4.95,"loc_per_day":203.9,"flagged":false},{"from":"v3.48.0","to":"v3.49.0","loc":89,"days":2.19,"loc_per_day":40.7,"flagged":false},{"from":"v3.49.0","to":"v3.50.0","loc":555,"days":9.28,"loc_per_day":59.8,"flagged":false},{"from":"v3.50.0","to":"v3.51.0","loc":237,"days":3.66,"loc_per_day":64.8,"flagged":false},{"from":"v3.51.0","to":"v3.52.0","loc":553,"days":10.26,"loc_per_day":53.9,"flagged":false},{"from":"v3.52.0","to":"v3.53.0","loc":2145,"days":13.86,"loc_per_day":154.8,"flagged":false},{"from":"v3.53.0","to":"v3.54.0","loc":3079,"days":33.98,"loc_per_day":90.6,"flagged":false},{"from":"v3.54.0","to":"v3.55.0","loc":1478,"days":26.13,"loc_per_day":56.6,"flagged":false},{"from":"v3.55.0","to":"v3.56.0","loc":323,"days":40.63,"loc_per_day":8.0,"flagged":false},{"from":"v3.56.0","to":"v3.57.0","loc":2251,"days":44.23,"loc_per_day":50.9,"flagged":false},{"from":"v3.57.0","to":"v3.58.0","loc":3571,"days":40.09,"loc_per_day":89.1,"flagged":false},{"from":"v3.58.0","to":"v3.59.0","loc":8515,"days":29.01,"loc_per_day":293.5,"flagged":false},{"from":"v3.59.0","to":"v3.60.0","loc":2542,"days":5.58,"loc_per_day":455.9,"flagged":false},{"from":"v3.60.0","to":"v3.61.0","loc":2401,"days":42.47,"loc_per_day":56.5,"flagged":false},{"from":"v3.61.0","to":"v3.62.0","loc":2831,"days":38.63,"loc_per_day":73.3,"flagged":false},{"from":"v3.62.0","to":"v3.63.0","loc":5529,"days":26.17,"loc_per_day":211.3,"flagged":false},{"from":"v3.63.0","to":"v3.64.0","loc":584,"days":27.86,"loc_per_day":21.0,"flagged":false},{"from":"v3.64.0","to":"v3.65.0","loc":6249,"days":40.92,"loc_per_day":152.7,"flagged":false},{"from":"v3.65.0","to":"beta","loc":363,"days":8.31,"loc_per_day":43.7,"flagged":false},{"from":"beta","to":"v3.66.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":120066.0,"index":0.1,"count:narrated_steps":11.0,"per_kloc:narrated_steps":0.092,"files:narrated_steps":8.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":2.0,"per_kloc:emoji_in_code":0.017,"files:emoji_in_code":2.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: // Step 1: Get the upload server URL","ref":"drivers/darkibox/driver.go:234","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/darkibox/driver.go#L234","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Upload the file to the upload server","ref":"drivers/darkibox/driver.go:243","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/darkibox/driver.go#L243","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Now let's unmarshal the data into `payload`","ref":"drivers/google_drive/util.go:83","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/google_drive/util.go#L83","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // step 1: apply for confirm key","ref":"drivers/sjtu_netdisk/driver.go:637","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/sjtu_netdisk/driver.go#L637","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // step 2: upload file","ref":"drivers/sjtu_netdisk/driver.go:663","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/sjtu_netdisk/driver.go#L663","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // step 3: confirm the upload","ref":"drivers/sjtu_netdisk/driver.go:679","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/sjtu_netdisk/driver.go#L679","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // step 1.","ref":"drivers/weiyun/driver.go:325","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/weiyun/driver.go#L325","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // first, so copying into a not-yet-created nested path failed on","ref":"internal/op/fs.go:533","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/internal/op/fs.go#L533","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":1.0,"secrets_low_confidence":16.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/123_share/types.go","line":72,"fingerprint":"drivers/123_share/types.go:generic-api-key:72"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/123/types.go","line":74,"fingerprint":"drivers/123/types.go:generic-api-key:74"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/139/util.go","line":40,"fingerprint":"drivers/139/util.go:generic-api-key:40"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/pikpak_share/util.go","line":63,"fingerprint":"drivers/pikpak_share/util.go:generic-api-key:63"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/quark_uc_tv/meta.go","line":41,"fingerprint":"drivers/quark_uc_tv/meta.go:generic-api-key:41"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/pikpak/util.go","line":81,"fingerprint":"drivers/pikpak/util.go:generic-api-key:81"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/thunderx/util.go","line":45,"fingerprint":"drivers/thunderx/util.go:generic-api-key:45"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/yunpan360/types.go","line":17,"fingerprint":"drivers/yunpan360/types.go:generic-api-key:17"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/pcloud/util.go","line":18,"fingerprint":"drivers/pcloud/util.go:generic-api-key:18"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"drivers/wopan/driver_test.go","line":22,"fingerprint":"drivers/wopan/driver_test.go:generic-api-key:22"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/halalcloud/util.go","line":34,"fingerprint":"drivers/halalcloud/util.go:generic-api-key:34"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"drivers/thunder_browser/util.go","line":39,"fingerprint":"drivers/thunder_browser/util.go:generic-api-key:39"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 7013d1b7b8); removed from the current tree but still retrievable","path":"drivers/pikpak/driver.go","line":41,"fingerprint":"7013d1b7b86705488e714e8a8dcbf3729938e01e:drivers/pikpak/driver.go:generic-api-key:41"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 7013d1b7b8); removed from the current tree but still retrievable","path":"drivers/pikpak_share/driver.go","line":33,"fingerprint":"7013d1b7b86705488e714e8a8dcbf3729938e01e:drivers/pikpak_share/driver.go:generic-api-key:33"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 35d177b67b); removed from the current tree but still retrievable","path":"drivers/xunlei/driver.go","line":67,"fingerprint":"35d177b67b4a7766f058241a58a73a9bac6648b8:drivers/xunlei/driver.go:generic-api-key:67"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 2964d5a6db); removed from the current tree but still retrievable","path":"drivers/xunlei/util.go","line":16,"fingerprint":"2964d5a6db3938464e565207df4673e1226918d8:drivers/xunlei/util.go:generic-api-key:16"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit c64c003257); removed from the current tree but still retrievable","path":"drivers/pikpak/pikpak.go","line":27,"fingerprint":"c64c003257c267edd0f314c1d8efbfac870e96d5:drivers/pikpak/pikpak.go:generic-api-key:27"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":138.0,"findings_high":2.0,"findings_medium":136.0,"findings_low":0.0,"weighted_findings":84.95,"scanned_lines":120066.0,"parse_errors":3.0},"findings":[{"rule_id":"opengrep/dockerfile.security.missing-user","severity":"high","message":"By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium]","path":"Dockerfile","line":42,"fingerprint":"dockerfile.security.missing-user:Dockerfile:42"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-cmd","severity":"high","message":"Detected non-static command inside exec.Cmd. Audit the input to 'exec.Cmd'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence medium]","path":"cmd/start.go","line":37,"fingerprint":"go.lang.security.audit.dangerous-exec-cmd:cmd/start.go:37"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"cmd/user.go","line":25,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:cmd/user.go:25"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/115/util.go","line":55,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/115/util.go:55"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/115/util.go","line":196,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/115/util.go:196"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/115/util.go","line":197,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/115/util.go:197"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/123/util.go","line":9,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/123/util.go:9"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/123_link/util.go","line":6,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/123_link/util.go:6"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/123_link/util.go","line":24,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/123_link/util.go:24"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/123_open/sign.go","line":6,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/123_open/sign.go:6"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/123_open/sign.go","line":23,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/123_open/sign.go:23"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/123_share/util.go","line":9,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/123_share/util.go:9"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/139/util.go","line":999,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/139/util.go:999"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/189/help.go","line":162,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/189/help.go:162"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/189/util.go","line":361,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/189/util.go:361"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/aliyundrive/driver.go","line":231,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/aliyundrive/driver.go:231"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_netdisk/driver.go","line":240,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_netdisk/driver.go:240"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_netdisk/driver.go","line":241,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_netdisk/driver.go:241"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_netdisk/driver.go","line":242,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_netdisk/driver.go:242"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_photo/driver.go","line":278,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_photo/driver.go:278"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_photo/driver.go","line":279,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_photo/driver.go:279"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_photo/driver.go","line":280,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_photo/driver.go:280"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/baidu_photo/help.go","line":6,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/baidu_photo/help.go:6"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/baidu_share/driver.go","line":45,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/baidu_share/driver.go:45"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/baidu_share/driver.go","line":45,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/baidu_share/driver.go:45"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/baidu_share/driver.go","line":46,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/baidu_share/driver.go:46"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/baidu_share/driver.go","line":46,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/baidu_share/driver.go:46"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/driver.go","line":259,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_youth/driver.go:259"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/driver.go","line":260,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_youth/driver.go:260"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/driver.go","line":261,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_youth/driver.go:261"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/util.go","line":330,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/baidu_youth/util.go:330"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/util.go","line":335,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_youth/util.go:335"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/baidu_youth/util.go","line":581,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/baidu_youth/util.go:581"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/base/client.go","line":26,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/base/client.go:26"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/base/client.go","line":39,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/base/client.go:39"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/chunker/driver.go","line":348,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/chunker/driver.go:348"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/chunker/driver.go","line":351,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/chunker/driver.go:351"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/cstcloud_capsule/driver.go","line":41,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/cstcloud_capsule/driver.go:41"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/doubao/util.go","line":23,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/doubao/util.go:23"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"drivers/doubao_new/driver.go","line":161,"fingerprint":"go.lang.security.shared-url-struct-mutation:drivers/doubao_new/driver.go:161"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/ftps/util.go","line":28,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/ftps/util.go:28"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"drivers/gitee/driver.go","line":176,"fingerprint":"go.lang.security.shared-url-struct-mutation:drivers/gitee/driver.go:176"},{"rule_id":"opengrep/go.lang.security.audit.xss.import-text-template","severity":"medium","message":"When working with web applications that involve rendering user-generated  content, it's important to properly escape any HTML content to prevent  Cross-Site Scripting (XSS) attacks. In Go, the `text/template` package does  not automatically escape HTML content, which can leave your application  vuln [confidence low]","path":"drivers/github/driver.go","line":12,"fingerprint":"go.lang.security.audit.xss.import-text-template:drivers/github/driver.go:12"},{"rule_id":"opengrep/go.lang.security.audit.xss.import-text-template","severity":"medium","message":"When working with web applications that involve rendering user-generated  content, it's important to properly escape any HTML content to prevent  Cross-Site Scripting (XSS) attacks. In Go, the `text/template` package does  not automatically escape HTML content, which can leave your application  vuln [confidence low]","path":"drivers/github/util.go","line":9,"fingerprint":"go.lang.security.audit.xss.import-text-template:drivers/github/util.go:9"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/halalcloud/driver.go","line":269,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/halalcloud/driver.go:269"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/halalcloud/util.go","line":53,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/halalcloud/util.go:53"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/halalcloud/util.go","line":115,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/halalcloud/util.go:115"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/halalcloud/util.go","line":355,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/halalcloud/util.go:355"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"drivers/ipfs_api/driver.go","line":82,"fingerprint":"go.lang.security.shared-url-struct-mutation:drivers/ipfs_api/driver.go:82"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"drivers/ipfs_api/driver.go","line":180,"fingerprint":"go.lang.security.shared-url-struct-mutation:drivers/ipfs_api/driver.go:180"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/lanzou/util.go","line":127,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/lanzou/util.go:127"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/lanzou/util.go","line":127,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/lanzou/util.go:127"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/lanzou/util.go","line":184,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/lanzou/util.go:184"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/lanzou/util.go","line":184,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/lanzou/util.go:184"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/lanzou/util.go","line":512,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/lanzou/util.go:512"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/lanzou/util.go","line":512,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/lanzou/util.go:512"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/mediafire/driver.go","line":14,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/mediafire/driver.go:14"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/mediatrack/driver.go","line":214,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/mediatrack/driver.go:214"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/netease_music/crypto.go","line":121,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/netease_music/crypto.go:121"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/netease_music/types.go","line":105,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/netease_music/types.go:105"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/netease_music/types.go","line":105,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/netease_music/types.go:105"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/netease_music/upload.go","line":51,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/netease_music/upload.go:51"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/onedrive_sharelink/util.go","line":26,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/onedrive_sharelink/util.go:26"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/pikpak/util.go","line":358,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/pikpak/util.go:358"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/pikpak/util.go","line":364,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/pikpak/util.go:364"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/pikpak_share/util.go","line":225,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/pikpak_share/util.go:225"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/pikpak_share/util.go","line":231,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/pikpak_share/util.go:231"},{"rule_id":"opengrep/go.lang.security.audit.net.avoid-bind-to-all-interfaces","severity":"medium","message":"Detected a network listener listening on 0.0.0.0 or an empty string. This could unexpectedly expose the server publicly as it binds to all available interfaces. Instead, specify another IP address that is not 0.0.0.0 nor the empty string. [confidence high]","path":"drivers/proton_drive/util.go","line":153,"fingerprint":"go.lang.security.audit.net.avoid-bind-to-all-interfaces:drivers/proton_drive/util.go:153"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"drivers/quark_uc/util.go","line":11,"fingerprint":"go.lang.security.audit.crypto.math-random-used:drivers/quark_uc/util.go:11"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/quark_uc/util.go","line":460,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/quark_uc/util.go:460"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/quark_uc_tv/util.go","line":202,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/quark_uc_tv/util.go:202"},{"rule_id":"opengrep/go.lang.security.audit.crypto.avoid-ssh-insecure-ignore-host-key","severity":"medium","message":"Disabled host key verification detected. This allows man-in-the-middle attacks. Use the 'golang.org/x/crypto/ssh/knownhosts' package to do host key verification. See https://skarlso.github.io/2019/02/17/go-ssh-with-host-key-verification/ to learn more about the problem and how to fix it. [confidence medium]","path":"drivers/sftp/util.go","line":33,"fingerprint":"go.lang.security.audit.crypto.avoid-ssh-insecure-ignore-host-key:drivers/sftp/util.go:33"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/sjtu_netdisk/util.go","line":57,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/sjtu_netdisk/util.go:57"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/sjtu_netdisk/util.go","line":57,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/sjtu_netdisk/util.go:57"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/sjtu_netdisk/util.go","line":59,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/sjtu_netdisk/util.go:59"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/sjtu_netdisk/util.go","line":59,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/sjtu_netdisk/util.go:59"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/terabox/driver.go","line":202,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/terabox/driver.go:202"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder/meta.go","line":53,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunder/meta.go:53"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder/util.go","line":252,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder/util.go:252"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder/util.go","line":253,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder/util.go:253"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder/util.go","line":272,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder/util.go:272"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder/util.go","line":278,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunder/util.go:278"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/meta.go","line":55,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunder_browser/meta.go:55"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/util.go","line":225,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder_browser/util.go:225"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/util.go","line":226,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder_browser/util.go:226"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/util.go","line":270,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunder_browser/util.go:270"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/util.go","line":279,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunder_browser/util.go:279"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunder_browser/util.go","line":285,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunder_browser/util.go:285"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunderx/meta.go","line":51,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunderx/meta.go:51"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunderx/util.go","line":229,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunderx/util.go:229"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunderx/util.go","line":230,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunderx/util.go:230"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunderx/util.go","line":249,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/thunderx/util.go:249"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/thunderx/util.go","line":255,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/thunderx/util.go:255"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/trainbit/util.go","line":21,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/trainbit/util.go:21"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/trainbit/util.go","line":21,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/trainbit/util.go:21"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/trainbit/util.go","line":26,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/trainbit/util.go:26"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/trainbit/util.go","line":26,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/trainbit/util.go:26"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/trainbit/util.go","line":48,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/trainbit/util.go:48"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/trainbit/util.go","line":48,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/trainbit/util.go:48"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"drivers/trainbit/util.go","line":53,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:drivers/trainbit/util.go:53"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"drivers/trainbit/util.go","line":53,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:drivers/trainbit/util.go:53"},{"rule_id":"opengrep/go.lang.security.audit.xss.import-text-template","severity":"medium","message":"When working with web applications that involve rendering user-generated  content, it's important to properly escape any HTML content to prevent  Cross-Site Scripting (XSS) attacks. In Go, the `text/template` package does  not automatically escape HTML content, which can leave your application  vuln [confidence low]","path":"drivers/url_tree/driver.go","line":11,"fingerprint":"go.lang.security.audit.xss.import-text-template:drivers/url_tree/driver.go:11"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/vtencent/signature.go","line":14,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/vtencent/signature.go:14"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/vtencent/util.go","line":254,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/vtencent/util.go:254"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"drivers/webdav/util.go","line":24,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:drivers/webdav/util.go:24"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/wukong/driver.go","line":872,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/wukong/driver.go:872"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/yunpan360/upload.go","line":265,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/yunpan360/upload.go:265"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/yunpan360/upload.go","line":266,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/yunpan360/upload.go:266"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/yunpan360/upload.go","line":773,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/yunpan360/upload.go:773"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/yunpan360/upload.go","line":781,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:drivers/yunpan360/upload.go:781"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"drivers/yunpan360/util.go","line":156,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:drivers/yunpan360/util.go:156"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"internal/fs/archive.go","line":8,"fingerprint":"go.lang.security.audit.crypto.math-random-used:internal/fs/archive.go:8"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"internal/net/serve.go","line":286,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:internal/net/serve.go:286"},{"rule_id":"opengrep/go.lang.security.audit.database.string-formatted-query","severity":"medium","message":"String-formatted SQL query detected. This could lead to SQL injection if the string is not sanitized properly. Audit this call to ensure the SQL is not manipulable by external data. [confidence low]","path":"internal/search/db/init.go","line":25,"fingerprint":"go.lang.security.audit.database.string-formatted-query:internal/search/db/init.go:25"},{"rule_id":"opengrep/go.lang.security.audit.database.string-formatted-query","severity":"medium","message":"String-formatted SQL query detected. This could lead to SQL injection if the string is not sanitized properly. Audit this call to ensure the SQL is not manipulable by external data. [confidence low]","path":"internal/search/db/init.go","line":34,"fingerprint":"go.lang.security.audit.database.string-formatted-query:internal/search/db/init.go:34"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"pkg/aria2/rpc/call.go","line":63,"fingerprint":"go.lang.security.shared-url-struct-mutation:pkg/aria2/rpc/call.go:63"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-httponly","severity":"medium","message":"A session cookie was detected without setting the 'HttpOnly' flag. The 'HttpOnly' flag for cookies instructs the browser to forbid client-side scripts from reading the cookie which mitigates XSS attacks. Set the 'HttpOnly' flag by setting 'HttpOnly' to 'true' in the Cookie. [confidence medium]","path":"pkg/cookie/cookie.go","line":33,"fingerprint":"go.lang.security.audit.net.cookie-missing-httponly:pkg/cookie/cookie.go:33"},{"rule_id":"opengrep/go.lang.security.audit.net.cookie-missing-secure","severity":"medium","message":"A session cookie was detected without setting the 'Secure' flag. The 'secure' flag for cookies prevents the client from transmitting the cookie over insecure channels such as HTTP. Set the 'Secure' flag by setting 'Secure' to 'true' in the Options struct. [confidence medium]","path":"pkg/cookie/cookie.go","line":33,"fingerprint":"go.lang.security.audit.net.cookie-missing-secure:pkg/cookie/cookie.go:33"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"pkg/generic_sync/map.go","line":71,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:pkg/generic_sync/map.go:71"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"pkg/generic_sync/map.go","line":97,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:pkg/generic_sync/map.go:97"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"pkg/generic_sync/map.go","line":181,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:pkg/generic_sync/map.go:181"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"pkg/generic_sync/map.go","line":199,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:pkg/generic_sync/map.go:199"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"pkg/generic_sync/map.go","line":259,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:pkg/generic_sync/map.go:259"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"pkg/gowebdav/digestAuth.go","line":84,"fingerprint":"go.lang.security.audit.crypto.use-of-md5:pkg/gowebdav/digestAuth.go:84"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"pkg/qbittorrent/client.go","line":100,"fingerprint":"go.lang.security.shared-url-struct-mutation:pkg/qbittorrent/client.go:100"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"pkg/qbittorrent/client.go","line":149,"fingerprint":"go.lang.security.shared-url-struct-mutation:pkg/qbittorrent/client.go:149"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"pkg/utils/hash/gcid.go","line":37,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:pkg/utils/hash/gcid.go:37"},{"rule_id":"opengrep/go.lang.security.audit.crypto.use-of-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"pkg/utils/hash/gcid.go","line":38,"fingerprint":"go.lang.security.audit.crypto.use-of-sha1:pkg/utils/hash/gcid.go:38"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"pkg/utils/random/random.go","line":6,"fingerprint":"go.lang.security.audit.crypto.math-random-used:pkg/utils/random/random.go:6"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"server/ftp.go","line":16,"fingerprint":"go.lang.security.audit.crypto.math-random-used:server/ftp.go:16"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"server/ftp.go","line":288,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:server/ftp.go:288"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"server/handles/ldap_login.go","line":168,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:server/handles/ldap_login.go:168"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"server/s3/server.go","line":7,"fingerprint":"go.lang.security.audit.crypto.math-random-used:server/s3/server.go:7"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-direct-write-to-responsewriter","severity":"medium","message":"Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'. [confidence low]","path":"server/webdav/buffered_response_writer.go","line":39,"fingerprint":"go.lang.security.audit.xss.no-direct-write-to-responsewriter:server/webdav/buffered_response_writer.go:39"},{"rule_id":"opengrep/go.lang.security.audit.net.use-tls","severity":"medium","message":"Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium]","path":"server/webdav/litmus_test_server.go","line":94,"fingerprint":"go.lang.security.audit.net.use-tls:server/webdav/litmus_test_server.go:94"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-direct-write-to-responsewriter","severity":"medium","message":"Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'. [confidence low]","path":"server/webdav/webdav.go","line":91,"fingerprint":"go.lang.security.audit.xss.no-direct-write-to-responsewriter:server/webdav/webdav.go:91"},{"rule_id":"opengrep/go.lang.security.injection.open-redirect","severity":"medium","message":"An HTTP redirect was found to be crafted from user-input `r`. This can lead to open redirect vulnerabilities, potentially allowing attackers to redirect users to malicious web sites. It is recommend where possible to not allow user-input to craft the redirect URL. When user-input is necessary to cra [confidence high]","path":"server/webdav/webdav.go","line":257,"fingerprint":"go.lang.security.injection.open-redirect:server/webdav/webdav.go:257"},{"rule_id":"opengrep/go.lang.security.injection.open-redirect","severity":"medium","message":"An HTTP redirect was found to be crafted from user-input `r`. This can lead to open redirect vulnerabilities, potentially allowing attackers to redirect users to malicious web sites. It is recommend where possible to not allow user-input to craft the redirect URL. When user-input is necessary to cra [confidence high]","path":"server/webdav/webdav.go","line":263,"fingerprint":"go.lang.security.injection.open-redirect:server/webdav/webdav.go:263"}],"evidence":[],"data":{"rulesets":["go","bash","python","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":28.0,"vulnerabilities":105.0,"vulns_critical":11.0,"vulns_high":14.0,"vulns_medium":33.0,"vulns_low":7.0,"vulns_unknown":40.0,"penalty":129.0},"findings":[{"rule_id":"osv/GHSA-25qr-6mpr-f7qx","severity":"critical","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-4964, GHSA-25qr-6mpr-f7qx","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-25qr-6mpr-f7qx"},{"rule_id":"osv/GHSA-jfwf-28xr-xw6q","severity":"critical","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-5466, GHSA-jfwf-28xr-xw6q","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-jfwf-28xr-xw6q"},{"rule_id":"osv/GHSA-qw24-gh76-8rvv","severity":"critical","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-5596, GHSA-qw24-gh76-8rvv","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-qw24-gh76-8rvv"},{"rule_id":"osv/GHSA-xwwr-4h3p-r22c","severity":"critical","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6462, GHSA-xwwr-4h3p-r22c","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-xwwr-4h3p-r22c"},{"rule_id":"osv/GHSA-jppx-rxg9-jmrx","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5005, GHSA-jppx-rxg9-jmrx","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-jppx-rxg9-jmrx"},{"rule_id":"osv/GHSA-f5wc-c3c7-36mc","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5006, GHSA-f5wc-c3c7-36mc","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-f5wc-c3c7-36mc"},{"rule_id":"osv/GHSA-vgwf-h737-ff37","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5017, GHSA-vgwf-h737-ff37","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-vgwf-h737-ff37"},{"rule_id":"osv/GHSA-89gr-r52h-f8rx","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5019, GHSA-89gr-r52h-f8rx","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-89gr-r52h-f8rx"},{"rule_id":"osv/GHSA-rm3j-f69w-wqmq","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5020, GHSA-rm3j-f69w-wqmq","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-rm3j-f69w-wqmq"},{"rule_id":"osv/GHSA-5cgq-3rg8-m6cv","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5021, GHSA-5cgq-3rg8-m6cv","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-5cgq-3rg8-m6cv"},{"rule_id":"osv/GHSA-x527-x647-q7gg","severity":"critical","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5023, GHSA-x527-x647-q7gg","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-x527-x647-q7gg"},{"rule_id":"osv/GHSA-26gq-p25f-99cp","severity":"high","message":"github.com/fatedier/frp@0.68.0 (Go) is affected by GO-2026-6103, GHSA-26gq-p25f-99cp","path":"go.mod","line":null,"fingerprint":"github.com/fatedier/frp@0.68.0 (Go):GHSA-26gq-p25f-99cp"},{"rule_id":"osv/GHSA-mgcc-cww5-fp2q","severity":"high","message":"github.com/go-jose/go-jose/v4@4.1.4 (Go) is affected by GHSA-mgcc-cww5-fp2q","path":"go.mod","line":null,"fingerprint":"github.com/go-jose/go-jose/v4@4.1.4 (Go):GHSA-mgcc-cww5-fp2q"},{"rule_id":"osv/GHSA-259r-337f-4rfw","severity":"high","message":"github.com/klauspost/compress@1.17.11 (Go) is affected by GO-2026-5841, GHSA-259r-337f-4rfw","path":"go.mod","line":null,"fingerprint":"github.com/klauspost/compress@1.17.11 (Go):GHSA-259r-337f-4rfw"},{"rule_id":"osv/GHSA-2m8m-jhrm-w6j2","severity":"high","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6182, GHSA-2m8m-jhrm-w6j2","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-2m8m-jhrm-w6j2"},{"rule_id":"osv/GHSA-45pq-889g-fcgh","severity":"high","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6184, GHSA-45pq-889g-fcgh","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-45pq-889g-fcgh"},{"rule_id":"osv/GHSA-cf44-9pgv-m4xc","severity":"high","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6191, GHSA-cf44-9pgv-m4xc","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-cf44-9pgv-m4xc"},{"rule_id":"osv/GHSA-fqj9-69pf-6pjg","severity":"high","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6195, GHSA-fqj9-69pf-6pjg","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-fqj9-69pf-6pjg"},{"rule_id":"osv/GHSA-c476-6w5q-jw77","severity":"high","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6458, GHSA-c476-6w5q-jw77","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-c476-6w5q-jw77"},{"rule_id":"osv/GHSA-q4h4-gmj2-qvw2","severity":"high","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5013, GHSA-q4h4-gmj2-qvw2","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-q4h4-gmj2-qvw2"},{"rule_id":"osv/GHSA-w879-237q-wc7r","severity":"high","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5018, GHSA-w879-237q-wc7r","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-w879-237q-wc7r"},{"rule_id":"osv/GHSA-q675-qj96-32m9","severity":"high","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-5032, GHSA-q675-qj96-32m9","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GHSA-q675-qj96-32m9"},{"rule_id":"osv/GHSA-hrxh-6v49-42gf","severity":"high","message":"google.golang.org/grpc@1.79.3 (Go) is affected by GO-2026-6061, GHSA-hrxh-6v49-42gf","path":"go.mod","line":null,"fingerprint":"google.golang.org/grpc@1.79.3 (Go):GHSA-hrxh-6v49-42gf"},{"rule_id":"osv/GHSA-vp52-pcj8-j9qc","severity":"high","message":"google.golang.org/grpc@1.79.3 (Go) is affected by GO-2026-6348, GHSA-vp52-pcj8-j9qc","path":"go.mod","line":null,"fingerprint":"google.golang.org/grpc@1.79.3 (Go):GHSA-vp52-pcj8-j9qc"},{"rule_id":"osv/GHSA-2v4p-qf9q-27wj","severity":"high","message":"google.golang.org/grpc@1.79.3 (Go) is affected by GO-2026-6443, GHSA-2v4p-qf9q-27wj","path":"go.mod","line":null,"fingerprint":"google.golang.org/grpc@1.79.3 (Go):GHSA-2v4p-qf9q-27wj"},{"rule_id":"osv/GHSA-pjcq-xvwq-hhpj","severity":"medium","message":"github.com/Azure/go-ntlmssp@0.0.0-20221128193559-754e69321358 (Go) is affected by GO-2026-5543, GHSA-pjcq-xvwq-hhpj","path":"go.mod","line":null,"fingerprint":"github.com/Azure/go-ntlmssp@0.0.0-20221128193559-754e69321358 (Go):GHSA-pjcq-xvwq-hhpj"},{"rule_id":"osv/GO-2026-6888","severity":"medium","message":"github.com/andybalholm/brotli@1.1.1 (Go) is affected by GO-2026-6888","path":"go.mod","line":null,"fingerprint":"github.com/andybalholm/brotli@1.1.1 (Go):GO-2026-6888"},{"rule_id":"osv/GO-2022-0635","severity":"medium","message":"github.com/aws/aws-sdk-go@1.55.5 (Go) is affected by GO-2022-0635","path":"go.mod","line":null,"fingerprint":"github.com/aws/aws-sdk-go@1.55.5 (Go):GO-2022-0635"},{"rule_id":"osv/GO-2022-0646","severity":"medium","message":"github.com/aws/aws-sdk-go@1.55.5 (Go) is affected by GO-2022-0646","path":"go.mod","line":null,"fingerprint":"github.com/aws/aws-sdk-go@1.55.5 (Go):GO-2022-0646"},{"rule_id":"osv/GHSA-9w9f-6mg8-jp7w","severity":"medium","message":"github.com/blevesearch/bleve/v2@2.4.2 (Go) is affected by GO-2022-0470, GHSA-9w9f-6mg8-jp7w","path":"go.mod","line":null,"fingerprint":"github.com/blevesearch/bleve/v2@2.4.2 (Go):GHSA-9w9f-6mg8-jp7w"},{"rule_id":"osv/GHSA-q7pp-wcgr-pffx","severity":"medium","message":"github.com/disintegration/imaging@1.6.2 (Go) is affected by GHSA-q7pp-wcgr-pffx","path":"go.mod","line":null,"fingerprint":"github.com/disintegration/imaging@1.6.2 (Go):GHSA-q7pp-wcgr-pffx"},{"rule_id":"osv/GHSA-pq96-pwvg-vrr9","severity":"medium","message":"github.com/fatedier/frp@0.68.0 (Go) is affected by GO-2026-5549, GHSA-pq96-pwvg-vrr9","path":"go.mod","line":null,"fingerprint":"github.com/fatedier/frp@0.68.0 (Go):GHSA-pq96-pwvg-vrr9"},{"rule_id":"osv/GO-2026-5775","severity":"medium","message":"github.com/go-chi/chi/v5@5.0.12 (Go) is affected by GO-2026-5775","path":"go.mod","line":null,"fingerprint":"github.com/go-chi/chi/v5@5.0.12 (Go):GO-2026-5775"},{"rule_id":"osv/GO-2026-5777","severity":"medium","message":"github.com/go-chi/chi/v5@5.0.12 (Go) is affected by GO-2026-5777","path":"go.mod","line":null,"fingerprint":"github.com/go-chi/chi/v5@5.0.12 (Go):GO-2026-5777"},{"rule_id":"osv/GHSA-j6qf-3m9c-vwj3","severity":"medium","message":"github.com/go-chi/chi/v5@5.0.12 (Go) is affected by GHSA-j6qf-3m9c-vwj3","path":"go.mod","line":null,"fingerprint":"github.com/go-chi/chi/v5@5.0.12 (Go):GHSA-j6qf-3m9c-vwj3"},{"rule_id":"osv/GHSA-vrw8-fxc6-2r93","severity":"medium","message":"github.com/go-chi/chi/v5@5.0.12 (Go) is affected by GHSA-vrw8-fxc6-2r93","path":"go.mod","line":null,"fingerprint":"github.com/go-chi/chi/v5@5.0.12 (Go):GHSA-vrw8-fxc6-2r93"},{"rule_id":"osv/GHSA-4w3g-jfj2-cw2q","severity":"medium","message":"github.com/go-jose/go-jose/v4@4.1.4 (Go) is affected by GHSA-4w3g-jfj2-cw2q","path":"go.mod","line":null,"fingerprint":"github.com/go-jose/go-jose/v4@4.1.4 (Go):GHSA-4w3g-jfj2-cw2q"},{"rule_id":"osv/GHSA-vvm8-gf78-28g4","severity":"medium","message":"github.com/go-jose/go-jose/v4@4.1.4 (Go) is affected by GHSA-vvm8-gf78-28g4","path":"go.mod","line":null,"fingerprint":"github.com/go-jose/go-jose/v4@4.1.4 (Go):GHSA-vvm8-gf78-28g4"},{"rule_id":"osv/GO-2026-6865","severity":"medium","message":"github.com/klauspost/compress@1.17.11 (Go) is affected by GO-2026-6865","path":"go.mod","line":null,"fingerprint":"github.com/klauspost/compress@1.17.11 (Go):GO-2026-6865"},{"rule_id":"osv/GO-2026-6911","severity":"medium","message":"github.com/mark3labs/mcp-go@0.48.0 (Go) is affected by GO-2026-6911","path":"go.mod","line":null,"fingerprint":"github.com/mark3labs/mcp-go@0.48.0 (Go):GO-2026-6911"},{"rule_id":"osv/GHSA-rwvp-r38j-9rgg","severity":"medium","message":"github.com/nwaples/rardecode/v2@2.0.0-beta.4.0.20241112120701-034e449c6e78 (Go) is affected by GO-2025-4020, GHSA-rwvp-r38j-9rgg","path":"go.mod","line":null,"fingerprint":"github.com/nwaples/rardecode/v2@2.0.0-beta.4.0.20241112120701-034e449c6e78 (Go):GHSA-rwvp-r38j-9rgg"},{"rule_id":"osv/GHSA-9f3f-wv7r-qc8r","severity":"medium","message":"github.com/pion/dtls/v2@2.2.7 (Go) is affected by GO-2026-4479, GHSA-9f3f-wv7r-qc8r","path":"go.mod","line":null,"fingerprint":"github.com/pion/dtls/v2@2.2.7 (Go):GHSA-9f3f-wv7r-qc8r"},{"rule_id":"osv/GHSA-34rh-wp3j-6cxc","severity":"medium","message":"github.com/pion/stun/v2@2.0.0 (Go) is affected by GHSA-34rh-wp3j-6cxc","path":"go.mod","line":null,"fingerprint":"github.com/pion/stun/v2@2.0.0 (Go):GHSA-34rh-wp3j-6cxc"},{"rule_id":"osv/GHSA-g754-hx8w-x2g6","severity":"medium","message":"github.com/quic-go/quic-go@0.55.0 (Go) is affected by GO-2025-4233, GHSA-g754-hx8w-x2g6","path":"go.mod","line":null,"fingerprint":"github.com/quic-go/quic-go@0.55.0 (Go):GHSA-g754-hx8w-x2g6"},{"rule_id":"osv/GHSA-vvgj-x9jq-8cj9","severity":"medium","message":"github.com/quic-go/quic-go@0.55.0 (Go) is affected by GO-2026-5676, GHSA-vvgj-x9jq-8cj9","path":"go.mod","line":null,"fingerprint":"github.com/quic-go/quic-go@0.55.0 (Go):GHSA-vvgj-x9jq-8cj9"},{"rule_id":"osv/GHSA-hrxh-9w67-g4cv","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2024-3271, GHSA-hrxh-9w67-g4cv","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-hrxh-9w67-g4cv"},{"rule_id":"osv/GHSA-3x6r-wxxg-53vv","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6183, GHSA-3x6r-wxxg-53vv","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-3x6r-wxxg-53vv"},{"rule_id":"osv/GHSA-4vr5-p2gc-h23p","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6185, GHSA-4vr5-p2gc-h23p","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-4vr5-p2gc-h23p"},{"rule_id":"osv/GHSA-7p4m-qxvv-g567","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6186, GHSA-7p4m-qxvv-g567","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-7p4m-qxvv-g567"},{"rule_id":"osv/GHSA-8c48-q9wj-3w37","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6187, GHSA-8c48-q9wj-3w37","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-8c48-q9wj-3w37"},{"rule_id":"osv/GHSA-8mxv-9xhp-86h4","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6188, GHSA-8mxv-9xhp-86h4","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-8mxv-9xhp-86h4"},{"rule_id":"osv/GHSA-8v25-v8p6-qf7v","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6189, GHSA-8v25-v8p6-qf7v","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-8v25-v8p6-qf7v"},{"rule_id":"osv/GHSA-h4mf-4v27-hggj","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6197, GHSA-h4mf-4v27-hggj","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-h4mf-4v27-hggj"},{"rule_id":"osv/GHSA-xhf4-832v-7xcr","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6199, GHSA-xhf4-832v-7xcr","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-xhf4-832v-7xcr"},{"rule_id":"osv/GHSA-38xv-hf3p-h7mq","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6457, GHSA-38xv-hf3p-h7mq","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-38xv-hf3p-h7mq"},{"rule_id":"osv/GHSA-f8g7-2xjc-7mfh","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6459, GHSA-f8g7-2xjc-7mfh","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-f8g7-2xjc-7mfh"},{"rule_id":"osv/GHSA-p6m2-r3w9-mpxw","severity":"medium","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6461, GHSA-p6m2-r3w9-mpxw","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-p6m2-r3w9-mpxw"},{"rule_id":"osv/GHSA-jc7w-c686-c4v9","severity":"medium","message":"github.com/ulikunitz/xz@0.5.12 (Go) is affected by GO-2025-3922, GHSA-jc7w-c686-c4v9","path":"go.mod","line":null,"fingerprint":"github.com/ulikunitz/xz@0.5.12 (Go):GHSA-jc7w-c686-c4v9"},{"rule_id":"osv/GO-2026-4950","severity":"medium","message":"github.com/valyala/fasthttp@1.37.1-0.20220607072126-8a320890c08d (Go) is affected by GO-2026-4950","path":"go.mod","line":null,"fingerprint":"github.com/valyala/fasthttp@1.37.1-0.20220607072126-8a320890c08d (Go):GO-2026-4950"},{"rule_id":"osv/GO-2026-5320","severity":"medium","message":"github.com/yuin/goldmark@1.7.8 (Go) is affected by GO-2026-5320","path":"go.mod","line":null,"fingerprint":"github.com/yuin/goldmark@1.7.8 (Go):GO-2026-5320"},{"rule_id":"osv/GHSA-45gg-vh54-h5m9","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5014, GHSA-45gg-vh54-h5m9","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-45gg-vh54-h5m9"},{"rule_id":"osv/GHSA-78mq-xcr3-xm33","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5015, GHSA-78mq-xcr3-xm33","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-78mq-xcr3-xm33"},{"rule_id":"osv/GHSA-qpw4-5x99-6vjp","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5016, GHSA-qpw4-5x99-6vjp","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-qpw4-5x99-6vjp"},{"rule_id":"osv/GHSA-9m57-25v3-79x9","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5033, GHSA-9m57-25v3-79x9","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GHSA-9m57-25v3-79x9"},{"rule_id":"osv/GO-2026-5932","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-5932","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GO-2026-5932"},{"rule_id":"osv/GO-2026-6303","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-6303","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GO-2026-6303"},{"rule_id":"osv/GO-2026-6354","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-6354","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GO-2026-6354"},{"rule_id":"osv/GO-2026-6355","severity":"medium","message":"golang.org/x/crypto@0.46.0 (Go) is affected by GO-2026-6355","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.46.0 (Go):GO-2026-6355"},{"rule_id":"osv/GHSA-44p7-9xx4-hf2g","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-4815, GHSA-44p7-9xx4-hf2g","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GHSA-44p7-9xx4-hf2g"},{"rule_id":"osv/GO-2026-4961","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-4961","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-4961"},{"rule_id":"osv/GO-2026-4962","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-4962","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-4962"},{"rule_id":"osv/GO-2026-5031","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-5031","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-5031"},{"rule_id":"osv/GO-2026-5061","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-5061","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-5061"},{"rule_id":"osv/GO-2026-5062","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-5062","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-5062"},{"rule_id":"osv/GO-2026-5066","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-5066","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-5066"},{"rule_id":"osv/GO-2026-6222","severity":"medium","message":"golang.org/x/image@0.19.0 (Go) is affected by GO-2026-6222","path":"go.mod","line":null,"fingerprint":"golang.org/x/image@0.19.0 (Go):GO-2026-6222"},{"rule_id":"osv/GO-2026-6179","severity":"medium","message":"golang.org/x/mod@0.30.0 (Go) is affected by GO-2026-6179","path":"go.mod","line":null,"fingerprint":"golang.org/x/mod@0.30.0 (Go):GO-2026-6179"},{"rule_id":"osv/GO-2026-6180","severity":"medium","message":"golang.org/x/mod@0.30.0 (Go) is affected by GO-2026-6180","path":"go.mod","line":null,"fingerprint":"golang.org/x/mod@0.30.0 (Go):GO-2026-6180"},{"rule_id":"osv/GO-2026-4918","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-4918","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-4918"},{"rule_id":"osv/GO-2026-5025","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5025","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5025"},{"rule_id":"osv/GO-2026-5026","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5026","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5026"},{"rule_id":"osv/GO-2026-5027","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5027","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5027"},{"rule_id":"osv/GHSA-5cv4-jp36-h3mw","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5028, GHSA-5cv4-jp36-h3mw","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GHSA-5cv4-jp36-h3mw"},{"rule_id":"osv/GO-2026-5029","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5029","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5029"},{"rule_id":"osv/GO-2026-5030","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5030","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5030"},{"rule_id":"osv/GO-2026-5942","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-5942","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-5942"},{"rule_id":"osv/GO-2026-6603","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6603","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6603"},{"rule_id":"osv/GO-2026-6610","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6610","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6610"},{"rule_id":"osv/GO-2026-6611","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6611","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6611"},{"rule_id":"osv/GO-2026-6612","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6612","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6612"},{"rule_id":"osv/GO-2026-6617","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6617","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6617"},{"rule_id":"osv/GO-2026-6860","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6860","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6860"},{"rule_id":"osv/GO-2026-6866","severity":"medium","message":"golang.org/x/net@0.48.0 (Go) is affected by GO-2026-6866","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.48.0 (Go):GO-2026-6866"},{"rule_id":"osv/GO-2026-5024","severity":"medium","message":"golang.org/x/sys@0.39.0 (Go) is affected by GO-2026-5024","path":"go.mod","line":null,"fingerprint":"golang.org/x/sys@0.39.0 (Go):GO-2026-5024"},{"rule_id":"osv/GO-2026-5970","severity":"medium","message":"golang.org/x/text@0.32.0 (Go) is affected by GO-2026-5970","path":"go.mod","line":null,"fingerprint":"golang.org/x/text@0.32.0 (Go):GO-2026-5970"},{"rule_id":"osv/GO-2026-6629","severity":"medium","message":"golang.org/x/text@0.32.0 (Go) is affected by GO-2026-6629","path":"go.mod","line":null,"fingerprint":"golang.org/x/text@0.32.0 (Go):GO-2026-6629"},{"rule_id":"osv/GHSA-qc2q-p7wx-3px3","severity":"medium","message":"google.golang.org/grpc@1.79.3 (Go) is affected by GO-2026-6441, GHSA-qc2q-p7wx-3px3","path":"go.mod","line":null,"fingerprint":"google.golang.org/grpc@1.79.3 (Go):GHSA-qc2q-p7wx-3px3"},{"rule_id":"osv/GHSA-c5q2-7r4c-mv6g","severity":"medium","message":"gopkg.in/square/go-jose.v2@2.6.0 (Go) is affected by GO-2024-2631, GHSA-c5q2-7r4c-mv6g","path":"go.mod","line":null,"fingerprint":"gopkg.in/square/go-jose.v2@2.6.0 (Go):GHSA-c5q2-7r4c-mv6g"},{"rule_id":"osv/GHSA-2x5j-vhc8-9cwm","severity":"low","message":"github.com/cloudflare/circl@1.3.7 (Go) is affected by GO-2025-3754, GHSA-2x5j-vhc8-9cwm","path":"go.mod","line":null,"fingerprint":"github.com/cloudflare/circl@1.3.7 (Go):GHSA-2x5j-vhc8-9cwm"},{"rule_id":"osv/GHSA-q9hv-hpm4-hj6x","severity":"low","message":"github.com/cloudflare/circl@1.3.7 (Go) is affected by GO-2026-4550, GHSA-q9hv-hpm4-hj6x","path":"go.mod","line":null,"fingerprint":"github.com/cloudflare/circl@1.3.7 (Go):GHSA-q9hv-hpm4-hj6x"},{"rule_id":"osv/GHSA-j88v-2chj-qfwx","severity":"low","message":"github.com/jackc/pgx/v5@5.9.0 (Go) is affected by GO-2026-5004, GHSA-j88v-2chj-qfwx","path":"go.mod","line":null,"fingerprint":"github.com/jackc/pgx/v5@5.9.0 (Go):GHSA-j88v-2chj-qfwx"},{"rule_id":"osv/GHSA-gwfq-86j8-7qhv","severity":"low","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6181, GHSA-gwfq-86j8-7qhv","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-gwfq-86j8-7qhv"},{"rule_id":"osv/GHSA-945v-v9p3-v5xw","severity":"low","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6190, GHSA-945v-v9p3-v5xw","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-945v-v9p3-v5xw"},{"rule_id":"osv/GHSA-gx4c-2hqx-cw2r","severity":"low","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6196, GHSA-gx4c-2hqx-cw2r","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-gx4c-2hqx-cw2r"},{"rule_id":"osv/GHSA-486v-q2wf-fp2r","severity":"low","message":"github.com/rclone/rclone@1.67.0 (Go) is affected by GO-2026-6463, GHSA-486v-q2wf-fp2r","path":"go.mod","line":null,"fingerprint":"github.com/rclone/rclone@1.67.0 (Go):GHSA-486v-q2wf-fp2r"}],"evidence":[],"data":{"ecosystems":["Go"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":20.0,"findings":104.0,"findings_high":66.0,"findings_medium":30.0,"findings_low":8.0,"penalty":777.4},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/auto_lang.yml","line":28,"fingerprint":"unpinned-uses:.github/workflows/auto_lang.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/auto_lang.yml","line":33,"fingerprint":"unpinned-uses:.github/workflows/auto_lang.yml:33"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/auto_lang.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/auto_lang.yml:38"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/beta_release.yml","line":12,"fingerprint":"excessive-permissions:.github/workflows/beta_release.yml:12"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":24,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:24"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":47,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:47"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":77,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:77"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":82,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:82"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":91,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:91"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":121,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:121"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/beta_release.yml","line":135,"fingerprint":"unpinned-uses:.github/workflows/beta_release.yml:135"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/beta_release.yml","line":82,"fingerprint":"cache-poisoning:.github/workflows/beta_release.yml:82"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":18,"fingerprint":"unpinned-uses:.github/workflows/build.yml:18"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":46,"fingerprint":"unpinned-uses:.github/workflows/build.yml:46"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":48,"fingerprint":"unpinned-uses:.github/workflows/build.yml:48"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":52,"fingerprint":"unpinned-uses:.github/workflows/build.yml:52"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":61,"fingerprint":"unpinned-uses:.github/workflows/build.yml:61"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":80,"fingerprint":"unpinned-uses:.github/workflows/build.yml:80"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/changelog.yml","line":14,"fingerprint":"unpinned-uses:.github/workflows/changelog.yml:14"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_close_question.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_close_question.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_close_stale.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_close_stale.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_duplicate.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_duplicate.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_invalid.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_invalid.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_on_close.yml","line":15,"fingerprint":"unpinned-uses:.github/workflows/issue_on_close.yml:15"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_question.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_question.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_similarity.yml","line":12,"fingerprint":"unpinned-uses:.github/workflows/issue_similarity.yml:12"},{"rule_id":"zizmor/dangerous-triggers","severity":"high","message":"use of fundamentally insecure workflow trigger [confidence medium]","path":".github/workflows/issue_translate.yml","line":4,"fingerprint":"dangerous-triggers:.github/workflows/issue_translate.yml:4"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_translate.yml","line":13,"fingerprint":"unpinned-uses:.github/workflows/issue_translate.yml:13"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue_wontfix.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/issue_wontfix.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":41,"fingerprint":"unpinned-uses:.github/workflows/release.yml:41"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":48,"fingerprint":"unpinned-uses:.github/workflows/release.yml:48"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":53,"fingerprint":"unpinned-uses:.github/workflows/release.yml:53"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":69,"fingerprint":"unpinned-uses:.github/workflows/release.yml:69"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":81,"fingerprint":"unpinned-uses:.github/workflows/release.yml:81"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":48,"fingerprint":"cache-poisoning:.github/workflows/release.yml:48"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_android.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/release_android.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_android.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/release_android.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_android.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/release_android.yml:39"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_android.yml","line":25,"fingerprint":"cache-poisoning:.github/workflows/release_android.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:39"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":41,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:41"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":47,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:47"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":65,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:65"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":99,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:99"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":100,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:100"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":106,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:106"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":109,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:109"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":113,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:113"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":120,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:120"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":129,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:129"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_docker.yml","line":141,"fingerprint":"unpinned-uses:.github/workflows/release_docker.yml:141"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_docker.yml","line":41,"fingerprint":"cache-poisoning:.github/workflows/release_docker.yml:41"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_docker.yml","line":47,"fingerprint":"cache-poisoning:.github/workflows/release_docker.yml:47"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_freebsd.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/release_freebsd.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_freebsd.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/release_freebsd.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_freebsd.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/release_freebsd.yml:39"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_freebsd.yml","line":25,"fingerprint":"cache-poisoning:.github/workflows/release_freebsd.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl.yml:39"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_linux_musl.yml","line":25,"fingerprint":"cache-poisoning:.github/workflows/release_linux_musl.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl_arm.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl_arm.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl_arm.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl_arm.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release_linux_musl_arm.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/release_linux_musl_arm.yml:39"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release_linux_musl_arm.yml","line":25,"fingerprint":"cache-poisoning:.github/workflows/release_linux_musl_arm.yml:25"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/auto_lang.yml","line":32,"fingerprint":"artipacked:.github/workflows/auto_lang.yml:32"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/auto_lang.yml","line":19,"fingerprint":"excessive-permissions:.github/workflows/auto_lang.yml:19"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/beta_release.yml","line":23,"fingerprint":"artipacked:.github/workflows/beta_release.yml:23"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/beta_release.yml","line":76,"fingerprint":"artipacked:.github/workflows/beta_release.yml:76"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":18,"fingerprint":"artipacked:.github/workflows/build.yml:18"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":45,"fingerprint":"artipacked:.github/workflows/build.yml:45"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":1,"fingerprint":"excessive-permissions:.github/workflows/build.yml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":14,"fingerprint":"excessive-permissions:.github/workflows/build.yml:14"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build.yml","line":24,"fingerprint":"excessive-permissions:.github/workflows/build.yml:24"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/changelog.yml","line":13,"fingerprint":"artipacked:.github/workflows/changelog.yml:13"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/changelog.yml","line":9,"fingerprint":"excessive-permissions:.github/workflows/changelog.yml:9"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/issue_similarity.yml","line":8,"fingerprint":"excessive-permissions:.github/workflows/issue_similarity.yml:8"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/issue_translate.yml","line":10,"fingerprint":"excessive-permissions:.github/workflows/issue_translate.yml:10"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":52,"fingerprint":"artipacked:.github/workflows/release.yml:52"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":1,"fingerprint":"excessive-permissions:.github/workflows/release.yml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/release.yml:15"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release.yml","line":75,"fingerprint":"excessive-permissions:.github/workflows/release.yml:75"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_android.yml","line":29,"fingerprint":"artipacked:.github/workflows/release_android.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_android.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/release_android.yml:15"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_docker.yml","line":38,"fingerprint":"artipacked:.github/workflows/release_docker.yml:38"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_docker.yml","line":98,"fingerprint":"artipacked:.github/workflows/release_docker.yml:98"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_docker.yml","line":1,"fingerprint":"excessive-permissions:.github/workflows/release_docker.yml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_docker.yml","line":34,"fingerprint":"excessive-permissions:.github/workflows/release_docker.yml:34"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_docker.yml","line":75,"fingerprint":"excessive-permissions:.github/workflows/release_docker.yml:75"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_freebsd.yml","line":29,"fingerprint":"artipacked:.github/workflows/release_freebsd.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_freebsd.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/release_freebsd.yml:15"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_linux_musl.yml","line":29,"fingerprint":"artipacked:.github/workflows/release_linux_musl.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_linux_musl.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/release_linux_musl.yml:15"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release_linux_musl_arm.yml","line":29,"fingerprint":"artipacked:.github/workflows/release_linux_musl_arm.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/release_linux_musl_arm.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/release_linux_musl_arm.yml:15"},{"rule_id":"zizmor/unsound-ternary","severity":"low","message":"unsound pseudo-ternary expression [confidence high]","path":".github/workflows/release_docker.yml","line":134,"fingerprint":"unsound-ternary:.github/workflows/release_docker.yml:134"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/beta_release.yml","line":47,"fingerprint":"superfluous-actions:.github/workflows/beta_release.yml:47"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/beta_release.yml","line":121,"fingerprint":"superfluous-actions:.github/workflows/beta_release.yml:121"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":69,"fingerprint":"superfluous-actions:.github/workflows/release.yml:69"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release_android.yml","line":39,"fingerprint":"superfluous-actions:.github/workflows/release_android.yml:39"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release_freebsd.yml","line":39,"fingerprint":"superfluous-actions:.github/workflows/release_freebsd.yml:39"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release_linux_musl.yml","line":39,"fingerprint":"superfluous-actions:.github/workflows/release_linux_musl.yml:39"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release_linux_musl_arm.yml","line":39,"fingerprint":"superfluous-actions:.github/workflows/release_linux_musl_arm.yml:39"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":1.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.39,"unpinned_manifests":0.0},"findings":[],"evidence":[{"kind":"posture","description":"Dependency updates: renovate.json","ref":"renovate.json","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":2.0,"binary_assets":451.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v3.66.0 ships alist-android-386.tar.gz (515 downloads)","ref":"alist-android-386.tar.gz","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-386.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v3.66.0 ships alist-android-amd64.tar.gz (534 downloads)","ref":"alist-android-amd64.tar.gz","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-amd64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v3.66.0 ships alist-android-arm.tar.gz (334 downloads)","ref":"alist-android-arm.tar.gz","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-arm.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v3.66.0 ships alist-android-arm64.tar.gz (639 downloads)","ref":"alist-android-arm64.tar.gz","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-android-arm64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v3.66.0 ships alist-darwin-amd64.tar.gz (818 downloads)","ref":"alist-darwin-amd64.tar.gz","url":"https://github.com/AlistGo/alist/releases/download/v3.66.0/alist-darwin-amd64.tar.gz","weight":0.0},{"kind":"readme-download-lure","description":"links to file hosts or shorteners: mediafire.com, mega.nz, t.me/","ref":"README.md","url":null,"weight":0.0},{"kind":"readme-download-lure","description":"links to file hosts or shorteners: mediafire.com, mega.nz, t.me/","ref":"README_cn.md","url":null,"weight":0.0},{"kind":"readme-download-lure","description":"links to file hosts or shorteners: mediafire.com, mega.nz, t.me/","ref":"README_ja.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":6094.0,"function_nloc":81575.0,"mean_ccn":3.29,"p90_ccn":8.0,"complex_functions":101.0,"long_functions":36.0,"many_param_functions":12.0,"risky_nloc_share":0.1161},"findings":[],"evidence":[{"kind":"complex-function","description":"unmarshal in server/webdav/internal/xml/read.go: complexity 86, 233 lines","ref":"server/webdav/internal/xml/read.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/read.go#L271","weight":1.0},{"kind":"complex-function","description":"rawToken in server/webdav/internal/xml/xml.go: complexity 82, 261 lines","ref":"server/webdav/internal/xml/xml.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/xml.go#L533","weight":1.0},{"kind":"complex-function","description":"Put in drivers/139/driver.go: complexity 52, 286 lines","ref":"drivers/139/driver.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/139/driver.go#L513","weight":0.8666666666666667},{"kind":"complex-function","description":"Move in drivers/github/driver.go: complexity 52, 209 lines","ref":"drivers/github/driver.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/github/driver.go#L247","weight":0.8666666666666667},{"kind":"complex-function","description":"text in server/webdav/internal/xml/xml.go: complexity 50, 146 lines","ref":"server/webdav/internal/xml/xml.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/xml.go#L960","weight":0.8333333333333334},{"kind":"complex-function","description":"marshalValue in server/webdav/internal/xml/marshal.go: complexity 49, 122 lines","ref":"server/webdav/internal/xml/marshal.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/marshal.go#L556","weight":0.8166666666666667},{"kind":"complex-function","description":"marshalStruct in server/webdav/internal/xml/marshal.go: complexity 42, 125 lines","ref":"server/webdav/internal/xml/marshal.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/marshal.go#L963","weight":0.7},{"kind":"complex-function","description":"Put in drivers/baidu_youth/driver.go: complexity 36, 151 lines","ref":"drivers/baidu_youth/driver.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/baidu_youth/driver.go#L224","weight":0.6},{"kind":"complex-function","description":"WebDAVAuth in server/webdav.go: complexity 36, 110 lines","ref":"server/webdav.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav.go#L64","weight":0.6},{"kind":"complex-function","description":"structFieldInfo in server/webdav/internal/xml/typeinfo.go: complexity 34, 94 lines","ref":"server/webdav/internal/xml/typeinfo.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/server/webdav/internal/xml/typeinfo.go#L114","weight":0.5666666666666667}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":84689.0,"duplicated_lines":11347.0,"duplicated_share":0.134,"files":738.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: build.sh:88 and build.sh:188","ref":"build.sh","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/build.sh#L88","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: cmd/kill.go:19 and cmd/stop_default.go:23","ref":"cmd/kill.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/cmd/kill.go#L19","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: cmd/stop_default.go:46 and cmd/stop_windows.go:22","ref":"cmd/stop_default.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/cmd/stop_default.go#L46","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115/meta.go:4 and drivers/115_share/meta.go:4","ref":"drivers/115/meta.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115/meta.go#L4","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115/util.go:59 and drivers/115_share/utils.go:184","ref":"drivers/115/util.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115/util.go#L59","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115/util.go:326 and drivers/115/util.go:479","ref":"drivers/115/util.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115/util.go#L326","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115/util.go:342 and drivers/pikpak/util.go:530","ref":"drivers/115/util.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115/util.go#L342","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115_open/driver.go:4 and internal/net/request.go:5","ref":"drivers/115_open/driver.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115_open/driver.go#L4","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115_open/driver.go:5 and drivers/cloudreve/util.go:9","ref":"drivers/115_open/driver.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115_open/driver.go#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: drivers/115_open/meta.go:4 and drivers/doubao_new/meta.go:4","ref":"drivers/115_open/meta.go","url":"https://github.com/AlistGo/alist/blob/92e745360766cce32564f94a468cb576f577d27e/drivers/115_open/meta.go#L4","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":209.0,"weighted_findings":194.75,"scanned_lines":120066.0,"category:best-practice":2.0,"category:correctness":207.0},"findings":[{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"cmd/common.go","line":49,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/common.go:49"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"cmd/lang.go","line":142,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/lang.go:142"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"cmd/start.go","line":42,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/start.go:42"},{"rule_id":"opengrep/go.lang.correctness.exported_loop_pointer","severity":"medium","message":"`fileInfo` is a loop pointer that may be exported from the loop. This pointer is shared between loop iterations, so the exported reference will always point to the last loop value, which is likely unintentional. To fix, copy the pointer to a new pointer within the loop.","path":"drivers/115/util.go","line":102,"fingerprint":"go.lang.correctness.exported_loop_pointer:drivers/115/util.go:102"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/139/util.go","line":469,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/139/util.go:469"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/driver.go","line":136,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/driver.go:136"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":58,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:58"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":73,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:73"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":100,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:100"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":163,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:163"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":178,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:178"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alias/util.go","line":193,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alias/util.go:193"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/alist_v3/driver.go","line":138,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/alist_v3/driver.go:138"},{"rule_id":"opengrep/go.lang.correctness.exported_loop_pointer","severity":"medium","message":"`content` is a loop pointer that may be exported from the loop. This pointer is shared between loop iterations, so the exported reference will always point to the last loop value, which is likely unintentional. To fix, copy the pointer to a new pointer within the loop.","path":"drivers/alist_v3/driver.go","line":259,"fingerprint":"go.lang.correctness.exported_loop_pointer:drivers/alist_v3/driver.go:259"},{"rule_id":"opengrep/go.lang.correctness.exported_loop_pointer","severity":"medium","message":"`child` is a loop pointer that may be exported from the loop. This pointer is shared between loop iterations, so the exported reference will always point to the last loop value, which is likely unintentional. To fix, copy the pointer to a new pointer within the loop.","path":"drivers/alist_v3/types.go","line":134,"fingerprint":"go.lang.correctness.exported_loop_pointer:drivers/alist_v3/types.go:134"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/azure_blob/driver.go","line":149,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/azure_blob/driver.go:149"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/azure_blob/driver.go","line":182,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/azure_blob/driver.go:182"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/azure_blob/util.go","line":284,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/azure_blob/util.go:284"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/baidu_netdisk/driver.go","line":104,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/baidu_netdisk/driver.go:104"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/baidu_netdisk/driver.go","line":144,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/baidu_netdisk/driver.go:144"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/baidu_share/driver.go","line":88,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/baidu_share/driver.go:88"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/baidu_youth/driver.go","line":126,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/baidu_youth/driver.go:126"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/baidu_youth/driver.go","line":176,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/baidu_youth/driver.go:176"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/bitqiu/driver.go","line":282,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/bitqiu/driver.go:282"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/bitqiu/util.go","line":44,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/bitqiu/util.go:44"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/bitqiu/util.go","line":63,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/bitqiu/util.go:63"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/driver.go","line":154,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/driver.go:154"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/driver.go","line":226,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/driver.go:226"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":269,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:269"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":358,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:358"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":604,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:604"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":614,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:614"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":636,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:636"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":654,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:654"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/chunker/util.go","line":695,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/chunker/util.go:695"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/crypt/driver.go","line":317,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/crypt/driver.go:317"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/crypt/util.go","line":36,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/crypt/util.go:36"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/cstcloud_capsule/driver.go","line":95,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/cstcloud_capsule/driver.go:95"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/cstcloud_capsule/driver.go","line":103,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/cstcloud_capsule/driver.go:103"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/doubao_share/util.go","line":566,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/doubao_share/util.go:566"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/doubao_share/util.go","line":606,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/doubao_share/util.go:606"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ftp/driver.go","line":78,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ftp/driver.go:78"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ftp/driver.go","line":97,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ftp/driver.go:97"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ftps/driver.go","line":77,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ftps/driver.go:77"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ftps/driver.go","line":96,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ftps/driver.go:96"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/gitee/driver.go","line":223,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/gitee/driver.go:223"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/github/driver.go","line":237,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/github/driver.go:237"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/github/driver.go","line":270,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/github/driver.go:270"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/github/driver.go","line":516,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/github/driver.go:516"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":54,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:54"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":56,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:56"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":62,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:62"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":87,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:87"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":91,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:91"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":93,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:93"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":99,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:99"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":115,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:115"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":119,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:119"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":123,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:123"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":130,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:130"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":140,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:140"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/ipfs_api/driver.go","line":150,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/ipfs_api/driver.go:150"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/local/driver.go","line":172,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/local/driver.go:172"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/local/driver.go","line":174,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/local/driver.go:174"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/onedrive/driver.go","line":133,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/onedrive/driver.go:133"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/onedrive/driver.go","line":135,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/onedrive/driver.go:135"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/onedrive_app/driver.go","line":132,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/onedrive_app/driver.go:132"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/onedrive_app/driver.go","line":134,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/onedrive_app/driver.go:134"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/driver.go","line":157,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/driver.go:157"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/driver.go","line":182,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/driver.go:182"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/util.go","line":235,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/util.go:235"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/util.go","line":236,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/util.go:236"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/util.go","line":260,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/util.go:260"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/util.go","line":275,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/util.go:275"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/s3/util.go","line":276,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/s3/util.go:276"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/driver.go","line":75,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/driver.go:75"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/driver.go","line":89,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/driver.go:89"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/types.go","line":22,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/types.go:22"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/types.go","line":29,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/types.go:29"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/util.go","line":78,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/util.go:78"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sftp/util.go","line":95,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sftp/util.go:95"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sjtu_netdisk/util.go","line":78,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sjtu_netdisk/util.go:78"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/sjtu_netdisk/util.go","line":90,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/sjtu_netdisk/util.go:90"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/strm/driver.go","line":112,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/strm/driver.go:112"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/strm/driver.go","line":202,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/strm/driver.go:202"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/strm/driver.go","line":203,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/strm/driver.go:203"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/strm/driver.go","line":221,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/strm/driver.go:221"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/strm/util.go","line":134,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/strm/util.go:134"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"drivers/strm/util.go","line":193,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:drivers/strm/util.go:193"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"drivers/strm/util.go","line":204,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:drivers/strm/util.go:204"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/terabox/driver.go","line":81,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/terabox/driver.go:81"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/url_tree/driver.go","line":153,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/url_tree/driver.go:153"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/url_tree/driver.go","line":191,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/url_tree/driver.go:191"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/url_tree/driver.go","line":206,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/url_tree/driver.go:206"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/url_tree/driver.go","line":230,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/url_tree/driver.go:230"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/url_tree/driver.go","line":290,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/url_tree/driver.go:290"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/uss/driver.go","line":95,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/uss/driver.go:95"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/uss/driver.go","line":108,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/uss/driver.go:108"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/webdav/driver.go","line":77,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/webdav/driver.go:77"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/webdav/driver.go","line":85,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/webdav/driver.go:85"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yandex_disk/driver.go","line":64,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yandex_disk/driver.go:64"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yandex_disk/driver.go","line":84,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yandex_disk/driver.go:84"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yunpan360/driver.go","line":167,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yunpan360/driver.go:167"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yunpan360/driver.go","line":187,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yunpan360/driver.go:187"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yunpan360/driver.go","line":237,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yunpan360/driver.go:237"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"drivers/yunpan360/driver.go","line":256,"fingerprint":"go.lang.correctness.use-filepath-join:drivers/yunpan360/driver.go:256"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/archives/archives.go","line":115,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/archives/archives.go:115"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/archives/archives.go","line":142,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/archives/archives.go:142"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/archives/archives.go","line":151,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/archives/archives.go:151"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/archives/archives.go","line":162,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/archives/archives.go:162"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/iso9660/iso9660.go","line":88,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/iso9660/iso9660.go:88"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/iso9660/utils.go","line":75,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/iso9660/utils.go:75"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/iso9660/utils.go","line":104,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/iso9660/utils.go:104"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/rardecode/rardecode.go","line":128,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/rardecode/rardecode.go:128"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/rardecode/rardecode.go","line":142,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/rardecode/rardecode.go:142"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/rardecode/rardecode.go","line":156,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/rardecode/rardecode.go:156"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/rardecode/utils.go","line":186,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/rardecode/utils.go:186"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/rardecode/utils.go","line":191,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/rardecode/utils.go:191"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":131,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:131"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":144,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:144"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":168,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:168"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":183,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:183"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":197,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:197"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":214,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:214"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/archive/tool/helper.go","line":227,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/archive/tool/helper.go:227"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/bootstrap/config.go","line":87,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/bootstrap/config.go:87"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/frp/frp.go","line":76,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/frp/frp.go:76"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/archive.go","line":178,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/archive.go:178"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/archive.go","line":192,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/archive.go:192"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/archive.go","line":194,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/archive.go:194"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/archive.go","line":274,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/archive.go:274"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/copy.go","line":78,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/copy.go:78"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/copy.go","line":149,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/copy.go:149"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/copy.go","line":150,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/copy.go:150"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/copy.go","line":177,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/copy.go:177"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/fs/walk.go","line":36,"fingerprint":"go.lang.correctness.use-filepath-join:internal/fs/walk.go:36"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":93,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:93"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":117,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:117"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":118,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:118"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":193,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:193"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":222,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:222"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/offline_download/tool/transfer.go","line":223,"fingerprint":"go.lang.correctness.use-filepath-join:internal/offline_download/tool/transfer.go:223"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/archive.go","line":104,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/archive.go:104"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/archive.go","line":193,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/archive.go:193"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/archive.go","line":212,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/archive.go:212"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/archive.go","line":392,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/archive.go:392"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":156,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:156"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":164,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:164"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":197,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:197"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":617,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:617"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":622,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:622"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":624,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:624"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":691,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:691"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/op/fs.go","line":704,"fingerprint":"go.lang.correctness.use-filepath-join:internal/op/fs.go:704"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/build.go","line":236,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/build.go:236"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/build.go","line":237,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/build.go:237"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/build.go","line":238,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/build.go:238"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/build.go","line":248,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/build.go:248"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/build.go","line":256,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/build.go:256"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"internal/search/meilisearch/search.go","line":137,"fingerprint":"go.lang.correctness.use-filepath-join:internal/search/meilisearch/search.go:137"},{"rule_id":"opengrep/go.lang.best-practice.hidden-goroutine","severity":"medium","message":"Detected a hidden goroutine. Function invocations are expected to synchronous, and this function will execute asynchronously because all it does is call a goroutine. Instead, remove the internal goroutine and call the function using 'go'.","path":"pkg/cron/cron.go","line":17,"fingerprint":"go.lang.best-practice.hidden-goroutine:pkg/cron/cron.go:17"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/gowebdav/cmd/gowebdav/main.go","line":196,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/gowebdav/cmd/gowebdav/main.go:196"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/gowebdav/cmd/gowebdav/main.go","line":204,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/gowebdav/cmd/gowebdav/main.go:204"},{"rule_id":"opengrep/go.lang.best-practice.hidden-goroutine","severity":"medium","message":"Detected a hidden goroutine. Function invocations are expected to synchronous, and this function will execute asynchronously because all it does is call a goroutine. Instead, remove the internal goroutine and call the function using 'go'.","path":"pkg/task/manager.go","line":27,"fingerprint":"go.lang.best-practice.hidden-goroutine:pkg/task/manager.go:27"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/utils/file.go","line":60,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/utils/file.go:60"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/utils/file.go","line":61,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/utils/file.go:61"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"pkg/utils/file.go","line":99,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:pkg/utils/file.go:99"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/utils/path.go","line":92,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/utils/path.go:92"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/utils/path.go","line":96,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/utils/path.go:96"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"pkg/utils/path.go","line":127,"fingerprint":"go.lang.correctness.use-filepath-join:pkg/utils/path.go:127"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/common/sign.go","line":16,"fingerprint":"go.lang.correctness.use-filepath-join:server/common/sign.go:16"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/ftp/fsmanage.go","line":81,"fingerprint":"go.lang.correctness.use-filepath-join:server/ftp/fsmanage.go:81"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/ftp/fsread.go","line":161,"fingerprint":"go.lang.correctness.use-filepath-join:server/ftp/fsread.go:161"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/handles/fsread.go","line":134,"fingerprint":"go.lang.correctness.use-filepath-join:server/handles/fsread.go:134"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/handles/fsread.go","line":199,"fingerprint":"go.lang.correctness.use-filepath-join:server/handles/fsread.go:199"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/handles/fsread.go","line":323,"fingerprint":"go.lang.correctness.use-filepath-join:server/handles/fsread.go:323"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/handles/share.go","line":368,"fingerprint":"go.lang.correctness.use-filepath-join:server/handles/share.go:368"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/backend.go","line":109,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/backend.go:109"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/backend.go","line":152,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/backend.go:152"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/backend.go","line":259,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/backend.go:259"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/backend.go","line":360,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/backend.go:360"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/backend.go","line":409,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/backend.go:409"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/list.go","line":13,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/list.go:13"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/list.go","line":24,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/list.go:24"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/s3/list.go","line":36,"fingerprint":"go.lang.correctness.use-filepath-join:server/s3/list.go:36"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/webdav/file.go","line":53,"fingerprint":"go.lang.correctness.use-filepath-join:server/webdav/file.go:53"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/webdav/file.go","line":111,"fingerprint":"go.lang.correctness.use-filepath-join:server/webdav/file.go:111"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/webdav/webdav.go","line":687,"fingerprint":"go.lang.correctness.use-filepath-join:server/webdav/webdav.go:687"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/webdav/webdav.go","line":724,"fingerprint":"go.lang.correctness.use-filepath-join:server/webdav/webdav.go:724"},{"rule_id":"opengrep/go.lang.correctness.use-filepath-join","severity":"medium","message":"`path.Join(...)` always joins using a forward slash. This may cause issues on Windows or other systems using a different delimiter. Use `filepath.Join(...)` instead which uses OS-specific path separators.","path":"server/webdav/webdav.go","line":769,"fingerprint":"go.lang.correctness.use-filepath-join:server/webdav/webdav.go:769"},{"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":"build.sh","line":91,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:91"},{"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":"build.sh","line":96,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:96"},{"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":"build.sh","line":144,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:144"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"build.sh","line":158,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:158"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"build.sh","line":191,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:191"},{"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":"build.sh","line":196,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:196"},{"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":"build.sh","line":223,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:223"},{"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":"build.sh","line":229,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:229"},{"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":"build.sh","line":244,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:244"},{"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":"build.sh","line":249,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:build.sh:249"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.2427,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.7286,"test_lines":14570.0,"source_lines":120066.0,"test_ratio":0.1213,"ci_files":20.0,"cochange_share":0.1822,"cochange_commits":269.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/auto_lang.yml","ref":".github/workflows/auto_lang.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/beta_release.yml","ref":".github/workflows/beta_release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/changelog.yml","ref":".github/workflows/changelog.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_close_question.yml","ref":".github/workflows/issue_close_question.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_close_stale.yml","ref":".github/workflows/issue_close_stale.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_duplicate.yml","ref":".github/workflows/issue_duplicate.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_invalid.yml","ref":".github/workflows/issue_invalid.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_on_close.yml","ref":".github/workflows/issue_on_close.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue_question.yml","ref":".github/workflows/issue_question.yml","url":null,"weight":0.0}],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":122.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.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":3644.0,"other_lines":116422.0,"files_blamed":738.0,"blame_failures":0.0,"quality:ai_findings":5.0,"quality:ai_per_kloc":1.372,"quality:other_findings":195.0,"quality:other_per_kloc":1.675,"quality:ratio":0.82,"security:ai_findings":1.0,"security:ai_per_kloc":0.274,"security:other_findings":149.0,"security:other_per_kloc":1.28,"security:ratio":0.21},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}