pyinstxtractor-ng-git
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 72%): The PKGBUILD pulls pyinstxtractor-ng from its official GitHub repository (github.com/pyinstxtractor/pyinstxtractor-ng-git) and uses uv to install pyinstaller from PyPI solely as a build tool to bundle the Python script into a standalone binary. PyInstaller is a well-known, widely-used PyPI package. The resulting installed artifact is a single compiled binary placed in /usr/bin. While installing an unversioned/unpinned PyPI package at build time is not ideal from a reproducibility standpoint, this is a standard pattern for packaging Python tools and does not represent a meaningful supply-chain risk beyond what any PyPI-dependent package carries. The cheaper model's MEDIUM rating is a false positive — there is no unofficial or personal host involved, no obfuscation, and no executed binary from an untrusted source. The main concern is the lack of a pinned pyinstaller version, which is a low-severity packaging quality issue.
2 higher static findings superseded - not the current verdict (shown for transparency)
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:25
uv pip install pyinstaller
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:25
uv pip install pyinstaller
PKGBUILD
1 offending line(s) highlighted# Maintainer: oldkingOK <oldkingok.creeper@gmail.com>
pkgname=pyinstxtractor-ng-git
_pkgname="${pkgname%-git}"
pkgver=r28.b733293
pkgrel=1
pkgdesc="PyInstaller Extractor Next Generation"
arch=('any')
license=('GPL-3.0-only')
makedepends=('uv')
_main_py="pyinstxtractor_ng.py"
_main="${_pkgname}"
url="https://github.com/pyinstxtractor/${_pkgname}"
source=("git+${url}.git")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/${_pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
package() {
cd "${srcdir}/${_pkgname}"
uv sync
source .venv/bin/activate
uv pip install pyinstaller
pyinstaller -F pyinstxtractor_ng.py --name pyinstxtractor-ng
install -Dm755 "${srcdir}/${_pkgname}/dist/${_main}" "${pkgdir}/usr/bin/${_main}"
}
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 00:29:32 | LOW | 3 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 00:05:41 | LOW | 3 |
| 2026-07-15 00:09:25 | LOW | 3 |