libevdevc
Triggered rules
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:11
source=('https://apt.galliumos.org/pool/main/libe/libevdevc/libevdevc_3.0_amd64.deb')
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt binary .deb package from apt.galliumos.org, which is the GalliumOS project's own apt repository. GalliumOS is a legitimate Linux distribution based on Xubuntu targeting Chromebooks, and libevdevc is indeed a Chromium OS libevdev fork maintained under the hugegreenbug GitHub account. However, the concern is real: this is a prebuilt binary (not source-compiled) pulled from a third-party apt mirror rather than from the upstream GitHub releases or built from source. The md5sums check provides weak integrity verification (MD5 is cryptographically broken). If apt.galliumos.org were compromised or the package substituted, arbitrary native code would be installed. This is a genuine supply-chain concern — an executed binary from a non-primary, non-official host — which justifies MEDIUM. It is not HIGH because GalliumOS is a known legitimate project and the URL is consistent with the package's stated origin, but the pattern of installing prebuilt binaries from a third-party apt repo without source compilation or stronger integrity checks (e.g., SHA256/GPG) is a real risk.
PKGBUILD
1 offending line(s) highlightedpkgname=libevdevc
pkgdesc="Chromium OS libevdev"
pkgver=3.0
pkgrel=1
arch=(x86_64)
url="https://github.com/hugegreenbug/libevdevc"
license=('custom:chromiumos')
depends=('glibc')
options=('!emptydirs' '!strip')
source=('https://apt.galliumos.org/pool/main/libe/libevdevc/libevdevc_3.0_amd64.deb')
md5sums=('1ddbb17b9bc38e61441e85d82a72bcc4')
package() {
bsdtar -xf data.tar.xz -C "$pkgdir/"
install -Dm644 "$pkgdir"/usr/share/doc/libevdevc/copyright "$pkgdir"/usr/share/licenses/${pkgname}/LICENCE
}
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 |