navio

maintainer orphaned · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt binary application (a .run installer containing a tar archive with executables) from a Macmillan Education production API endpoint (lms-api-prod-navio.macmillan.education). While this is the official vendor's own infrastructure (Macmillan Education is a major publisher), it is not a standard software distribution channel (no GitHub releases, no official Linux package repo). The PKGBUILD extracts a binary payload by stripping the installer header and unpacking nested tarballs, then installs a Mono-based application directly to /opt. The sha256sums are pinned, which mitigates interception risk. The custom DLAGENT with a referer header is unusual but functional. The main concern is that this is a closed-source binary from a CDN/API endpoint rather than a versioned release artifact, meaning the vendor could silently replace the binary at the same URL (though the checksum would catch that). This is a genuine medium-risk supply-chain pattern: executed proprietary binary from a non-standard vendor API host, not a clearly malicious or piracy scenario.

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:13 "${pkgname}-${pkgver}.zip::https://lms-api-prod-${pkgname}.macmillan.education/ACEApi/PdfExport/downloadapp?environmentId=Linux64Bit_1404"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary application (a .run installer containing a tar archive with executables) from a Macmillan Education production API endpoint (lms-api-prod-navio.macmillan.education). While this is the official vendor's own infrastructure (Macmillan Education is a major publisher), it is not a standard software distribution channel (no GitHub releases, no official Linux package repo). The PKGBUILD extracts a binary payload by stripping the installer header and unpacking nested tarballs, then installs a Mono-based application directly to /opt. The sha256sums are pinned, which mitigates interception risk. The custom DLAGENT with a referer header is unusual but functional. The main concern is that this is a closed-source binary from a CDN/API endpoint rather than a versioned release artifact, meaning the vendor could silently replace the binary at the same URL (though the checksum would catch that). This is a genuine medium-risk supply-chain pattern: executed proprietary binary from a non-standard vendor API host, not a clearly malicious or piracy scenario.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Fredy García <frealgagu at gmail dot com>
2
3pkgname=navio
4pkgver=2.13.5492
5pkgrel=1
6pkgdesc="A digital platform that accompanies Macmillan Education’s English language courses for young learners"
7arch=("x86_64")
8url="https://lms-api-prod-navio.macmillan.education/PBF/apps"
9license=("custom")
10depends=("alsa-lib" "cairo" "gcc-libs" "gdk-pixbuf2" "glib2" "glibc" "gtk2" "libcups" "libgdiplus" "librsvg" "libx11" "libxinerama" "libxslt" "libxss" "mono" "nspr" "nss" "sqlite" "unixodbc")
11DLAGENTS=("https::/usr/bin/curl --referer https://lms-api-prod-${navio}.macmillan.education/PBF/apps --output %o %u")
12source=(
13 "${pkgname}-${pkgver}.zip::https://lms-api-prod-${pkgname}.macmillan.education/ACEApi/PdfExport/downloadapp?environmentId=Linux64Bit_1404"
14 "${pkgname}.desktop"
15 "LICENSE"
16)
17sha256sums=(
18 "2663b282fdda27a775eea1f2a7d3abfdebddffa047916caa7b8573755dff2440"
19 "701446fe566d31ca485fbc4e2c6a9b9063ab8ae4b3d832f85009077661b52856"
20 "df577fcc17403eb242e5e180488cfdb19226df44582ce86729e42f75586049b8"
21)
22
23prepare() {
24 cd "${srcdir}"
25
26 sed -n '/\x1F/,$p' "${srcdir}/install_${pkgname}64.run" > "${srcdir}/${pkgname}.tar.gz"
27 tar -xf "${srcdir}/${pkgname}.tar.gz" -C . ./data.tar
28 tar -xf "data.tar" -C .
29}
30
31package() {
32 cd "${srcdir}"
33
34 rm -rf "${srcdir}/Navio/gconf2-common_3.2.6-7_all.deb"
35 rm -rf "${srcdir}/Navio/libgconf-2-4_3.2.6-7_amd64.deb"
36
37 install -d "${pkgdir}/opt"
38 cp -r "${srcdir}/Navio" "${pkgdir}/opt/"
39 install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
40 install -Dm644 "${srcdir}/Navio/Navio_Data/Plugins/ThirdPartyNotices.txt" "${pkgdir}/usr/share/licenses/${pkgname}/ThirdPartyNotices.txt"
41 install -Dm755 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
42}
43

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