brother-dcp-l2550dw

LOW
maintainer james 5 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads a driver from Brother's official domain, which is a standard practice for proprietary printer drivers; the non-whitelisted host is still the vendor's legitimate download infrastructure, and the package installs only configuration files and symlinks, not executing arbitrary code.

Triggered rules

Low AI review downgraded a static finding 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 a driver from Brother's official domain, which is a standard practice for proprietary printer drivers; the non-whitelisted host is still the vendor's legitimate download infrastructure, and the package installs only configuration files and symlinks, not executing arbitrary code.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:8 source=("https://download.brother.com/welcome/dlf103576/dcpl2550dwpdrv-4.0.0-1.i386.rpm")

PKGBUILD

1 offending line(s) highlighted
1pkgname=brother-dcp-l2550dw
2pkgver=4.0.0
3pkgrel=2
4pkgdesc="LPR and CUPS driver for the Brother DCP-L2550DW printer"
5arch=("i686" "x86_64")
6url="https://support.brother.com/g/b/downloadhowto.aspx?c=ca&lang=en&prod=dcpl2550dw_us&os=127&dlid=dlf103576_000&flang=4&type3=10282"
7license=("EULA")
8source=("https://download.brother.com/welcome/dlf103576/dcpl2550dwpdrv-4.0.0-1.i386.rpm")
9md5sums=('92279e64ec1e40714bb707ab9aab2600')
10
11package() {
12 # This package is based off of the brother-mfc-l2710dw package due to the identical packaging. All credit should go to enginefeeder101 for the script.
13
14 _model="DCPL2550DW"
15
16 # using /usr/share instead of /opt
17 mkdir -p "$pkgdir/usr/share"
18 cp -R "$srcdir/opt/brother" "$pkgdir/usr/share"
19 sed -i 's|\\\/opt\\\/|\\\/usr\\\/|' "$pkgdir/usr/share/brother/Printers/$_model/cupswrapper/lpdwrapper"
20 sed -i 's|\\\/opt\\\/|\\\/usr\\\/|' "$pkgdir/usr/share/brother/Printers/$_model/lpd/lpdfilter"
21
22 # /etc/printcap is managed by cups
23 find "$pkgdir" -type f -name 'setupPrintcap*' -delete
24
25 # symlink for lpdwrapper so it correctly figures out the printer model from the path
26 install -d "$pkgdir/usr/lib/cups/filter/"
27 ln -s "/usr/share/brother/Printers/$_model/cupswrapper/lpdwrapper" "$pkgdir/usr/lib/cups/filter/brother_lpdwrapper_$_model"
28
29 # symlink for the PPD
30 install -d "$pkgdir/usr/share/cups/model/"
31 ln -s "/usr/share/brother/Printers/$_model/cupswrapper/brother-$_model-cups-en.ppd" "$pkgdir/usr/share/cups/model/"
32
33 # a couple architecture-specific symlinks
34 ln -s "/usr/share/brother/Printers/$_model/lpd/$CARCH/brprintconflsr3" "$pkgdir/usr/share/brother/Printers/$_model/lpd/"
35 ln -s "/usr/share/brother/Printers/$_model/lpd/$CARCH/rawtobr3" "$pkgdir/usr/share/brother/Printers/$_model/lpd/"
36
37 # symlink for inf because it tries to execute it there
38 ln -s "/usr/share/brother/Printers/$_model/inf" "$pkgdir/usr/share/brother/Printers/$_model/lpd/"
39}
40

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion