lokstt-vulkan
The package downloads model files from Hugging Face, a reputable source, which are used as data and not executed; the main code is built from a public Git repository, and the non-standard host is for non-executable assets, posing minimal risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads model files from Hugging Face, a reputable source, which are used as data and not executed; the main code is built from a public Git repository, and the non-standard host is for non-executable assets, posing minimal risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:28
"ggml-tiny.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Al <lokteam@protonmail.com>
pkgname=lokstt-vulkan
pkgver=1.0.0
pkgrel=1
pkgdesc="A blazing-fast and stylish GTK4 dictation daemon (Vulkan Backend for AMD/Intel)"
arch=('x86_64')
url="https://github.com/lokteam/lokstt"
license=('MIT')
depends=(
'gtk4'
'portaudio'
'alsa-lib'
'jack'
'whisper.cpp-vulkan'
'vulkan-icd-loader'
'ydotool'
'xdotool'
'wl-clipboard'
)
makedepends=('go' 'git' 'pkgconf' 'vulkan-headers')
conflicts=('lokstt' 'lokstt-cuda')
provides=('lokstt')
options=("!debug")
install='lokstt.install'
source=(
"git+https://github.com/lokteam/lokstt.git"
"ggml-tiny.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin"
"ggml-base.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin"
"ggml-small.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin"
"ggml-medium-q5_0.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium-q5_0.bin"
"ggml-large-v3-turbo-q5_0.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo-q5_0.bin"
)
sha256sums=('SKIP'
'be07e048e1e599ad46341c8d2a135645097a538221678b7acdd1b1919c6e1b21'
'60ed5bc3dd14eea856493d334349b405782ddcaf0028d4b5df4088345fba2efe'
'1be3a9b2063867b937e64e2ec7483364a79917e157fa98c5d94b5c1fffea987b'
'19fea4b380c3a618ec4723c3eef2eb785ffba0d0538cf43f8f235e7b3b34220f'
'394221709cd5ad1f40c46e6031ca61bce88931e6e088c188294c6d5a55ffa7e2')
build() {
cd "lokstt"
export CGO_CXXFLAGS="-std=c++11"
export CGO_CFLAGS="-DGGML_USE_VULKAN=1"
export CGO_LDFLAGS="-lvulkan"
GOSUMDB=off go build -o lokstt main.go
cd client
GOSUMDB=off go build -o lokstt-client main.go
}
package() {
install -Dm755 "lokstt/lokstt" "$pkgdir/usr/bin/lokstt"
install -Dm755 "lokstt/client/lokstt-client" "$pkgdir/usr/bin/lokstt-client"
install -Dm644 "lokstt/lokstt-settings.desktop" "$pkgdir/usr/share/applications/lokstt-settings.desktop"
# Install the systemd user service
install -Dm644 "lokstt/lokstt.service" "$pkgdir/usr/lib/systemd/user/lokstt.service"
install -d "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants"
ln -s "../lokstt.service" "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants/lokstt.service"
install -d "$pkgdir/usr/share/whisper-models"
install -Dm644 "$srcdir"/ggml-*.bin -t "$pkgdir/usr/share/whisper-models/"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |