circuitjs-bin

maintainer orphaned · 2 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
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-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

Report a package

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

0 / 4000
Your suggestion