python-sentry_crashpad
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:12
pip install --no-deps --target="sentry_crashpad" sentry_crashpad==0.7.17.1
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed it and judged it MEDIUM (confidence 82%): The PKGBUILD installs a Python package directly from PyPI using pip without any source verification (no checksums, no source array, no integrity check). The package 'sentry_crashpad' is pulled from PyPI at build time, meaning whatever is currently published under that name/version on PyPI gets installed. While PyPI is a legitimate ecosystem mirror, this pattern bypasses Arch's normal source integrity mechanisms (no source=() array, no sha256sums). More importantly, sentry_crashpad is a C++ crash reporting library that ships pre-compiled native binaries inside the wheel — these are executed binaries from a third-party PyPI package maintained by 'EndstoneMC', not the official Sentry organization. The package URL points to a personal/project GitHub (EndstoneMC/sentry-crashpad), not the official getsentry/sentry-native upstream. Installing pre-compiled native binaries from an unofficial PyPI package without any integrity verification is a genuine supply-chain concern: if the PyPI package is compromised or typosquatted, arbitrary native code executes on the user's system. This is a real medium-severity supply-chain risk, not a false positive.
PKGBUILD
1 offending line(s) highlighted# Maintainer: FTS427 <FTS427@outlook.com>
# Python package author: Vincent <magicdroidx@gmail.com>
pkgname=python-sentry_crashpad
pkgver=0.7.17.1
pkgrel=2
pkgdesc="An open-source multiplatform crash reporting system written in C++ by Google"
arch=(any)
url="https://github.com/EndstoneMC/sentry-crashpad"
license=('Apache-2.0')
makedepends=('python' 'python-pip')
build() {
pip install --no-deps --target="sentry_crashpad" sentry_crashpad==0.7.17.1
}
package() {
sitepackages=$(python -c "import site; print(site.getsitepackages()[0])")
mkdir -p "$pkgdir/$sitepackages"
cp -r "$srcdir/sentry_crashpad/*" "$pkgdir/$sitepackages"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |