lbry-sdk

maintainer orphaned · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD uses `pip install pyinstaller` during the build phase without pinning a version or providing a checksum, pulling an arbitrary version of pyinstaller from PyPI at build time. While PyPI is a legitimate ecosystem mirror, installing an unpinned external package during build is a real supply-chain concern: a compromised or typosquatted pyinstaller release could execute arbitrary code during the build, and the resulting binary (a PyInstaller-bundled single-file executable) is then installed directly to /usr/bin/lbrynet. The risk is compounded by the use of `|| true` on patches (masking patch failures silently) and the fact that the final installed artifact is a compiled binary whose contents depend on the unverified pip-fetched tool. This is a genuine medium-severity supply-chain concern, not a false positive.

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:33 pip install pyinstaller
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 uses `pip install pyinstaller` during the build phase without pinning a version or providing a checksum, pulling an arbitrary version of pyinstaller from PyPI at build time. While PyPI is a legitimate ecosystem mirror, installing an unpinned external package during build is a real supply-chain concern: a compromised or typosquatted pyinstaller release could execute arbitrary code during the build, and the resulting binary (a PyInstaller-bundled single-file executable) is then installed directly to /usr/bin/lbrynet. The risk is compounded by the use of `|| true` on patches (masking patch failures silently) and the fact that the final installed artifact is a compiled binary whose contents depend on the unverified pip-fetched tool. This is a genuine medium-severity supply-chain concern, not a false positive.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: missing <liri_bucketful at slmail dot me>
2pkgname=lbry-sdk
3pkgver=0.112.0
4pkgrel=1
5pkgdesc="The LBRY SDK for building decentralized, censorship resistant, monetized, digital content apps."
6arch=('x86_64')
7url="https://github.com/lbryio/lbry-sdk"
8license=('MIT')
9makedepends=('git' 'cmake' 'python')
10provides=('lbrynet')
11conflicts=('lbrynet')
12options=('!buildflags')
13source=("${pkgname}-${pkgver}.tar.gz::https://github.com/lbryio/lbry-sdk/archive/refs/tags/v${pkgver}.tar.gz"
14 "lbry-sdk-${pkgver}.patch"
15 'lbry-venv.patch')
16sha256sums=('bc1466b1ef99ffacbb7ee1ef5df301a6c9ce86c2df505de714ba5db69839c2ce'
17 '6d7ae523b05dab708f7bcb6fe0ea6d0008512cc1d895202204dfacfccb27d83d'
18 '053e7f128eb0ab4e5637f94a3a08af3a80c851b57f4eab26710ec1c85bcce6e7')
19
20build() {
21 python -m venv lbry-venv
22 source lbry-venv/bin/activate
23
24 patch --strip=0 --input="lbry-sdk-${pkgver}.patch" || true
25 cd "lbry-sdk-${pkgver}"
26 make install
27
28 cd ..
29 patch --strip=0 --input=lbry-venv.patch || true
30
31 mkdir build
32 cd build
33 pip install pyinstaller
34 pyinstaller --onefile --name lbrynet "../lbry-sdk-${pkgver}/lbry/extras/cli.py"
35}
36
37package() {
38 install -Dm755 "${srcdir}/build/dist/lbrynet" "${pkgdir}/usr/bin/lbrynet"
39 install -Dm644 "${srcdir}/lbry-sdk-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
40}
41

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