bookman-cockpit

maintainer pschichtel · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt Windows executable (bookman_windows.exe) from an unversioned redirect URL (go.bookman.de/Microsoft) and then unzips it to extract JARs that are executed at runtime. The URL is unversioned, meaning the content can change at any time without the checksum catching it on future builds — however, a sha256sum IS provided for the current download, which mitigates immediate substitution risk. The host go.bookman.de appears to be the official vendor's redirect domain (bookman.de is the vendor's own domain), so this is not a random personal/unofficial host. The install4j-runtime JAR is pulled from maven.ej-technologies.com, which is the official install4j vendor Maven repository. The main concern is the unversioned URL combined with extracting and running JARs from a Windows installer, but since the source is the vendor's own domain and a checksum is present, this is a medium-level supply-chain concern (unversioned URL means the checksum will eventually diverge and future packagers may be tempted to skip or update it blindly) rather than an active attack. The maintainer even acknowledges this in a comment. Overall: real but moderate supply-chain concern, not clearly malicious.

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:14 source=("${pkgname}-${pkgver}.zip::https://go.bookman.de/Microsoft"
  • PKGBUILD:15 "https://maven.ej-technologies.com/repository/com/install4j/install4j-runtime/9.0.7/install4j-runtime-9.0.7.jar"
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 downloads a prebuilt Windows executable (bookman_windows.exe) from an unversioned redirect URL (go.bookman.de/Microsoft) and then unzips it to extract JARs that are executed at runtime. The URL is unversioned, meaning the content can change at any time without the checksum catching it on future builds — however, a sha256sum IS provided for the current download, which mitigates immediate substitution risk. The host go.bookman.de appears to be the official vendor's redirect domain (bookman.de is the vendor's own domain), so this is not a random personal/unofficial host. The install4j-runtime JAR is pulled from maven.ej-technologies.com, which is the official install4j vendor Maven repository. The main concern is the unversioned URL combined with extracting and running JARs from a Windows installer, but since the source is the vendor's own domain and a checksum is present, this is a medium-level supply-chain concern (unversioned URL means the checksum will eventually diverge and future packagers may be tempted to skip or update it blindly) rather than an active attack. The maintainer even acknowledges this in a comment. Overall: real but moderate supply-chain concern, not clearly malicious.

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Phillip Schichtel <phillip@schich.tel>
2pkgname=bookman-cockpit
3pkgver=1.18.8.0
4pkgrel=1
5options=(!strip)
6pkgdesc="Bookman Cockpit"
7arch=(any)
8url="https://www.bookman.de/"
9license=('custom')
10depends=('java-environment=25' 'java25-openjfx' 'ttf-liberation')
11makedepends=('jdk25-openjdk' 'unzip')
12# the bit.ly link looks suspicious, but that's what they use on their website.
13# Also the download is not versioned, so this will eventuelly break due to integrity checks failing.
14source=("${pkgname}-${pkgver}.zip::https://go.bookman.de/Microsoft"
15 "https://maven.ej-technologies.com/repository/com/install4j/install4j-runtime/9.0.7/install4j-runtime-9.0.7.jar"
16 "OperatingSystemUtil.java"
17 "logback.xml"
18 "${pkgname}.desktop"
19 "${pkgname}.sh")
20sha256sums=('e9dd2b1b9c570b2fec1f332d734f1230a55090cd841c40df69b4b0f996b9cdca'
21 '5a0bd9ca7d0632eec36d9f3b4980741f70e47511ee070c1da6c7c778ed058106'
22 'f2a742dabb4f1ac32867c3ba152355695220e4bd4a7ba032de98e3c5d2ed3309'
23 'ef6cf40ff0a46853f2d5308c884e17328a6a36009f5697d5914bfbb720cac261'
24 '32db57235ad25fadb8b2a4a02f7618c7a51df33b50df780613f06cb33fb977e3'
25 '391e9a86f4f2fde98ef42f287bd79bb810002cce7d5ba1ec600236d3098b59e2')
26
27build() {
28 export JAVA_HOME=/usr/lib/jvm/java-25-openjdk
29
30 "$JAVA_HOME/bin/javac" -d "$srcdir/classes" "OperatingSystemUtil.java"
31 cd "$srcdir"
32 unzip -o bookman_windows.exe || [ "$?" = "1" ] || ( echo "Unzip failed!" >&2 && return 1 )
33 unzip -op "bin/bookman-${pkgver}.jar" 'icons/bookman.png' > bookman.png
34}
35
36package() {
37 local optdir="/opt/${pkgname}"
38 local target="${pkgdir}${optdir}"
39
40 install -dm755 "$target"
41 install -dm755 "${pkgdir}/usr/bin"
42 install -m755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
43
44 install -dm755 "$target/jars"
45 cp -a "${srcdir}/bin/lib/." "$target/jars"
46 cp -a "${srcdir}/bin/bookman-${pkgver}.jar" "$target/jars"
47 cp -a "${srcdir}/install4j-runtime-9.0.7.jar" "$target/jars"
48
49 cp -a "${srcdir}/classes" "$target/override"
50 find "$target/override" -type d -exec chown 755 "{}" \;
51 find "$target/override" -type f -exec chown 644 "{}" \;
52 install -m644 "${srcdir}/logback.xml" "$target/override"
53
54 local icondir="${pkgdir}/usr/share/icons/hicolor/256x256/apps"
55 install -dm755 "$icondir"
56 install -m644 "${srcdir}/bookman.png" "$icondir/${pkgname}.png"
57
58 local appsdir="${pkgdir}/usr/share/applications"
59 install -dm755 "$appsdir"
60 cp "${srcdir}/${pkgname}.desktop" "$appsdir"
61}
62

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