hexhub-bin
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:13
source=('https://oss.hexhub.cn/plugin/HexHub-amd64-appimage-1.2.2.AppImage')
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 75%): This PKGBUILD downloads a prebuilt AppImage binary from oss.hexhub.cn, which is the vendor's own OSS (Object Storage Service) host for hexhub.cn. The binary is extracted and installed as an executable. While this appears to be the official vendor distribution channel (matching the project URL hexhub.cn), it is still a closed-source prebuilt binary from a Chinese CDN/OSS host with no way to verify the build provenance. The sha256sum provides integrity checking against tampering in transit, but does not verify the binary's origin or contents. The AppImage is executed during prepare() to extract it, meaning arbitrary code runs at build time. The license is declared GPL but this is a proprietary all-in-one tool (database/docker/ssh/sftp client), making the GPL claim suspicious. Overall this is a legitimate medium-risk pattern: a prebuilt binary from a vendor-controlled but non-auditable host, executed during the build process.
PKGBUILD
1 offending line(s) highlighted# Maintainer: wwxiaoqi <tahicoing@gmail.com>
pkgname=hexhub-bin
pkgver=1.2.2
pkgrel=1
pkgdesc="database, docker, ssh, sftp. all in one"
arch=('x86_64')
url='https://www.hexhub.cn/'
license=('GPL')
depends=()
conflicts=()
options=("!strip" "!debug")
source=('https://oss.hexhub.cn/plugin/HexHub-amd64-appimage-1.2.2.AppImage')
sha256sums=('92bb5ec914e4ddf0e061afc6bad4ec0d952de8204c9fcdd05aa502e05ca86382')
_pkgname=HexHub-amd64-appimage-1.2.2.AppImage
noextract=("$_pkgname")
prepare() {
chmod +x "$_pkgname"
./"$_pkgname" --appimage-extract > /dev/null
}
build() {
# Adjust .desktop so it will work autside of AppImage container
sed -i \
-e "s|Exec=HexHub|Exec=/opt/$pkgname/AppRun|" \
-e "s+^Icon=.*+Icon=hexhub-bin+" \
-e "s|^Terminal=true|Terminal=false|" \
-e "s|^NoDisplay=true|NoDisplay=false|" \
"squashfs-root/appimagetool.desktop"
# Fix work no so files.
sed -i \
-e "s|cd \"\$(dirname \"\$0\")\"|cd /opt/$pkgname|" \
"squashfs-root/AppRun"
}
package() {
# Icon images
install -Dm644 "squashfs-root/hexhub.png" \
"$pkgdir/usr/share/icons/hicolor/512x512/apps/hexhub-bin.png"
# Desktop file
install -Dm644 "$srcdir/squashfs-root/appimagetool.desktop" \
"$pkgdir/usr/share/applications/HexHub.desktop"
# Copy executable
mkdir -p "$pkgdir/opt/$pkgname"
cp -r "$srcdir/squashfs-root/." "$pkgdir/opt/$pkgname/"
# Copy Bin run file
install -dm755 "$pkgdir/usr/bin"
cp -r "$pkgdir/opt/$pkgname/AppRun" "$pkgdir/usr/bin/hexhub"
}
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 |