brother-mfc-j4625dw
The package downloads official Brother driver RPMs from brother.com's download subdomain, which is the vendor's legitimate distribution channel; despite the static analyzer flag for a non-standard host, the source is trustworthy and the build process only extracts and relocates files, posing no execution or supply-chain risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads official Brother driver RPMs from brother.com's download subdomain, which is the vendor's legitimate distribution channel; despite the static analyzer flag for a non-standard host, the source is trustworthy and the build process only extracts and relocates files, posing no execution or supply-chain risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
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
source=("http://download.brother.com/welcome/dlf101597/mfcj4625dwlpr-${pkgver}-1.i386.rpm"
PKGBUILD
1 offending line(s) highlighted# Maintainer: ava1ar <mail(at)ava1ar(dot)me> # Copied from the MFC-J4510DW package created by Florian Engel <florian.engel@adletec.de>
pkgname=brother-mfc-j4625dw
pkgver=3.0.1
pkgrel=1
pkgdesc="LPR and CUPS driver for the Brother MFC-J4625DW"
arch=('i686' 'x86_64')
url="http://solutions.brother.com/linux/en_us/"
license=('custom:brother commercial license')
depends=('cups')
depends_x86_64+=('lib32-glibc')
install=$pkgname.install
source=("http://download.brother.com/welcome/dlf101597/mfcj4625dwlpr-${pkgver}-1.i386.rpm"
"http://download.brother.com/welcome/dlf101598/mfcj4625dwcupswrapper-${pkgver}-1.i386.rpm"
'cupswrapper-license.txt'
'lpr-license.txt')
md5sums=('1311359ad50f52107d0d2d93ac24bea4'
'2e6dc6314af3508f6a61d127a66e2a2c'
'97ad0cffd216059e9d1d3121899d8646'
'5e87a3dc0f3e3438c088eda0f3565f0d')
prepare() {
# do not install in '/usr/local'
if [ -d ${srcdir}/usr/local/Brother ]; then
install -d ${srcdir}/usr/share
mv ${srcdir}/usr/local/Brother/ ${srcdir}/usr/share/brother
rm -rf ${srcdir}/usr/local
sed -i 's|/usr/local/Brother|/usr/share/brother|g' `grep -lr '/usr/local/Brother' ./`
fi
# setup cups-directories
install -d ${srcdir}/usr/share/cups/model
install -d ${srcdir}/usr/lib/cups/filter
# go to the cupswrapper directory and find the source file from which to generate a ppd- and wrapper-file
cd `find . -type d -name 'cupswrapper'`
if [ -f cupswrapper* ]; then
_wrapper_source=`ls cupswrapper*`
sed -i '/^\/etc\/init.d\/cups/d' $_wrapper_source
sed -i '/^sleep/d' $_wrapper_source
sed -i '/^lpadmin/d' $_wrapper_source
sed -i 's|/usr|${srcdir}/usr|g' $_wrapper_source
sed -i 's|/opt|${srcdir}/opt|g' $_wrapper_source
sed -i 's|/model/Brother|/model|g' $_wrapper_source
sed -i 's|lpinfo|echo|g' $_wrapper_source
export srcdir=${srcdir}
./$_wrapper_source
sed -i 's|${srcdir}||' ${srcdir}/usr/lib/cups/filter/*lpdwrapper*
sed -i "s|${srcdir}||" ${srcdir}/usr/lib/cups/filter/*lpdwrapper*
rm $_wrapper_source
fi
# /etc/printcap is managed by cups
rm `find ${srcdir} -type f -name 'setupPrintcap*'`
}
package() {
cp -R ${srcdir}/usr ${pkgdir}
if [ -d ${srcdir}/opt ]; then cp -R ${srcdir}/opt ${pkgdir}; fi
install -m 644 -D cupswrapper-license.txt ${pkgdir}/usr/share/licenses/${pkgname}/cupswrapper-licence.txt
install -m 644 -D lpr-license.txt ${pkgdir}/usr/share/licenses/${pkgname}/lpr-licence.txt
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |