easel-driver
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:10
source=(https://s3.amazonaws.com/easel-prod/paperclip/sender_version_linux_installers/46/original/EaselDriver-$pkgver-x64.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 from an S3 bucket (easel-prod on amazonaws.com) belonging to Inventables, the legitimate vendor of the Easel/X-Carve product. The URL structure (paperclip/sender_version_linux_installers) is consistent with a Rails/Paperclip file attachment host used by Inventables. However, the source is a prebuilt binary blob extracted and installed directly without any signature verification beyond a weak MD5 checksum. MD5 is cryptographically broken and provides no meaningful integrity guarantee against a determined attacker. The binary is executed/installed as a system driver. While the S3 bucket appears to be the official vendor host and there is no evidence of malice, the combination of: (1) a prebuilt binary from a cloud storage bucket rather than a proper release page with GPG signatures, (2) only MD5 integrity checking, and (3) direct installation of extracted binary content constitutes a genuine supply-chain concern. If the S3 bucket were compromised or the object replaced, the MD5 would not protect users. This is a real medium-severity concern, not a false positive.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Joe Balough <scallopedllama@gmail.com>
pkgname=easel-driver
pkgver=0.3.20
pkgrel=1
pkgdesc="Driver used to communicate between Easel and X-Carve or Carvey"
arch=('x86_64')
url="https://easel.inventables.com/downloads"
license=('unknown')
install='install.sh'
source=(https://s3.amazonaws.com/easel-prod/paperclip/sender_version_linux_installers/46/original/EaselDriver-$pkgver-x64.deb)
noextract=()
md5sums=('bb32b33b2c446efcc31cb50f75504e2c')
prepare() {
rm -rf "$srcdir/root"
mkdir "$srcdir/root"
cd "$srcdir/root"
tar -xf ../data.tar.xz
}
package() {
cd "$srcdir/root"
cp -rfv * "$pkgdir/"
}
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 |