icesl-beta
This PKGBUILD downloads a prebuilt binary from icesl.loria.fr (LORIA, a French research institute, which is the legitimate upstream for IceSL). The URL uses a PHP download script with query parameters to select the build, which is a common pattern for research software distribution portals. The domain matches the official project URL listed in the 'url' field. However, the concerns are real: (1) a prebuilt binary is downloaded and installed directly without compilation from source, (2) the download is via a dynamic PHP script rather than a static file, making the checksum less reliably tied to a specific artifact (the server could theoretically serve different content), and (3) the sha512sum has only 127 hex characters instead of the required 128, suggesting a truncated/corrupted checksum that would fail verification. The truncated checksum is the most concrete issue — it means integrity verification may not work correctly. Overall this is a medium-risk pattern: official-looking upstream host but prebuilt binary with a potentially broken checksum.
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:14
source=("https://icesl.loria.fr/assets/other/download.php?build=${pkgver//_/-}&version=beta&os=amd64")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt binary from icesl.loria.fr (LORIA, a French research institute, which is the legitimate upstream for IceSL). The URL uses a PHP download script with query parameters to select the build, which is a common pattern for research software distribution portals. The domain matches the official project URL listed in the 'url' field. However, the concerns are real: (1) a prebuilt binary is downloaded and installed directly without compilation from source, (2) the download is via a dynamic PHP script rather than a static file, making the checksum less reliably tied to a specific artifact (the server could theoretically serve different content), and (3) the sha512sum has only 127 hex characters instead of the required 128, suggesting a truncated/corrupted checksum that would fail verification. The truncated checksum is the most concrete issue — it means integrity verification may not work correctly. Overall this is a medium-risk pattern: official-looking upstream host but prebuilt binary with a potentially broken checksum.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Colin Arnott <colin@urandom.co.uk>
# Contributer: Salim Perchy <yamil-salim.perchy@inria.fr>
pkgname=icesl-beta
pkgver=2.5.0_beta3
pkgrel=1
pkgdesc="A GPU accelerated modeler and slicer for 3D printing"
arch=('x86_64')
url="http://shapeforge.loria.fr/icesl/"
license=('custom')
conflicts=('icesl')
provides=('icesl')
depends=('qt4' 'freeglut' 'glu' 'libpng' 'zlib' 'freetype2' 'libxext' 'perl')
source=("https://icesl.loria.fr/assets/other/download.php?build=${pkgver//_/-}&version=beta&os=amd64")
sha512sums=('045a6f190422383e0f8418a940bffd9f19e2af6b936febe0a57a99236a7c35d21fb85c9657baf36812479c5ff58975c5c8cd79c8565285eb849ec5d7bd1fc9b8')
package() {
mkdir -p $pkgdir/usr/{,bin,share{,/licenses}/${pkgname%-beta}}
cp -a $srcdir/${pkgname%-beta}/ $pkgdir/usr/share/
ln -s /usr/share/${pkgname%-beta}/copyright $pkgdir/usr/share/licenses/${pkgname%-beta}/LICENSE
ln -s /usr/share/${pkgname%-beta}/bin/IceSL-slicer $pkgdir/usr/bin/${pkgname%-beta}
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |