python-jkey

MEDIUM
maintainer imjiaoyuan 0 votes scanned 2026-09-17 00:27:14.276658
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-09-17 00:27:14 Medium 3
2026-09-16 00:03:17 Medium 3
2026-09-15 00:25:31 Medium 3
2026-09-14 00:27:57 Medium 3
2026-09-13 00:19:54 Medium 3
2026-09-12 00:25:17 Medium 3
2026-09-11 00:19:22 Medium 3
2026-09-10 00:22:44 Medium 3
2026-09-09 00:04:09 Medium 3
2026-09-08 00:18:08 Medium 3
2026-09-07 00:30:15 Medium 3
2026-09-06 00:17:06 Medium 3
2026-09-05 00:16:27 Medium 3
2026-09-04 00:03:13 Medium 3
2026-09-03 00:15:47 Medium 3
2026-09-02 00:02:31 Medium 3
2026-09-01 00:11:19 Medium 3
2026-08-31 00:19:57 Medium 3
2026-08-30 00:04:14 Medium 3
2026-08-29 00:29:17 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