syrinscape-boardgame-player

maintainer tgm4883 · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt proprietary binary from syrinscape.com, which is the official vendor domain. The sha256sum is pinned for the tarball, providing integrity verification. However, the custom DLAGENTS trick is notable: it overrides the https download agent with a bash function that first fetches a redirect URL via curl/grep/cut/xargs, then downloads the actual binary from whatever URL is extracted from the response. This means the actual binary downloaded could come from any host returned in the redirect (e.g., a CDN or S3 bucket), and that secondary URL is not integrity-checked independently — only the final file hash is checked. The sha256sum check does provide a meaningful integrity guarantee for the final artifact, which mitigates the redirect concern significantly. The pattern is unusual and 'gross' as the maintainer admits, but the end result is a hash-verified binary from the official vendor. This is a medium concern due to the indirect download mechanism and prebuilt binary execution, but not high since the checksum is present and the domain is the official vendor site.

Triggered rules

MEDIUM External download from an untrusted host, not in source=() 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:21 /usr/bin/curl "https://syrinscape.com/get-download/syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz?type=linux&version=${pkgver//_/-}" 2>&1 | /usr/bin/grep -P "\tlocation.href" | /usr/bin/cut -d "'" -f 2 | /usr/bin/xargs -n1 /usr/bin/curl -o syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz
MEDIUM source=() URL on a non-standard host 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:12 source=("syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz::https://www.syrinscape.com/get-download/syrinscape-${pkgver//_/-}-linux-scifi.tar.gz?type=linux&version=${pkgver//_/-}"
MEDIUM AI review 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 proprietary binary from syrinscape.com, which is the official vendor domain. The sha256sum is pinned for the tarball, providing integrity verification. However, the custom DLAGENTS trick is notable: it overrides the https download agent with a bash function that first fetches a redirect URL via curl/grep/cut/xargs, then downloads the actual binary from whatever URL is extracted from the response. This means the actual binary downloaded could come from any host returned in the redirect (e.g., a CDN or S3 bucket), and that secondary URL is not integrity-checked independently — only the final file hash is checked. The sha256sum check does provide a meaningful integrity guarantee for the final artifact, which mitigates the redirect concern significantly. The pattern is unusual and 'gross' as the maintainer admits, but the end result is a hash-verified binary from the official vendor. This is a medium concern due to the indirect download mechanism and prebuilt binary execution, but not high since the checksum is present and the domain is the official vendor site.

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Thomas Mashos <thomas at mashos dot com>
2pkgname=syrinscape-boardgame-player
3pkgver=1.5.0_p1
4pkgrel=1
5pkgdesc="Soundscape creator and sound design app for boardgame games"
6arch=('x86_64')
7url="https://www.syrinscape.com"
8license=('Proprietary')
9groups=()
10depends=()
11options=(!strip)
12source=("syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz::https://www.syrinscape.com/get-download/syrinscape-${pkgver//_/-}-linux-scifi.tar.gz?type=linux&version=${pkgver//_/-}"
13 "local://syrinscape-boardgame-player.desktop"
14 )
15sha256sums=('dfa03eef76673b2a167864c1bb50cce3eee6c7e70fb8b5b78eb9cc346af0019e' ## syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz
16 'SKIP' ## syrinscape-boardgame-player.desktop
17 )
18
19# Look away, this is gross
20download_func() {
21 /usr/bin/curl "https://syrinscape.com/get-download/syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz?type=linux&version=${pkgver//_/-}" 2>&1 | /usr/bin/grep -P "\tlocation.href" | /usr/bin/cut -d "'" -f 2 | /usr/bin/xargs -n1 /usr/bin/curl -o syrinscape-${pkgver//_/-}-linux-boardgame.tar.gz
22}
23export -f download_func; export pkgver; DLAGENTS=('https::/bin/bash -c download_func %o %u')
24
25prepare() {
26 mkdir -p "${srcdir}/usr/share/applications"
27 cp "syrinscape-boardgame-player.desktop" "${srcdir}/usr/share/applications/syrinscape-boardgame-player.desktop"
28 sed -i "s/VERSIONNUM/${pkgver//_/-}/g" "${srcdir}/usr/share/applications/syrinscape-boardgame-player.desktop"
29}
30
31package() {
32 mkdir -p "${pkgdir}/opt"
33 mv "Syrinscape Board Game Player" "${pkgdir}/opt/Syrinscape Board Game Player"
34
35 mkdir -p "${pkgdir}/usr/share/applications"
36 mv "usr/share/applications/syrinscape-boardgame-player.desktop" "${pkgdir}/usr/share/applications/syrinscape-boardgame-player.desktop"
37}
38
39

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 3
2026-08-02 00:16:08 MEDIUM 3
2026-08-01 00:11:18 MEDIUM 3
2026-07-31 00:14:10 MEDIUM 3
2026-07-30 00:17:23 MEDIUM 3
2026-07-29 00:25:53 MEDIUM 3
2026-07-28 00:07:28 MEDIUM 3
2026-07-27 00:24:32 MEDIUM 3
2026-07-26 00:07:32 MEDIUM 3
2026-07-25 00:13:44 MEDIUM 3
2026-07-24 00:02:28 MEDIUM 3
2026-07-23 00:14:47 MEDIUM 3
2026-07-22 00:29:32 MEDIUM 3
2026-07-21 00:24:15 MEDIUM 3
2026-07-20 00:19:49 MEDIUM 3
2026-07-19 00:17:08 MEDIUM 3
2026-07-18 00:14:48 MEDIUM 3
2026-07-17 00:06:16 MEDIUM 3
2026-07-16 00:05:41 MEDIUM 3
2026-07-15 00:09:25 MEDIUM 3

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion