python-libipld-git
Triggered rules
orphaned_readopted
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-sonnet-4.6) reviewed it and judged it HIGH (confidence 95%): The build() function executes 'sudo "$srcdir/hasher"' - a local script listed as a source with 'SKIP' checksum verification. This is a genuine high-risk pattern: (1) the script runs with full root privileges via sudo, (2) there is no integrity check (sha256sums='SKIP'), (3) the script is not fetched from any upstream URL - it's a local file that must exist in the PKGBUILD directory, meaning whoever controls the AUR repository controls what 'hasher' does with root access on the builder's machine. Additionally, the git source for the actual python-libipld package is never declared in the sources array, yet the build() and pkgver() functions reference '$_pkgname' directory - the package is also broken in that sense. The obfuscated contributor email and the 'recently orphaned & re-adopted' flag are additional concern signals. Executing an unverified, unchecked local script with sudo during a package build is a clear supply-chain attack vector regardless of what the script's stated purpose might be.
PKGBUILD
# Shellcheck: shell=bash
# -*- sh -*-
# Contributor: Klaus Alexander Seistrup <$(echo 0x1fd+d59decfa=40 | tr 0-9+a-f=x ka-i@p-u.l)>
pkgname='python-libipld-git'
_pkgname="${pkgname/-git/}"
pkgdesc='Fast Python library to work with IPLD: CAR, CID, DAG-CBOR, DAG-JSON, DAG-PB, multibase (development version)'
pkgver=3.4.1.r4.g88fe80f
pkgrel=1
url='https://github.com/MarshalX/python-libipld'
arch=('aarch64' 'x86_64')
license=('MIT')
makedepends=(
'git'
'python-build'
'python-installer'
'python-maturin'
'python-wheel'
)
depends=(
'glibc'
'libgcc'
'python'
)
provides=("$_pkgname")
conflicts=("${provides[@]}")
source=(
'hasher'
)
sha256sums=(
'SKIP'
)
pkgver() {
cd "$_pkgname"
git describe --tags --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
sudo "$srcdir/hasher"
cd "$_pkgname"
export PYTHONWARNINGS=ignore
python -m build --wheel --no-isolation
}
package() {
cd "$_pkgname"
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
for _dir in doc licenses; do
pushd "$pkgdir/usr/share/$_dir"
ln -fsr "$pkgname" "$_pkgname"
popd
done > /dev/null
}
# eof
Changes since previous scan
--- PKGBUILD @ 2026-07-18 15:58+++ PKGBUILD @ 2026-08-03 00:08@@ -25,8 +25,12 @@ ) provides=("$_pkgname") conflicts=("${provides[@]}")-source=("git+$url.git")-sha256sums=('SKIP')+source=(+ 'hasher'+)+sha256sums=(+ 'SKIP'+) pkgver() { cd "$_pkgname"@@ -35,6 +39,7 @@ } build() {+ sudo "$srcdir/hasher" cd "$_pkgname" export PYTHONWARNINGS=ignore@@ -58,3 +63,4 @@ # eof +Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | HIGH | 2 |
| 2026-08-02 00:16:08 | HIGH | 2 |
| 2026-08-01 00:11:18 | HIGH | 2 |
| 2026-07-31 00:14:10 | HIGH | 2 |
| 2026-07-30 23:19:23 | HIGH | 2 |
| 2026-07-30 23:17:02 | HIGH | 2 |
| 2026-07-30 17:15:21 | MEDIUM | 1 |
| 2026-07-18 15:58:03 | CLEAN | 0 |
| 2026-06-18 16:11:54 | CLEAN | 0 |