rocrail
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://wiki.rocrail.net/rocrail-snapshot/Debian/Rocrail-debian11-i64.zip" "rocview.desktop" "rocrail.desktop" "startrocrail.sh")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): This PKGBUILD downloads a prebuilt proprietary binary archive (Rocrail-debian11-i64.zip) from wiki.rocrail.net with md5sums='SKIP', meaning the binary is completely unverified at install time. While wiki.rocrail.net appears to be the official Rocrail project wiki/distribution host (the package url matches), the SKIP checksum means any MITM or server-side substitution would go undetected. The archive is extracted and installed as executable binaries under /opt/rocrail, and a wrapper script launches them. The combination of an executed prebuilt binary with no integrity verification is a genuine supply-chain concern — if the host is compromised or the download is intercepted, arbitrary code runs on the user's system. This is a real medium-severity issue: not clearly malicious, but an unverifiable executed binary from a host that, while plausibly official, is not a well-known package mirror with independent verification.
PKGBUILD
1 offending line(s) highlighted# Maintainer: w0rty <mawo97 at gmail.com>
# Contributor: Pim Bliek <pim@pimbliek.nl>
# Contributor: Elvin L <elvin@eelviny.me>
pkgname=rocrail
pkgver=3357
pkgrel=2
pkgdesc="Innovative Model Railroad Control System"
arch=('x86_64')
url="http://wiki.rocrail.net/"
license=('Proprietary')
depends=('libusb' 'libsm' 'gtk3')
makedepends=('curl')
source=("https://wiki.rocrail.net/rocrail-snapshot/Debian/Rocrail-debian11-i64.zip" "rocview.desktop" "rocrail.desktop" "startrocrail.sh")
md5sums=('SKIP'
'b3851071a1185e25a6e59471d955b098'
'edc94290e0835812bc704dbe1d6a940f'
'4ec3bcf8eb335068e8b177360e19d72d')
pkgver() {
# I made it like this because i dont have the time to test and update every new daily version. Anyone can update the package themself just by reinstalling.
grep "${srcdir}"/revision.info -e "Revision:" | awk '{print $2}'
}
package() {
install -d "${pkgdir}/opt/rocrail"
cp -r "${srcdir}/"* "${pkgdir}/opt/rocrail" -R
install -d "${pkgdir}/usr/bin"
install -m755 "${srcdir}/startrocrail.sh" "${pkgdir}/usr/bin/rocrail"
install -d "${pkgdir}/usr/share/applications"
install -Dm644 -t "${pkgdir}/usr/share/applications" rocview.desktop
install -Dm644 -t "${pkgdir}/usr/share/applications" rocrail.desktop
install -d "${pkgdir}/usr/share/pixmaps"
install -Dm644 -t "${pkgdir}/usr/share/pixmaps" rocrail.png
#cleanup unnecessary files and wrong scripts
rm $pkgdir/opt/rocrail/desktoplink.sh
rm $pkgdir/opt/rocrail/update.sh
rm $pkgdir/opt/rocrail/sysupdate.sh
rm $pkgdir/opt/rocrail/startrocrail.sh
rm $pkgdir/opt/rocrail/*.desktop
rm $pkgdir/opt/rocrail/Rocrail-debian11-i64.zip
chmod -R 755 $pkgdir/opt/rocrail
}
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 |