audibleport-bin
The package downloads a prebuilt AppImage from a non-whitelisted host (downloads.audibleport.com), which is an unverifiable executable binary; if compromised, it could execute arbitrary code, constituting a supply-chain risk.
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:38
"AudiblePort-${pkgver}-linux-x64.AppImage::https://downloads.audibleport.com/v${pkgver}/AudiblePort-linux-x64.AppImage"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt AppImage from a non-whitelisted host (downloads.audibleport.com), which is an unverifiable executable binary; if compromised, it could execute arbitrary code, constituting a supply-chain risk.
PKGBUILD
1 offending line(s) highlighted# Maintainer: kukapu <susokukapu@gmail.com>
#
# Binary package for AudiblePort (Tauri desktop app).
# Downloads the official prebuilt AppImage, extracts it, and runs against
# Arch system WebKitGTK/GTK/Mesa — the Ubuntu-bundled WebKit causes a black
# window + "Could not create default EGL display: EGL_BAD_PARAMETER" on
# Arch/Omarchy (Intel and NVIDIA).
pkgname=audibleport-bin
pkgver=1.1.2
pkgrel=1
pkgdesc="Download and convert Audible audiobooks locally"
arch=('x86_64')
url="https://audibleport.com"
license=('LicenseRef-Proprietary')
depends=(
'webkit2gtk-4.1'
'gtk3'
'libsoup3'
'gstreamer'
'gst-plugins-base'
'gst-plugins-good'
'openssl'
'hicolor-icon-theme'
'zlib'
'dbus'
'org.freedesktop.secrets'
)
optdepends=(
'gst-plugins-bad: extra media codecs for the webview'
'gst-libav: extra media codecs for the webview'
)
provides=('audibleport')
conflicts=('audibleport')
options=('!strip' '!debug')
noextract=("AudiblePort-${pkgver}-linux-x64.AppImage")
source=(
"AudiblePort-${pkgver}-linux-x64.AppImage::https://downloads.audibleport.com/v${pkgver}/AudiblePort-linux-x64.AppImage"
"audibleport.desktop"
"audibleport.png"
"LICENSE"
)
sha256sums=(
'caa3d7ee892638e6a837e5b4f1bc4035b9113284df878d36ab3bc5334b36805d'
'd7afd4229854d68a47e0cdadbbf4cd44a2cbef90b4104e30800557f6846cd3a0'
'f306dfb5d537724f15d2af8c2bd81d8bf666c85c45e20aea6e8fb9cda2f4881e'
'ab768f90de1bebd36122c52dce48305f9191660e017772cf7d852de9a6376594'
)
prepare() {
chmod +x "${srcdir}/AudiblePort-${pkgver}-linux-x64.AppImage"
cd "${srcdir}"
rm -rf squashfs-root
"./AudiblePort-${pkgver}-linux-x64.AppImage" --appimage-extract
# Drop Ubuntu-bundled WebKit so the app uses Arch webkit2gtk-4.1 + system Mesa.
rm -f squashfs-root/usr/lib/libwebkit2gtk-4.1.so*
rm -f squashfs-root/usr/lib/libjavascriptcoregtk-4.1.so*
rm -rf squashfs-root/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1
}
package() {
install -d "${pkgdir}/opt/audibleport"
cp -a "${srcdir}/squashfs-root/." "${pkgdir}/opt/audibleport/"
# AppImage payloads may carry writable schemas/docs or unreadable helpers.
chmod -R a+rX,go-w "${pkgdir}/opt/audibleport"
# Keep the main binary and bundled resources (ffmpeg) executable.
chmod 755 "${pkgdir}/opt/audibleport/usr/bin/audibleport"
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/audibleport" <<'EOF'
#!/bin/sh
APPDIR="/opt/audibleport"
BIN="${APPDIR}/usr/bin/audibleport"
if [ ! -x "$BIN" ]; then
echo "audibleport: missing $BIN" >&2
exit 1
fi
# Prefer Arch system libraries (WebKit/GTK/GLib/Mesa/GStreamer) over the
# Ubuntu copies still present in the extracted AppImage tree. Without this,
# WebKit dies with: Could not create default EGL display: EGL_BAD_PARAMETER
export LD_LIBRARY_PATH="/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
# Extra safety on Wayland + DMA-BUF (Intel/NVIDIA/AMD).
export WEBKIT_DISABLE_DMABUF_RENDERER="${WEBKIT_DISABLE_DMABUF_RENDERER:-1}"
exec "$BIN" "$@"
EOF
install -Dm644 "${srcdir}/audibleport.desktop" \
"${pkgdir}/usr/share/applications/audibleport.desktop"
install -Dm644 "${srcdir}/audibleport.png" \
"${pkgdir}/usr/share/icons/hicolor/512x512/apps/audibleport.png"
install -Dm644 "${srcdir}/LICENSE" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-17 00:21+++ PKGBUILD @ 2026-11-01 00:21@@ -7,7 +7,7 @@ # Arch/Omarchy (Intel and NVIDIA). pkgname=audibleport-bin-pkgver=1.1.1+pkgver=1.1.2 pkgrel=1 pkgdesc="Download and convert Audible audiobooks locally" arch=('x86_64')@@ -41,7 +41,7 @@ "LICENSE" ) sha256sums=(- '662a58a0abb7787e8e35499d935aa52b0d0818907e2b9cf4e7030880de7873c6'+ 'caa3d7ee892638e6a837e5b4f1bc4035b9113284df878d36ab3bc5334b36805d' 'd7afd4229854d68a47e0cdadbbf4cd44a2cbef90b4104e30800557f6846cd3a0' 'f306dfb5d537724f15d2af8c2bd81d8bf666c85c45e20aea6e8fb9cda2f4881e' 'ab768f90de1bebd36122c52dce48305f9191660e017772cf7d852de9a6376594'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 21:19:24 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |