phratch
The PKGBUILD downloads a prebuilt binary archive (Phratch4.1-linux.zip) from phratch.com, which is the official project website for Phratch. The archive is unpacked and a binary ('phratch') is symlinked into /usr/bin, meaning the downloaded content is directly executed. There is a fixed md5sum checksum, which provides some integrity guarantee but MD5 is cryptographically weak. The host (phratch.com) is the upstream vendor's own domain, not a random personal host, which reduces but does not eliminate supply-chain risk. There are also minor issues: a duplicate 'source=' line (the first one referencing a local file that doesn't exist), and use of MD5 rather than SHA256. Overall this is a real medium-severity concern: a prebuilt executable from a small, unofficial project host with only MD5 verification, but not clearly malicious.
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:15
source=('Phratch.zip::http://phratch.com/download/Phratch4.1-linux.zip' 'phratch.desktop')
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 archive (Phratch4.1-linux.zip) from phratch.com, which is the official project website for Phratch. The archive is unpacked and a binary ('phratch') is symlinked into /usr/bin, meaning the downloaded content is directly executed. There is a fixed md5sum checksum, which provides some integrity guarantee but MD5 is cryptographically weak. The host (phratch.com) is the upstream vendor's own domain, not a random personal host, which reduces but does not eliminate supply-chain risk. There are also minor issues: a duplicate 'source=' line (the first one referencing a local file that doesn't exist), and use of MD5 rather than SHA256. Overall this is a real medium-severity concern: a prebuilt executable from a small, unofficial project host with only MD5 verification, but not clearly malicious.
PKGBUILD
1 offending line(s) highlighted# Contributor: Erick Pires <rckkas@gmail.com>
# Contributor: Laurent Laffont <laurent.laffont@gmail.com>
pkgname=phratch
pkgver=4.1
pkgrel=1
pkgdesc="Phratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web. Port of Scratch on Pharo."
arch=(i686 x86_64)
source=($pkgname-$pkgver.tar.gz)
url="http://www.phratch.com"
license=('MIT')
makedepends=('gendesk')
depends=('pharo-vm')
source=('Phratch.zip::http://phratch.com/download/Phratch4.1-linux.zip' 'phratch.desktop')
md5sums=('aec0d828e291ebbe0a225d5b12576c80' '97c22472ed23597881c547a67c8eee95')
prepare() {
gendesk -f --pkgname "$pkgname" --pkgdesc "$pkgdesc"
}
package() {
cd $srcdir/
mkdir -p $pkgdir/usr/share/phratch/
unzip Phratch.zip -d $pkgdir/usr/share/phratch/
mkdir -p $pkgdir/usr/bin/
mkdir -p $pkgdir/usr/share/pixmaps/
chgrp users $pkgdir/usr/share/phratch/Phratch/shared/Pharo4.0.changes
chmod 775 $pkgdir/usr/share/phratch/Phratch/shared/Pharo4.0.changes
ln -s /usr/share/phratch/Phratch/phratch $pkgdir/usr/bin/phratch
cp $pkgdir/usr/share/phratch/Phratch/icons/Pharo.png $pkgdir/usr/share/pixmaps/$pkgname.png
install -Dm644 "$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
}
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 |