pfufs
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:12
source=("https://origin.pfultd.com/downloads/IMAGE/fi/ubuntu/${pkgvernodots}/pfufs-ubuntu_${pkgver}_amd64.deb"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt binary Debian package (.deb) from origin.pfultd.com, which is the official Fujitsu/PFU download host for their scanner drivers (pfultd.com is the PFU Ltd. domain used for their global software distribution). The URL structure and domain are consistent with the official Fujitsu fi-series scanner driver distribution infrastructure referenced from the official pfu.ricoh.com product page listed in the 'url' field. The binary is verified with a sha256sum, which mitigates silent substitution attacks. However, this is still a prebuilt binary blob from a vendor CDN rather than source-compiled code, and the host is not a well-known first-party domain like github.com or a major distro mirror. The extracted binary libraries and executables (lib/*, bin/*) are installed directly and executed at runtime. This is a legitimate vendor driver package with checksum verification, making it closer to 'clean' than a genuine supply-chain threat, but the prebuilt binary nature from a less-recognizable vendor CDN (even if official) warrants a medium rating rather than clean, as users must trust the vendor's distribution infrastructure entirely.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alexander Kobel <a-kobel@a-kobel.de>
pkgname=pfufs
pkgver=2.8.1
pkgvernodots=${pkgver//./}
pkgrel=3
pkgdesc='Fujitsu fi series Image Scanner Driver for SANE'
url='https://www.pfu.ricoh.com/global/scanners/fi/dl/ubuntu-fi-7x60.html'
arch=('x86_64')
license=('LicenseRef-ImageScannerDriverEULA')
depends=('sane' 'libxml2-legacy')
source=("https://origin.pfultd.com/downloads/IMAGE/fi/ubuntu/${pkgvernodots}/pfufs-ubuntu_${pkgver}_amd64.deb"
"https://origin.pfultd.com/downloads/IMAGE/fi/ubuntu/${pkgvernodots}/P2U3-0200-08ENZ0.pdf"
60-pfufs.rules
consumablesettings.xml
pfufs
pfufs.conf
pfufs.ini
pfufsscanbutton.service
simple-scan.conf)
sha256sums=('92f9edf8e0148dd351faef7858b1e4bc1e2b7f90d18fcc4b6b03a3ca4c4bdcba'
'5202321fd8e2a7cb4d1521fce2c0213a22a8e3cd587c0bf61a55d77c3120be77'
'618b169c5b3586d7b473ac51171660934a662d3848c881019067477c680b518b'
'0b5aba6f2ec085a941dbcd7228e09f5038305ce4ca5a792d8d419353ee90d1fb'
'36890d01da19034cfd7f0e8aa40672693cc2b8db2902c6e3755628ee36dd0e61'
'08cd978d259749716a153ec94803ac75f7c9a922526d84419d752141d483604c'
'af03606af00cd90726b9d4fd5d7ccad1e1209399b7b668e523eedbf5e7c58521'
'bd0a75c50f92f66471bb2f3eb969394f0156eae60537a206244bb16f597d2c3d'
'6aec8ca879208e25ce8678a9bb0ecf11ccecca3c5e82f6e07b25425a261cc732')
prepare () {
cd "$srcdir"
tar xf data.tar.xz
find . -type f -exec chmod 644 '{}' +
find . -type f -name 'License*' -exec chmod 444 '{}' +
find . -type f -name 'readme*' -exec chmod 444 '{}' +
cd opt/pfufs
chmod 755 bin/* consumables/* etc/pfufssysinfo.sh lib/* pfufsgetinfo/*
}
package () {
cd "$srcdir"
install -d "$pkgdir/opt/pfufs/image"
cp -pR usr/ "$pkgdir/"
cp -pR opt/pfufs/*/ "$pkgdir/opt/pfufs/"
install -vDm 444 -t "$pkgdir/usr/share/doc/$pkgname" opt/pfufs/readme*.txt
install -vDm 444 P2U3-0200-08ENZ0.pdf "$pkgdir/usr/share/doc/$pkgname/pfufs.pdf"
install -vDm 444 -t "$pkgdir/usr/share/licenses/$pkgname" opt/pfufs/License*.txt
# from the deb's preinst
install -vDm 644 -t "$pkgdir/usr/lib/udev/rules.d" 60-pfufs.rules
install -vDm 644 -t "$pkgdir/usr/lib/systemd/system" pfufsscanbutton.service
# from the deb's postinst
install -vDm 644 -t "$pkgdir/etc/sane.d/dll.d" pfufs
install -vDm 644 -t "$pkgdir/opt/pfufs/etc" consumablesettings.xml pfufs.conf pfufs.ini simple-scan.conf
install -d "$pkgdir/usr/bin"
ln -s -t "$pkgdir/usr/bin" /opt/pfufs/consumables/pfufsconsumables
ln -s -t "$pkgdir/usr/bin" /opt/pfufs/pfufsgetinfo/pfufsgetscerror
ln -s -t "$pkgdir/usr/bin" /opt/pfufs/pfufsgetinfo/pfufsgetscstatus
mv "$pkgdir/opt/pfufs/etc" "$pkgdir/etc/pfufs"
ln -s /etc/pfufs "$pkgdir/opt/pfufs/etc"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |