ghost-dl-git

maintainer TheElevatedOne · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD clones a personal GitHub repo and uses pip to install unverified dependencies from requirements.txt (no pinned hashes, no integrity checks) and Nuitka, then compiles a standalone binary with Nuitka --onefile which bundles all dependencies into a single opaque executable installed to /usr/bin. The core concern is: (1) pip installs from PyPI without hash verification, meaning any of those packages could be compromised or typosquatted; (2) Nuitka --onefile produces a self-extracting binary that bundles all Python code, making the final artifact opaque and hard to audit; (3) the source is a personal/unofficial GitHub repo with no signed tags (sha256sums=SKIP). This is a genuine supply-chain concern — unverified pip dependencies compiled into an executed binary from an unofficial host — which fits the medium classification. It is not clearly malicious, but the combination of unverified pip installs + opaque compiled binary output is a real risk pattern.

Triggered rules

MEDIUM pip install of an external package pip_install_external

`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:34 pip install -r requirements.txt
  • PKGBUILD:35 pip install nuitka
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD clones a personal GitHub repo and uses pip to install unverified dependencies from requirements.txt (no pinned hashes, no integrity checks) and Nuitka, then compiles a standalone binary with Nuitka --onefile which bundles all dependencies into a single opaque executable installed to /usr/bin. The core concern is: (1) pip installs from PyPI without hash verification, meaning any of those packages could be compromised or typosquatted; (2) Nuitka --onefile produces a self-extracting binary that bundles all Python code, making the final artifact opaque and hard to audit; (3) the source is a personal/unofficial GitHub repo with no signed tags (sha256sums=SKIP). This is a genuine supply-chain concern — unverified pip dependencies compiled into an executed binary from an unofficial host — which fits the medium classification. It is not clearly malicious, but the combination of unverified pip installs + opaque compiled binary output is a real risk pattern.

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Adam 'TheElevatedOne' Mladý <admin@elevated.ovh> -> https://github.com/TheElevatedOne
2
3pkgname=ghost-dl-git
4pkgver=v1.1.4
5pkgrel=1
6pkgdesc="Kingdom Hearts Insider Game OST Archive Dowloader CLI"
7arch=('x86_64')
8url="https://github.com/TheElevatedOne/ghost-dl"
9license=('GPL3')
10depends=('glibc' 'gcc' 'python' 'python-pip')
11options=('!debug' '!strip')
12makedepends=(
13 'git'
14 'clang'
15 'patchelf'
16 'ccache'
17)
18provides=(ghost-dl-git)
19conflicts=(ghost-dl-bin)
20source=("git+https://github.com/TheElevatedOne/ghost-dl.git#branch=main")
21sha256sums=("SKIP")
22
23pkgver() {
24 cd ghost-dl
25 git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
26 cd ..
27}
28
29build() {
30 set -e
31 cd ghost-dl
32 python -m venv venv
33 source venv/bin/activate
34 pip install -r requirements.txt
35 pip install nuitka
36 if ! ls build; then mkdir build; fi
37 python -m nuitka --onefile --follow-imports --main=ghost_dl.py --output-dir=build --output-filename=ghost-dl
38 deactivate
39 rm -rf venv
40 rm -rf build/ghost_dl.build build/ghost_dl.dist build/ghost_dl.onefile-build
41 cd ..
42}
43
44package() {
45 set -e
46 cd ghost-dl
47
48 install -Dm755 build/ghost-dl "$pkgdir/usr/bin/ghost-dl"
49 install -D LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
50}
51

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 2
2026-08-02 00:16:08 MEDIUM 2
2026-08-01 00:11:18 MEDIUM 2
2026-07-31 00:14:10 MEDIUM 2
2026-07-30 00:17:23 MEDIUM 2
2026-07-29 00:25:53 MEDIUM 2
2026-07-28 00:07:28 MEDIUM 2
2026-07-27 00:24:32 MEDIUM 2
2026-07-26 00:07:32 MEDIUM 2
2026-07-25 00:13:44 MEDIUM 2
2026-07-24 00:02:28 MEDIUM 2
2026-07-23 00:14:47 MEDIUM 2
2026-07-22 00:29:32 MEDIUM 2
2026-07-21 00:24:15 MEDIUM 2
2026-07-20 00:19:49 MEDIUM 2
2026-07-19 00:17:08 MEDIUM 2
2026-07-18 00:14:48 MEDIUM 2
2026-07-17 00:06:16 MEDIUM 2
2026-07-16 00:05:41 MEDIUM 2
2026-07-15 00:09:25 MEDIUM 2

Report a package

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

0 / 4000
Your suggestion