fdr
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:11
source=('https://dl.cocotec.io/fdr/fdr-3814-linux-x86_64.tar.gz')
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary tarball from dl.cocotec.io. FDR4 (Failures-Divergences Refinement checker) is a commercial tool from Oxford University's CS department, and cocotec.io appears to be the official distribution host for FDR4 downloads (the tool is distributed by Cocotec Ltd, the commercial spin-off). The sha256sum is pinned, which mitigates tampering risk somewhat. However, this is still a prebuilt closed-source binary from a third-party commercial host rather than a well-known official mirror, and the binary is directly executed. The risk is real but not clearly malicious — it fits the medium category: an executed binary from a non-mainstream host where supply-chain compromise would result in code execution. The sha256 pin reduces but does not eliminate risk (the pin itself could be wrong or the host could have been compromised at the time the PKGBUILD was written).
PKGBUILD
1 offending line(s) highlighted# Maintainer: Sauyon Lee <arch@sauyon.com>
# Contributor: Douglas Creager <dcreager@dcreager.net>
pkgname=fdr
pkgver=4.2.7
pkgrel=1
pkgdesc="Refinement checker for CSP"
arch=('x86_64')
url="https://www.cs.ox.ac.uk/projects/fdr/"
license=('custom')
depends=('libtinfo5' 'openssl-1.0' 'gcc-libs' 'qt5-base' 'qt5-3d' 'qt5-x11extras' 'libxcb' 'mesa' 'libffi6' 'libgl' 'libdrm')
source=('https://dl.cocotec.io/fdr/fdr-3814-linux-x86_64.tar.gz')
sha256sums=('1032b31f2974132e91cb1458341028894d40fb6bb8a10a9d4d986af25ff85231')
package() {
install -d "${pkgdir}/opt/fdr"
cp -r "${srcdir}/fdr/"{bin,lib} "${pkgdir}/opt/fdr"
for c in libstdc++* libQt5* libxcb* libglapi* libffi* libGL* libdrm*; do
find "${pkgdir}/opt/fdr/lib/" -name "$c" -delete
done
rm -rf "${pkgdir}/opt/fdr/lib/qt_plugins"
ln -s "../../../usr/lib/qt/plugins" "${pkgdir}/opt/fdr/lib/qt_plugins"
install -d "${pkgdir}/usr"
cp -r "${srcdir}/fdr/include" "${pkgdir}/usr"
install -d "${pkgdir}/usr/bin"
for c in cspmchecker cspmcheckeri fdr4 refines; do
ln -s "../../opt/fdr/bin/$c" "${pkgdir}/usr/bin"
done
install -d "${pkgdir}/usr/lib"
# for c in libfdr.so libcspm_process_compiler.so libprocess_compiler.so \
# librefines.so librefines_licensing.so libcsp_operators.so; do
# ln -s "../../opt/fdr/lib/$c" "${pkgdir}/usr/lib"
# done
cd "${pkgdir}/opt/fdr/lib"
find . -mindepth 1 -maxdepth 1 -exec ln -s {} "${pkgdir}/usr/lib" \;
install -d "${pkgdir}/usr/share/doc/fdr"
cp -r "${srcdir}/fdr/fdr-examples" "${pkgdir}/usr/share/doc/fdr/examples"
}
# vim:set ts=2 sw=2 et:
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 |