shroomie-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 85%): The PKGBUILD pulls pexpect from PyPI via pip during build(), but this is a well-known, widely-used Python package on the official PyPI registry, not an unofficial or personal host. The real issue is that it's redundant and sloppy: python-pexpect is already listed as a runtime dependency (which means it's available from the official Arch repos), so the pip install is unnecessary and installs a duplicate copy into the package. There's no checksum on the pip-installed package, which is mildly concerning from a supply-chain hygiene standpoint, but PyPI is a standard, trusted ecosystem mirror for Python packages. This is a packaging quality issue (redundant pip install of an already-declared dependency, no hash pinning) rather than a genuine supply-chain threat. The source is a git repo with SKIP checksum, which is standard for -git packages. Overall: sloppy packaging, not a security risk.
1 higher static finding 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:22
python -m pip install --no-deps --ignore-installed --target="${srcdir}/python-packages" pexpect>=4.9.0
PKGBUILD
1 offending line(s) highlighted# Maintainer: snow-arc
pkgname=shroomie-git
pkgver=r22.f7545c4
pkgrel=1
pkgdesc="A friendly AUR package manager with a simple GUI"
arch=('x86_64')
url="https://github.com/snow-arc/shroomie"
license=('MIT')
depends=('python>=3.8' 'python-pip' 'python-pyqt6' 'python-pexpect' 'git' 'base-devel')
makedepends=('python-setuptools' 'python-wheel')
source=("git+${url}.git")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/shroomie"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "${srcdir}/shroomie"
# Create temporary directory for Python packages
mkdir -p "${srcdir}/python-packages"
python -m pip install --no-deps --ignore-installed --target="${srcdir}/python-packages" pexpect>=4.9.0
}
package() {
cd "${srcdir}/shroomie"
# Create directories
install -dm755 "${pkgdir}/usr/bin"
install -dm755 "${pkgdir}/usr/lib/shroomie"
# Copy Python packages from build
cp -r "${srcdir}/python-packages"/* "${pkgdir}/usr/lib/shroomie/"
# Copy project files
cp -r components config models resources services ui utils "${pkgdir}/usr/lib/shroomie/"
install -Dm755 main.py "${pkgdir}/usr/lib/shroomie/"
install -Dm644 README.md "${pkgdir}/usr/share/doc/shroomie/README.md"
install -Dm644 "${startdir}/requirements.txt" "${pkgdir}/usr/share/doc/shroomie/requirements.txt"
# Create launcher script with python3
cat > "${pkgdir}/usr/bin/shroomie" << EOF
#!/bin/sh
exec python3 /usr/lib/shroomie/main.py "\$@"
EOF
chmod 755 "${pkgdir}/usr/bin/shroomie"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |