tinmop-git

LOW
maintainer orphaned 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads sources from non-whitelisted hosts, but they are part of the project's normal build process: a git repository, Quicklisp Lisp installer (used to fetch dependencies in a sandbox), and a referenced git submodule; all are used to build the software from source, not to run untrusted prebuilt binaries or exfiltrate data.

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 sources from non-whitelisted hosts, but they are part of the project's normal build process: a git repository, Quicklisp Lisp installer (used to fetch dependencies in a sandbox), and a referenced git submodule; all are used to build the software from source, not to run untrusted prebuilt binaries or exfiltrate data.

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:16 'https://beta.quicklisp.org/quicklisp.lisp'

PKGBUILD

1 offending line(s) highlighted
1
2# Maintainer: Andrea Feletto <andrea@andreafeletto.com>
3
4pkgname=tinmop-git
5_pkgname=${pkgname%-*}
6pkgver=v0.9.2.r179.g662ff56
7pkgrel=1
8pkgdesc='Opinionated TUI client for gemini, pleroma and kami'
9arch=('x86_64')
10url='https://www.autistici.org/interzona/tinmop.html'
11license=('GPL3')
12depends=('openssl' 'sbcl' 'unzip')
13makedepends=('git' 'gettext' 'sbcl')
14source=(
15 "git+https://notabug.org/cage/$_pkgname.git"
16 'https://beta.quicklisp.org/quicklisp.lisp'
17 'https://beta.quicklisp.org/quicklisp.lisp.asc'
18 'git+https://github.com/McParen/croatoan'
19)
20sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP')
21validpgpkeys=('D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7')
22options=('!strip')
23
24prepare() {
25 cd "$srcdir"
26
27 commit_hash=$(grep CROATOAN_COMMIT= "$_pkgname/quick_quicklisp.sh.in")
28 commit_hash=$(printf '%s\n' "$commit_hash" | cut -d= -f2)
29
30 cd "$srcdir/croatoan"
31 git checkout "$commit_hash"
32}
33
34pkgver() {
35 cd "$srcdir/$_pkgname"
36 git describe --long | sed 's/-/.r/;s/-/./'
37}
38
39_install_lisp_deps() {
40 cd "$srcdir"
41
42 sbcl_args=''
43
44 if [ -r "quicklisp/setup.lisp" ]; then
45 sbcl_args="$sbcl_args --load quicklisp/setup.lisp"
46 else
47 sbcl_args="$sbcl_args --load quicklisp.lisp"
48 sbcl_args="$sbcl_args --eval \
49 '(quicklisp-quickstart:install :path \"quicklisp\")'"
50 fi
51
52 while read -r dep; do
53 sbcl_args="$sbcl_args --eval '(ql:quickload \"$dep\")'"
54 done < "$_pkgname/lisp-dependencies"
55
56 sbcl_args="$sbcl_args --eval '(sb-ext:quit)'"
57 eval "sbcl --no-userinit $sbcl_args"
58
59 ln -sft quicklisp/local-projects "$srcdir/croatoan"
60
61 printf '(load "%s/quicklisp/setup.lisp")' "$srcdir" > sbclrc
62}
63
64build() {
65 _install_lisp_deps
66
67 cd "$srcdir/$_pkgname"
68 autoreconf -fiv
69 ./configure --prefix='/usr' --sysconfdir='/etc'
70
71
72 sed -i "s%LISP_COMPILER = .*%LISP_COMPILER = sbcl \
73 --userinit '$srcdir/sbclrc'%" Makefile
74 make
75}
76
77package() {
78 cd "$srcdir/$_pkgname"
79 make DESTDIR="$pkgdir/" install
80 install -Dm644 LICENSES.org -t "$pkgdir/usr/share/licenses/$_pkgname"
81}
82

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
2026-09-15 00:25:31 Low 2
2026-09-14 00:27:57 Low 2
2026-09-13 00:19:54 Low 2
2026-09-12 00:25:17 Low 2
2026-09-11 00:19:22 Low 2
2026-09-10 00:22:44 Low 2
2026-09-09 00:04:09 Low 2
2026-09-08 00:18:08 Low 2
2026-09-07 00:30:15 Low 2
2026-09-06 00:17:06 Low 2
2026-09-05 00:16:27 Low 2
2026-09-04 00:03:13 Low 2
2026-09-03 00:15:47 Low 2
2026-09-02 00:02:31 Low 2
2026-09-01 00:11:19 Low 2
2026-08-31 00:19:57 Low 2
2026-08-30 00:04:14 Low 2
2026-08-29 00:29:17 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion