circuitjs-bin

MEDIUM
maintainer orphaned 2 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The PKGBUILD installs a prebuilt binary tarball (circuitjs1-linux64.tgz) from www.falstad.com, which is the official upstream vendor site for the Falstad Circuit Simulator — this is legitimate. However, two concerns remain: (1) The main binary source uses 'SKIP' for its sha256sum, meaning there is no integrity verification of the executed binary at all; if the upstream host is compromised or the file is swapped, there is no detection mechanism. (2) The icon is fetched from postimg.cc, a third-party image hosting service with no integrity guarantee beyond its sha256sum. The combination of an unverified prebuilt binary (SKIP checksum) installed to /opt and symlinked into /usr/bin constitutes a real supply-chain risk — not because the current content is malicious, but because the missing checksum means any future substitution of the binary would go undetected. This warrants a medium rating.

Triggered rules

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:17 source=("https://www.falstad.com/circuit/offline/circuitjs1-linux64.tgz"
  • PKGBUILD:18 https://i.postimg.cc/Y0ZkBmDV/circuitjs.png
Medium AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD installs a prebuilt binary tarball (circuitjs1-linux64.tgz) from www.falstad.com, which is the official upstream vendor site for the Falstad Circuit Simulator — this is legitimate. However, two concerns remain: (1) The main binary source uses 'SKIP' for its sha256sum, meaning there is no integrity verification of the executed binary at all; if the upstream host is compromised or the file is swapped, there is no detection mechanism. (2) The icon is fetched from postimg.cc, a third-party image hosting service with no integrity guarantee beyond its sha256sum. The combination of an unverified prebuilt binary (SKIP checksum) installed to /opt and symlinked into /usr/bin constitutes a real supply-chain risk — not because the current content is malicious, but because the missing checksum means any future substitution of the binary would go undetected. This warrants a medium rating.

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Ali Najafian <AliNajafian81@gmail.com>
2pkgname=circuitjs-bin
3pkgver=2.7.1
4pkgrel=1
5pkgdesc="Falstad Circuit Simulator for Linux. (Real and offline version)"
6arch=(x86_64)
7url="https://www.falstad.com/circuit/"
8license=('GPL')
9depends=()
10makedepends=()
11checkdepends=()
12optdepends=()
13provides=(circuitjs-bin)
14conflicts=(circuitjs-bin)
15options=(!strip)
16
17source=("https://www.falstad.com/circuit/offline/circuitjs1-linux64.tgz"
18 https://i.postimg.cc/Y0ZkBmDV/circuitjs.png
19 circuitjs.desktop)
20sha256sums=('SKIP' 'b3ed46fb30478e7207a557658226be18ae1edacd1ee784cb2089e6eaa9a13716' 'e9cb7b4b74ff97f4a5da500bb7217d2796bbe21f2ed62508b391275adb1e3a14')
21
22
23package()
24{
25 cd $srcdir/circuitjs1
26 echo packaging ${pkgname}
27 install -d $pkgdir/opt/circuitjs/
28 install -d ${pkgdir}/usr/bin
29 cp -R "${srcdir}/circuitjs1/." "${pkgdir}/opt/circuitjs/"
30
31 # create symlink from real opt to bin
32 ln -s /opt/circuitjs/circuitjs1 "${pkgdir}"/usr/bin/circuitjs
33
34 #integrate the desktop file
35 install -d ${pkgdir}/usr/share/applications/
36 install -m644 ${srcdir}/circuitjs.desktop ${pkgdir}/usr/share/applications/circuitjs.desktop
37
38 #integrate icons...
39 for res in 32 48 64 128 192 256 512; do
40 install -d $pkgdir/usr/share/icons/hicolor/${res}x${res}/apps
41 install -m644 ${srcdir}/circuitjs.png $pkgdir/usr/share/icons/hicolor/${res}x${res}/apps/circuitjs.png
42 done
43
44 echo done!
45}
46

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Medium 2
2026-09-16 00:03:17 Medium 2
2026-09-15 00:25:31 Medium 2
2026-09-14 00:27:57 Medium 2
2026-09-13 00:19:54 Medium 2
2026-09-12 00:25:17 Medium 2
2026-09-11 00:19:22 Medium 2
2026-09-10 00:22:44 Medium 2
2026-09-09 00:04:09 Medium 2
2026-09-08 00:18:08 Medium 2
2026-09-07 00:30:15 Medium 2
2026-09-06 00:17:06 Medium 2
2026-09-05 00:16:27 Medium 2
2026-09-04 00:03:13 Medium 2
2026-09-03 00:15:47 Medium 2
2026-09-02 00:02:31 Medium 2
2026-09-01 00:11:19 Medium 2
2026-08-31 00:19:57 Medium 2
2026-08-30 00:04:14 Medium 2
2026-08-29 00:29:17 Medium 2

Report a package

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

0 / 4000
Your suggestion