context-modules
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:16
source=("http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary archive (context-linux-64.zip) from lmtx.pragma-ade.nl, which is actually the official Pragma ADE distribution host for ConTeXt LMTX — this is the canonical upstream source recommended by the ConTeXt wiki (linked in the url field). However, the checksum is SKIP, meaning there is no integrity verification of the downloaded archive. The install.sh script from that archive is then executed directly (chmod +x install.sh && ./install.sh), and binaries from the resulting tex/texmf-linux-64/bin/ are installed system-wide. While the host is the legitimate upstream, the combination of SKIP checksum plus executing a downloaded shell script and installing its produced binaries without any integrity check represents a genuine supply-chain risk: a compromise of lmtx.pragma-ade.nl or a MITM attack would result in arbitrary code execution on the builder's system. The SKIP is somewhat justified because ConTeXt LMTX is a rolling release with frequently updated archives at a stable URL, making static checksums impractical, but it still leaves the package vulnerable. This is a real medium-severity concern, not a false positive.
PKGBUILD
1 offending line(s) highlighted# Maintainer: xeruf <27jf at pm dot me>
_pkgname=context
pkgname=${_pkgname}-modules
pkgver=2024.11.01_19.19
pkgrel=1
pkgdesc='ConTeXt LMTX with all ConTeXt Garden modules'
arch=('x86_64')
url="https://wiki.contextgarden.net/Installation"
license=(GPL)
depends=()
replaces=()
provides=(${_pkgname} ${_pkgname}-lmtx)
conflicts=(${_pkgname})
optdepends=()
source=("http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip")
sha256sums=(SKIP)
install=${_pkgname}.install
prepare() {
cd "${srcdir}"
chmod +x install.sh
./install.sh
(
cd "tex"
TEXMF="$PWD" ../bin/mtxrun ---script install-modules --install --all
)
}
package() {
context="${pkgdir}/usr/share/texmf-dist"
cd "tex"
install -d "$context"
cp -r texmf texmf-context "$context"
install -Dt "${pkgdir}/usr/local/bin" texmf-linux-64/bin/*
}
pkgver() {
# TODO use https://wiki.contextgarden.net/LMTX#How_to_check_for_newer_versions.3F
cat "${srcdir}/tex/texmf-context/tex/context/base/mkxl/context.mkxl" |
grep "def\\\\contextversion" |
sed 's/^.*{\(.*\)}.*$/\1/' |
tr ' :' '_.'
}
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 |