slic3r-dev
Triggered rules
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:32
wget -q --show-progress -O slic3r.tar.bz2 "https://dl.slic3r.org/dev/linux/slic3r-${_pkgver//_/-}-${sha:0:7}-linux-x64.tar.bz2"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary tarball at build time via wget in prepare() from dl.slic3r.org, using a commit SHA derived from the GitHub API response. This binary is not listed in source=() and has no checksum verification (no sha512sum entry for it). The domain dl.slic3r.org is the official Slic3r download server, not a random personal host, which reduces but does not eliminate risk. However, the core concern is real: (1) the binary is a prebuilt executable installed to /opt and run directly, (2) it is fetched outside of makepkg's integrity-checking framework (no checksum, not in source=), and (3) the SHA used to construct the URL comes from a GitHub API JSON response that is itself only SKIP-verified. If dl.slic3r.org were compromised or the domain expired/hijacked, arbitrary code would execute on the user's system. This is a genuine supply-chain concern — an executed binary from a host with no integrity verification — warranting a medium rating.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Dominic Meiser git at msrd0 dot de
pkgname=slic3r-dev
_pkgver=1.3.1_dev
pkgver=$_pkgver
pkgrel=4
pkgdesc="Development build of Slic3r, a 3D Printer Toolpath Generator"
arch=('x86_64')
url="https://slic3r.org"
license=('AGPL3')
depends=('freeglut' 'glu' 'gtk2' 'perl')
makedepends=('jq' 'wget')
conflicts=('slic3r' 'slic3r-git' 'slic3r-bin')
provides=('slic3r')
source=("master.json::https://api.github.com/repos/alexrj/slic3r/branches/master"
"slic3r.desktop")
sha512sums=('SKIP'
'0a3c840681077cf052fe7335d7275e2967d3f753082036f8a59bc1ab7b704874e481f33764a39ad4c481adc280ee3b9f594a0f3047659ef2c95aa708ead43593')
pkgver()
{
cd $srcdir
time=$(date --date=$(jq '.commit.commit.committer.date' master.json | tr -d '"') '+%Y%m%dT%H%M%S')
sha=$(jq '.commit.sha' master.json | tr -d '"')
echo "${_pkgver}.${time}.${sha:0:7}"
}
prepare()
{
cd $srcdir
sha=$(jq '.commit.sha' master.json | tr -d '"')
wget -q --show-progress -O slic3r.tar.bz2 "https://dl.slic3r.org/dev/linux/slic3r-${_pkgver//_/-}-${sha:0:7}-linux-x64.tar.bz2"
}
package()
{
cd $srcdir
install -d "$pkgdir/opt"
tar xfj slic3r.tar.bz2 -C "$pkgdir/opt/"
sed -i "$pkgdir/opt/Slic3r/Slic3r" -e 's/DIR=.*$/DIR=\/opt\/Slic3r/'
sed -i "$pkgdir/opt/Slic3r/Slic3r" -e 's/LD_LIBRARY_PATH=.*$/LD_LIBRARY_PATH=\/opt\/Slic3r\/bin/'
install -d "$pkgdir/usr/bin"
ln -s "/opt/Slic3r/Slic3r" "$pkgdir/usr/bin/slic3r"
install -d "$pkgdir/usr/share/applications"
install -m 644 $srcdir/slic3r.desktop "$pkgdir/usr/share/applications/"
}
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 |