python-jkey
Triggered rules
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:27
uv pip install --target "$pkgdir/$site_packages" portalocker
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from a source tarball of the project's own GitHub repository and installs a wheel; the only external install is 'portalocker' via uv, which is a direct dependency install from PyPI, a standard and trusted source, not a malicious or ambiguous payload.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:27
uv pip install --target "$pkgdir/$site_packages" portalocker
PKGBUILD
1 offending line(s) highlightedpkgname=python-jkey
pkgver=0.3.2
pkgrel=2
pkgdesc="Python library for password management and TOTP verification"
arch=('any')
url="https://github.com/imjiaoyuan/jkey"
license=('MIT')
depends=('python>=3.10')
optdepends=('python-opencv: QR code scanning for jkey 2fa add')
makedepends=('python-build' 'python-installer' 'python-wheel' 'python-setuptools>=61.0' 'uv')
options=('!strip' '!debug')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
sha256sums=('a9acf6e0aa40407c5cc08bef2ee0cbd90e841ca0e3b01429f7f01b2942a78207')
build() {
cd "jkey-$pkgver"
python -m build --wheel --no-isolation
}
package() {
cd "jkey-$pkgver"
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
python -m installer --destdir="$pkgdir" dist/*.whl
uv pip install --target "$pkgdir/$site_packages" portalocker
rm -f "$pkgdir/$site_packages/.lock"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
Changes since previous scan
--- PKGBUILD @ 2026-07-15 09:48+++ PKGBUILD @ 2026-08-03 00:08@@ -1,15 +1,16 @@ pkgname=python-jkey-pkgver=0.3.1-pkgrel=1+pkgver=0.3.2+pkgrel=2 pkgdesc="Python library for password management and TOTP verification" arch=('any') url="https://github.com/imjiaoyuan/jkey" license=('MIT')-depends=('python>=3.10' 'python-opencv>=4.9.0')+depends=('python>=3.10')+optdepends=('python-opencv: QR code scanning for jkey 2fa add') makedepends=('python-build' 'python-installer' 'python-wheel' 'python-setuptools>=61.0' 'uv') options=('!strip' '!debug') source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")-sha256sums=('8c3c7328328dabd76d11acdf2b8cf1bd5b2239c0553c236f342ea72b7b493d63')+sha256sums=('a9acf6e0aa40407c5cc08bef2ee0cbd90e841ca0e3b01429f7f01b2942a78207') build() { cd "jkey-$pkgver"@@ -23,6 +24,9 @@ python -m installer --destdir="$pkgdir" dist/*.whl + uv pip install --target "$pkgdir/$site_packages" portalocker+ rm -f "$pkgdir/$site_packages/.lock"+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 3 |
| 2026-08-02 00:16:08 | LOW | 3 |
| 2026-08-01 00:11:18 | LOW | 3 |
| 2026-07-31 00:14:10 | LOW | 3 |
| 2026-07-30 00:17:23 | LOW | 3 |
| 2026-07-29 00:25:53 | LOW | 3 |
| 2026-07-28 00:07:28 | LOW | 3 |
| 2026-07-27 00:24:32 | LOW | 3 |
| 2026-07-26 00:07:32 | LOW | 3 |
| 2026-07-25 00:13:44 | LOW | 3 |
| 2026-07-24 00:02:28 | LOW | 3 |
| 2026-07-23 00:14:47 | LOW | 3 |
| 2026-07-22 09:20:02 | MEDIUM | 2 |
| 2026-07-15 09:48:24 | CLEAN | 0 |
| 2026-07-14 09:44:53 | CLEAN | 0 |
| 2026-07-10 13:35:01 | CLEAN | 0 |
| 2026-06-28 08:32:16 | CLEAN | 2 |
| 2026-06-23 14:16:56 | CLEAN | 2 |
| 2026-06-23 12:16:26 | CLEAN | 2 |