riot-web-develop-bin
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=("${_src}.tar.gz::https://buildkite.com/organizations/matrix-dot-org/pipelines/riot-web/builds/${_pkgver}/jobs/250aea95-79d7-4043-b256-67e1341b9539/artifacts/47c9b22f-70fc-4842-8c3d-8c1b265fc4ca")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The source tarball is fetched from buildkite.com via a pipeline artifact URL (a CI/CD build artifact, not an official upstream release). While Buildkite is a legitimate CI service used by Matrix/vector-im, this specific artifact URL references an internal pipeline job artifact by UUID rather than a tagged release from the official GitHub repository. The artifact is a pre-built web application bundle (static files served by a web server), so there is no compiled native code executed on the host system — it is installed under /usr/share/webapps and served as web content. However, the supply-chain concern is real: the artifact URL is opaque (UUID-based), tied to a specific CI job, and could in principle be replaced or tampered with without any versioned release guarantee. The sha256sum provides some integrity protection, but the provenance chain is weaker than an official GitHub release. This is a genuine medium-risk pattern: pre-built content from a non-release CI artifact host, mitigated by the fact that the content is static web assets rather than executed native binaries.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Jack O'Sullivan <jackos1998 at gmail dot com>
_pkgbase=riot
_pkgver=323
_src=riot-6f8c6bf13e1d-react-0e3d4fbc0c88-js-fbf53524ed26
pkgname=riot-web-develop-bin
pkgver=b323
pkgrel=1
pkgdesc="A glossy Matrix collaboration client for the web (develop branch)."
arch=('any')
url="https://riot.im"
_url="https://github.com/vector-im/riot-web"
license=('Apache')
makedepends=('npm' 'git')
source=("${_src}.tar.gz::https://buildkite.com/organizations/matrix-dot-org/pipelines/riot-web/builds/${_pkgver}/jobs/250aea95-79d7-4043-b256-67e1341b9539/artifacts/47c9b22f-70fc-4842-8c3d-8c1b265fc4ca")
sha256sums=('fc85fa9fc56cd93e2c3a397998c0568790d9d84adbeb2fdc6316ee1babaefdd8')
provides=('vector-web') # @vith
replaces=('vector-web') # @vith
conflicts=('vector-web')
package() {
cd ${_src}
install -d "${pkgdir}"/{usr/share/webapps,etc/webapps}/${_pkgbase}
cp -r * "${pkgdir}"/usr/share/webapps/${_pkgbase}/
install -Dm644 config.sample.json -t "${pkgdir}"/etc/webapps/${_pkgbase}/
ln -s /etc/webapps/${_pkgbase}/config.json "${pkgdir}"/usr/share/webapps/${_pkgbase}/
echo "${pkgver}" > "${pkgdir}"/usr/share/webapps/${_pkgbase}/version
}
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 |