xod

maintainer satriani · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt RPM (containing an Electron application binary) from Google Cloud Storage (googleapis.com), which is the official GCS API endpoint for a bucket named 'releases.xod.io'. While GCS is a legitimate hosting platform, this is not the upstream project's canonical release host (e.g., GitHub releases) and the bucket ownership cannot be independently verified without additional context. The binary is an Electron app that gets directly installed and executed by end users. A sha256sum is provided and pinned, which mitigates substitution risk somewhat, but the generation parameter in the URL and the unofficial hosting location mean that if the bucket were compromised or the checksum were changed in a PKGBUILD update, malicious code could be executed. The RPM is extracted and its contents (opt/, usr/) are copied directly into the package root without any integrity verification beyond the archive-level checksum. This is a real supply-chain concern: an executed binary from a non-canonical, unverifiable host. The cheaper model's MEDIUM rating is correct.

Triggered rules

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=("https://www.googleapis.com/download/storage/v1/b/releases.xod.io/o/v0.38.0%2Fxod-client-electron-0.38.0.x86_64.rpm?generation=1615553616000093&alt=media")
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 78%): The PKGBUILD downloads a prebuilt RPM (containing an Electron application binary) from Google Cloud Storage (googleapis.com), which is the official GCS API endpoint for a bucket named 'releases.xod.io'. While GCS is a legitimate hosting platform, this is not the upstream project's canonical release host (e.g., GitHub releases) and the bucket ownership cannot be independently verified without additional context. The binary is an Electron app that gets directly installed and executed by end users. A sha256sum is provided and pinned, which mitigates substitution risk somewhat, but the generation parameter in the URL and the unofficial hosting location mean that if the bucket were compromised or the checksum were changed in a PKGBUILD update, malicious code could be executed. The RPM is extracted and its contents (opt/, usr/) are copied directly into the package root without any integrity verification beyond the archive-level checksum. This is a real supply-chain concern: an executed binary from a non-canonical, unverifiable host. The cheaper model's MEDIUM rating is correct.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Alex S. <shantanna_at_hotmail_dot_com>
2
3pkgname=xod
4pkgver=v0.38.0
5pkgrel=1
6pkgdesc="XOD is a visual programming language for microcontrollers."
7arch=('any')
8url="https://xod.io/"
9license=('AGPL3')
10depends=('nodejs' 'yarn')
11conflicts=('xod-git')
12source=("https://www.googleapis.com/download/storage/v1/b/releases.xod.io/o/v0.38.0%2Fxod-client-electron-0.38.0.x86_64.rpm?generation=1615553616000093&alt=media")
13sha256sums=('68e8263c08fe3806fdc7f3a46e45d9e94d2863479433c9e4a4a28dbcae224aed')
14options=('!strip')
15
16package() {
17 cd ${srcdir}
18 cp -r opt usr ${pkgdir}
19 install -D -m644 opt/'XOD IDE'/LICENSES.chromium.html ${pkgdir}/usr/share/licenses/$pkgname/license.html
20}

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion