lokstt
maintainer lokteam
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads pre-trained ML model files (non-executable data) from Hugging Face, a legitimate and widely used host; despite the non-whitelisted domain, the worst-case impact of a swapped source is limited to model tampering, not code execution.
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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads pre-trained ML model files (non-executable data) from Hugging Face, a legitimate and widely used host; despite the non-whitelisted domain, the worst-case impact of a swapped source is limited to model tampering, not code execution.
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:27
"ggml-tiny.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Al <lokteam@protonmail.com>
2
pkgname=lokstt
3
pkgver=1.0.0
4
pkgrel=1
5
pkgdesc="A blazing-fast and stylish GTK4 dictation daemon (CPU Backend)"
6
arch=('x86_64')
7
url="https://github.com/lokteam/lokstt"
8
license=('MIT')
9
depends=(
10
'gtk4'
11
'portaudio'
12
'alsa-lib'
13
'jack'
14
'whisper.cpp'
15
'ydotool'
16
'xdotool'
17
'wl-clipboard'
18
)
19
makedepends=('go' 'git' 'pkgconf')
20
conflicts=('lokstt-vulkan' 'lokstt-cuda')
21
provides=('lokstt')
22
options=("!debug")
23
install='lokstt.install'
24
25
source=(
26
"git+https://github.com/lokteam/lokstt.git"
27
"ggml-tiny.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin"
28
"ggml-base.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin"
29
"ggml-small.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin"
30
"ggml-medium-q5_0.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium-q5_0.bin"
31
"ggml-large-v3-turbo-q5_0.bin::https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo-q5_0.bin"
32
)
33
sha256sums=('SKIP'
34
'be07e048e1e599ad46341c8d2a135645097a538221678b7acdd1b1919c6e1b21'
35
'60ed5bc3dd14eea856493d334349b405782ddcaf0028d4b5df4088345fba2efe'
36
'1be3a9b2063867b937e64e2ec7483364a79917e157fa98c5d94b5c1fffea987b'
37
'19fea4b380c3a618ec4723c3eef2eb785ffba0d0538cf43f8f235e7b3b34220f'
38
'394221709cd5ad1f40c46e6031ca61bce88931e6e088c188294c6d5a55ffa7e2')
39
40
build() {
41
cd "lokstt"
42
export CGO_CXXFLAGS="-std=c++11"
43
GOSUMDB=off go build -o lokstt main.go
44
cd client
45
GOSUMDB=off go build -o lokstt-client main.go
46
}
47
48
package() {
49
install -Dm755 "lokstt/lokstt" "$pkgdir/usr/bin/lokstt"
50
install -Dm755 "lokstt/client/lokstt-client" "$pkgdir/usr/bin/lokstt-client"
51
install -Dm644 "lokstt/lokstt-settings.desktop" "$pkgdir/usr/share/applications/lokstt-settings.desktop"
52
53
# Install the systemd user service
54
install -Dm644 "lokstt/lokstt.service" "$pkgdir/usr/lib/systemd/user/lokstt.service"
55
install -d "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants"
56
ln -s "../lokstt.service" "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants/lokstt.service"
57
58
install -d "$pkgdir/usr/share/whisper-models"
59
install -Dm644 "$srcdir"/ggml-*.bin -t "$pkgdir/usr/share/whisper-models/"
60
}
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 |