masterpdfeditor-qt5
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 75%): The package downloads checksums dynamically from code-industry.net (the vendor's own domain) at parse time rather than hardcoding them, which is unconventional but not malicious; the actual binaries are fetched from the same vendor domain and verified against those checksums, so the real risk is just that the checksum fetch could fail or be tampered with in transit (no HTTPS MITM protection beyond curl defaults), but there is no obfuscated payload, no third-party swappable host, and no credential exfiltration.
2 higher static findings superseded - not the current verdict (shown for transparency)
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:14
_checksum_x86_64=$(curl 'https://code-industry.net/checksum-information/' | grep -oP '[a-f0-9]{40}(?=.*master-pdf-editor-'"${pkgver}${_patchver}"'-qt5.x86_64.tar.gz)') -
PKGBUILD:15
_checksum_aarch64=$(curl 'https://code-industry.net/checksum-information/' | grep -oP '[a-f0-9]{40}(?=.*master-pdf-editor-'"${pkgver}${_armpatchver}"'-qt5.arm64.tar.gz)')
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:43
source_x86_64=("https://code-industry.net/public/master-pdf-editor-${pkgver}${_patchver}-qt5.x86_64.tar.gz")
PKGBUILD
3 offending line(s) highlighted#!/usr/bin/env bash
# shellcheck disable=SC2034,SC2148,SC2154
#
# Maintainer: Toria <ninetailedtori@uwu.gal>
#
_pkgname=masterpdfeditor
pkgname=${_pkgname}-qt5
pkgver=5.9.98
_patchver='-1'
_armpatchver=''
pkgrel=1
pkgdesc='A complete solution for viewing, creating and editing PDF files (qt5 version).'
url='https://code-industry.net/free-pdf-editor/'
_checksum_x86_64=$(curl 'https://code-industry.net/checksum-information/' | grep -oP '[a-f0-9]{40}(?=.*master-pdf-editor-'"${pkgver}${_patchver}"'-qt5.x86_64.tar.gz)')
_checksum_aarch64=$(curl 'https://code-industry.net/checksum-information/' | grep -oP '[a-f0-9]{40}(?=.*master-pdf-editor-'"${pkgver}${_armpatchver}"'-qt5.arm64.tar.gz)')
arch=(
'x86_64'
'aarch64'
)
license=('custom')
depends=(
'libgl'
'pkcs11-helper'
'sane'
'qt5-base'
'qt5-svg'
'qt5-declarative'
'xcb-util-image'
'xcb-util-keysyms'
'xcb-util-renderutil'
'xcb-util-wm'
'glibc>=2.28'
)
makedepends=(
'curl'
'patchelf'
)
provides=("${_pkgname}=${pkgver}")
conflicts=(
"${_pkgname}-qt_include"
"${_pkgname}-qt6"
)
source_x86_64=("https://code-industry.net/public/master-pdf-editor-${pkgver}${_patchver}-qt5.x86_64.tar.gz")
sha1sums_x86_64=("${_checksum_x86_64% *}")
source_aarch64=("https://code-industry.net/public/master-pdf-editor-${pkgver}${_patchver}-qt5.arm64.tar.gz")
sha1sums_aarch64=("${_checksum_aarch64% *}")
package() {
install -d "${pkgdir}/{opt,usr/bin}/"
cp -a --no-preserve=ownership "master-pdf-editor-${pkgver%%.*}" "${pkgdir}/opt/"
cd "${pkgdir}/opt/master-pdf-editor-${pkgver%%.*}" || return 1
ln -sr "${_pkgname}${pkgver%%.*}" -t "${pkgdir}/usr/bin/"
install -Dm644 "${_pkgname}${pkgver%%.*}.desktop" -t "${pkgdir}/usr/share/applications/"
install -Dm644 'license_en.txt' -t "${pkgdir}/usr/share/licenses/${pkgname}/"
patchelf --remove-rpath "${_pkgname}${pkgver%%.*}"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 3 |
| 2026-08-02 00:16:08 | LOW | 3 |
| 2026-08-01 00:11:18 | LOW | 3 |
| 2026-07-31 00:14:10 | LOW | 3 |
| 2026-07-30 00:17:23 | LOW | 3 |
| 2026-07-29 00:25:53 | LOW | 3 |
| 2026-07-28 00:07:28 | LOW | 3 |
| 2026-07-27 00:24:32 | LOW | 3 |
| 2026-07-26 00:07:32 | LOW | 3 |
| 2026-07-25 00:13:44 | LOW | 3 |
| 2026-07-24 00:02:28 | LOW | 3 |
| 2026-07-23 00:14:47 | LOW | 3 |
| 2026-07-22 00:29:32 | LOW | 3 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 00:05:41 | LOW | 3 |
| 2026-07-15 00:09:25 | LOW | 3 |