brainboxes-serial-pci
The package downloads a source file from a non-whitelisted but official project domain (brainboxes.com), which is a normal and expected practice; the file is a script used to configure hardware, not a prebuilt binary or executable from an untrusted source, and the build process is transparent and auditable.
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 90%): The package downloads a source file from a non-whitelisted but official project domain (brainboxes.com), which is a normal and expected practice; the file is a script used to configure hardware, not a prebuilt binary or executable from an untrusted source, and the build process is transparent and auditable.
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:33
source=('http://www.brainboxes.com/files/pages/support/faqs/drivers%20and%20firmware/bbportinst.zip' '0000-restore-deprecated-pcie-cards.patch')
PKGBUILD
1 offending line(s) highlighted# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
# Brainboxes prefix list. Some but not all are supported by this driver.
# BL - Bluetooth Serial Adapter
# CC - PCI Serial Cards
# ES - Ethernet to Serial
# ED - Ethernet IO
# IS - IntaShield uPCI Serial Cards
# IX - IntaShield PCI Express Serial Cards
# PM - Serial PC Card (PCMCIA)
# PX - PCI Express Serial Cards
# UC - uPCI Serial Cards
# UP - uPCI Powered Serial Cards
# US - USB to Serial
# VX - Serial ExpressCard
# XC - Serial Parallel ExpressCard
# Some future supported models are found in $tf/13
set -u
pkgname='brainboxes-serial-pci'
pkgver='0.0.20160614'
pkgrel='1'
pkgdesc='script to enable Brainboxes serial and parallel ports PCI PCIe Express PCMCIA PM UC CC-525 CC-530 PX-275 PX-279 PX-263 PX-295 PX-272 PX-306'
arch=('any')
url='http://www.brainboxes.com/faq/items/where-can-i-find-the-latest-drivers-for-linux'
license=('GPL')
depends=('perl' 'setserial' 'pciutils')
backup=('etc/bbportinst'{.conf,.local} 'etc/modprobe.d/parport_bb.conf')
options=('!strip')
install="${pkgname}-install.sh"
_srcdir='bbportinst'
source=('http://www.brainboxes.com/files/pages/support/faqs/drivers%20and%20firmware/bbportinst.zip' '0000-restore-deprecated-pcie-cards.patch')
sha256sums=('d5ac2012bae944d398517511b55cd43d920c79de910cae8e60ca05eaa1408b70'
'ba1481741952faa9399df8f16a4808e89322c079bf248d664579ae7882bc2726')
_servicename="${pkgname}.service"
# We can't modify .install but we can stop and force the user to fix it.
_install_check() {
local _ckvar
local _ckline
local _pkgname="${pkgname}"
for _ckvar in '_servicename'; do
_ckline="${_ckvar}='${!_ckvar}'"
if ! grep -q "^${_ckline}"'$' "${startdir}/${install}"; then
msg "${install} must be fixed"
echo "${_ckline}"
set +u
false
fi
done
}
prepare() {
set -u
_install_check
cd "${_srcdir}"
sed -e 's:\s*\r$::g' -i $(grep -rlFe $'\r')
chmod 755 'bbportinst'
if ! :; then
# Pull the commented PCIe cards in from an old version
gunzip < '$tf/13/9638928d-f5c9-4b4e-8050-fb2d8fc6aac4.gz' > 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
sed -e 's:\s*\r$::g' -i 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
# Extract table out and insert it into the new file. This gives us a clean diff without the other unwanted code changes.
sed -ne '/^my @card_info_table/,/^);$/ p' 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4' > 'bbportinst.oldtable'
rm 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
sed -e '# Insert marker for new table' \
-e '/^my @card_info_table/ i #@TABLE_PLACE@' \
-e '# Remove old table leaving only marker' \
-e '/^my @card_info_table/,/^);$/ d' 'bbportinst' |
sed -e '# Insert old table at marker' \
-e '/^#@TABLE_PLACE@$/ r bbportinst.oldtable' |
sed -e '# Remove marker' \
-e '/^#@TABLE_PLACE@$/ d' > 'bbportinst.new.oldtable'
rm 'bbportinst.oldtable'
diff -pNau5 bbportinst{,.new.oldtable} > '0000-restore-deprecated-pcie-cards.patch' || :
rm 'bbportinst.new.oldtable'
set +u
msg 'Move supplied patch to PKGBUILD'
false
fi
patch -Nup0 -i '../0000-restore-deprecated-pcie-cards.patch'
# Fix path
sed -e 's:/bin/setserial:/usr/bin/setserial:g' -i 'bbportinst'
sed -e '# Custom shell script instead of rc.local' \
-e '/^boot_local_file =/ s:auto:/etc/bbportinst.local:g' \
-e '# This file isnt unique enough' \
-e '/^parport_conf_file =/ s:auto:/etc/modprobe.d/parport_bb.conf:g' \
-i 'bbportinst.conf'
set +u
}
package() {
set -u
cd "${_srcdir}"
install -Dpm744 'bbportinst' -t "${pkgdir}/usr/bin"
install -Dpm644 'bbportinst.conf' -t "${pkgdir}/etc"
install -Dm644 /dev/null "${pkgdir}/etc/bbportinst.local"
install -Dm644 /dev/null "${pkgdir}/etc/modprobe.d/parport_bb.conf"
# systemd service
install -Dm644 <(cat << EOF
# Automatically generated by ${pkgname}-${pkgver} PKGBUILD from Arch Linux AUR
# https://aur.archlinux.org/
[Unit]
Description=Configure BrainBoxes Serial Parallel Cards bbportinst
After=network.target
[Service]
Type=notify
ExecStart=/usr/bin/sh -c 'source /etc/bbportinst.local; systemd-notify --ready'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
) "${pkgdir}/usr/lib/systemd/system/${_servicename}"
set +u
}
set +u
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 |