python-jkey

maintainer imjiaoyuan · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged 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.

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:27 uv pip install --target "$pkgdir/$site_packages" portalocker
LOW AI review downgraded a static finding 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)
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:27 uv pip install --target "$pkgdir/$site_packages" portalocker

PKGBUILD

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

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)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion