vapoursynth-plugin-mlrt-ncnn-runtime
maintainer jholmer
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt Linux library and data files from a non-whitelisted host due to GitHub Actions access limitations, but the files are from the official project's release ecosystem and include verifiable checksums; the worst case of a swapped source is limited to code execution of the library, which is expected in AUR packages, but the context and checksums reduce risk.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt Linux library and data files from a non-whitelisted host due to GitHub Actions access limitations, but the files are from the official project's release ecosystem and include verifiable checksums; the worst case of a swapped source is limited to code execution of the library, which is expected in AUR packages, but the context and checksums reduce risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:26
"vsncnn-linux-x64.zip::https://files.bluefalcon.cc/vsncnn-linux-x64-v15.14.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Josh Holmer <jholmer.in@gmail.com>
2
3
_plug=mlrt
4
pkgname=vapoursynth-plugin-${_plug}-ncnn-runtime
5
pkgver=v15.14
6
pkgrel=2
7
pkgdesc="Plugin for VapourSynth: ${_plug} (Vulkan ncnn runtime)"
8
arch=('x86_64')
9
url='https://github.com/AmusementClub/vs-mlrt'
10
license=('GPL-3.0')
11
depends=('vapoursynth' 'protobuf' 'onnx' 'ncnn')
12
makedepends=('vapoursynth-api3-headers')
13
optdepends=()
14
provides=("vapoursynth-plugin-${_plug}")
15
conflicts=("vapoursynth-plugin-${_plug}")
16
17
# Why do I have to host this artifact (original source: https://github.com/AmusementClub/vs-mlrt/actions/runs/19187416567)
18
# on a separate server? Because:
19
# - We can't build the library from source without using custom versions of onnx and shit.
20
# - The maintainers of vs-mlrt only publish Windows binaries to their release tags, not Linux ones.
21
# - Apparently Github does not let you download Actions artifacts without being logged in.
22
# The last one of those being particularly stupid. It's a public artifact but you can't download it without a Github account.
23
# ANY Github account, even if it's not associated with AmusementClub.
24
# /rant
25
source=(
26
"vsncnn-linux-x64.zip::https://files.bluefalcon.cc/vsncnn-linux-x64-v15.14.zip"
27
"scripts.7z::https://github.com/AmusementClub/vs-mlrt/releases/download/v15.14/scripts.v15.14.7z"
28
"models.7z::https://github.com/AmusementClub/vs-mlrt/releases/download/v15.14/models.v15.14.7z"
29
)
30
sha256sums=(
31
'4bffbd7451a963ae68c6e4e59ea312baa16bb4d24019a4aac688f12df2c7d11a'
32
'19c6f89d2e34c714479b069290b1bae17e91ab3048f298264b8ab57cf0871849'
33
'08cd1361cf3cb68cec8db6c6ac58d69347e5bcfc039db3f8136cffb3940c36b0'
34
)
35
36
package() {
37
PLUGINDIR=$(python -c "import vapoursynth; print(vapoursynth.get_plugin_dir())")
38
39
# The cmake script puts the library inside a `lib` dir, which we don't want, so we have to install it manually
40
install -Dm755 "libvsncnn.so" "${pkgdir}${PLUGINDIR}/libvsncnn.so"
41
for i in $(find models* -type f); do install -Dm644 "${i}" "${pkgdir}${PLUGINDIR}/${i}"; done
42
43
install -Dm644 "vsmlrt.py" "${pkgdir}${PLUGINDIR}/vsmlrt.py"
44
}
45
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |