dvorak-ukp
maintainer SERVCUBED
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a keyboard layout file (non-executable data) from the maintainer's personal domain; even if the host is not whitelisted, the worst-case impact of a swapped source is limited to layout changes, 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 a keyboard layout file (non-executable data) from the maintainer's personal domain; even if the host is not whitelisted, the worst-case impact of a swapped source is limited to layout changes, 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:11
source=('https://servc.eu/p/sslf/keymaps/dvorak-ukp.map.gz')
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Ben Blain <ben [AT] servc [DOT] eu>
2
pkgname=dvorak-ukp
3
pkgver=0.1
4
pkgrel=1
5
pkgdesc="dvorak-ukp, dvorak with UK punctuation"
6
arch=('any')
7
url="https://servc.eu/content/dvorak-uk-punctuation"
8
license=('GPL')
9
groups=('keyboardlayouts')
10
11
source=('https://servc.eu/p/sslf/keymaps/dvorak-ukp.map.gz')
12
noextract=('dvorak-ukp.map.gz')
13
14
md5sums=('810ef70b0bdc769e17f33166536d5737')
15
sha256sums=('04ce3ca883f287a38229376e0a4eb0036fce54d81de25d722ea20b232a1bd074')
16
17
build() {
18
mkdir -p "$pkgname-$pkgver"
19
cd "$pkgname-$pkgver"
20
21
mkdir -p usr/share/kbd/keymaps/i386/dvorak
22
23
cp $srcdir/../dvorak-ukp.map.gz usr/share/kbd/keymaps/i386/dvorak/dvorak-ukp.map.gz
24
}
25
26
package() {
27
cd "$pkgname-$pkgver"
28
29
cp -vr ./usr/ $pkgdir;
30
}
31
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 |