python-jkey

MEDIUM
maintainer imjiaoyuan 0 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The package installs an external Python dependency (portalocker) via 'uv pip install' during packaging, which introduces a supply-chain risk as the source and integrity of the downloaded package are not verified or pinned in the PKGBUILD.

Triggered rules

Low 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. Severity reduced: python-* packages routinely use pip.

  • PKGBUILD:29 uv pip install --target "$pkgdir/$site_packages" portalocker
Medium External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:29 uv pip install --target "$pkgdir/$site_packages" portalocker
Medium AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package installs an external Python dependency (portalocker) via 'uv pip install' during packaging, which introduces a supply-chain risk as the source and integrity of the downloaded package are not verified or pinned in the PKGBUILD.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: imjiaoyuan <imjiaoyuan@gmail.com>
2
3pkgname=python-jkey
4pkgver=0.3.2
5pkgrel=2
6pkgdesc="Python library for password management and TOTP verification"
7arch=('any')
8url="https://github.com/imjiaoyuan/jkey"
9license=('MIT')
10depends=('python>=3.10')
11optdepends=('python-opencv: QR code scanning for jkey 2fa add')
12makedepends=('python-build' 'python-installer' 'python-wheel' 'python-setuptools>=61.0' 'uv')
13options=('!strip' '!debug')
14source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
15sha256sums=('a9acf6e0aa40407c5cc08bef2ee0cbd90e841ca0e3b01429f7f01b2942a78207')
16
17build() {
18 cd "jkey-$pkgver"
19 python -m build --wheel --no-isolation
20}
21
22package() {
23 cd "jkey-$pkgver"
24
25 local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
26
27 python -m installer --destdir="$pkgdir" dist/*.whl
28
29 uv pip install --target "$pkgdir/$site_packages" portalocker
30 rm -f "$pkgdir/$site_packages/.lock"
31
32 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
33}
34

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Medium 3
2026-10-31 00:07:41 Medium 3
2026-10-30 00:29:30 Medium 3
2026-10-29 00:13:55 Medium 3
2026-10-28 00:06:54 Medium 3
2026-10-27 00:23:28 Medium 3
2026-10-26 00:12:40 Medium 3
2026-10-25 00:20:48 Medium 3
2026-10-24 00:14:55 Medium 3
2026-10-23 00:02:19 Medium 3
2026-10-22 00:13:10 Medium 3
2026-10-21 00:12:50 Medium 3
2026-10-20 00:10:31 Medium 3
2026-10-19 00:03:55 Medium 3
2026-10-18 00:06:55 Medium 3
2026-10-17 00:21:55 Medium 3
2026-10-16 00:12:47 Medium 3
2026-10-15 00:28:05 Medium 3
2026-10-14 00:06:47 Medium 3
2026-10-13 00:23:45 Medium 3

Report a package

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

0 / 4000
Your suggestion