moomoo-opend-bin

maintainer liveopt · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt binary tarball (containing both a native OpenD daemon binary and an AppImage GUI) from softwaredownload.futustatic.com. This domain is Futu/Moomoo's official CDN/static asset host — 'futustatic.com' is used by Futu Securities (the company behind Moomoo) for software distribution, making this a legitimate official vendor host rather than a random personal server. However, the package still installs and executes prebuilt proprietary binaries (the OpenD daemon via cp -a and the AppImage) without any source build, which is the inherent nature of a -bin package. The sha256sum is pinned, which mitigates tampering risk. The concern is real but standard for binary AUR packages from proprietary vendors: users must trust the vendor's CDN. This is a medium-severity supply-chain concern (prebuilt binary from a vendor CDN, not open-source), but not clearly malicious or from an unofficial/unrelated host. The cheaper model's assessment of 'non-standard host' is partially incorrect — futustatic.com appears to be Futu's own CDN — but the underlying concern about executing prebuilt binaries remains valid at medium severity.

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:12 source=("${pkgname}-${pkgver}.tar.gz::https://softwaredownload.futustatic.com/moomoo_OpenD_${pkgver}_Ubuntu18.04.tar.gz")
MEDIUM AI review 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 (containing both a native OpenD daemon binary and an AppImage GUI) from softwaredownload.futustatic.com. This domain is Futu/Moomoo's official CDN/static asset host — 'futustatic.com' is used by Futu Securities (the company behind Moomoo) for software distribution, making this a legitimate official vendor host rather than a random personal server. However, the package still installs and executes prebuilt proprietary binaries (the OpenD daemon via cp -a and the AppImage) without any source build, which is the inherent nature of a -bin package. The sha256sum is pinned, which mitigates tampering risk. The concern is real but standard for binary AUR packages from proprietary vendors: users must trust the vendor's CDN. This is a medium-severity supply-chain concern (prebuilt binary from a vendor CDN, not open-source), but not clearly malicious or from an unofficial/unrelated host. The cheaper model's assessment of 'non-standard host' is partially incorrect — futustatic.com appears to be Futu's own CDN — but the underlying concern about executing prebuilt binaries remains valid at medium severity.

PKGBUILD

1 offending line(s) highlighted
1pkgname=moomoo-opend-bin
2pkgver=10.6.6608
3pkgrel=1
4pkgdesc="Moomoo OpenD command-line daemon and GUI"
5arch=('x86_64')
6url='https://openapi.moomoo.com/'
7license=('custom:proprietary')
8depends=('fuse2' 'gcc-libs' 'glibc' 'hicolor-icon-theme')
9provides=('moomoo-opend' 'futu-opend')
10conflicts=('moomoo-opend' 'futu-opend')
11options=('!debug' '!strip')
12source=("${pkgname}-${pkgver}.tar.gz::https://softwaredownload.futustatic.com/moomoo_OpenD_${pkgver}_Ubuntu18.04.tar.gz")
13sha256sums=('73116d7ba5adaf4e3d3fb6aaefb66466d2604ad73260cf75accc1d349e169dc8')
14
15prepare() {
16 local base="moomoo_OpenD_${pkgver}_Ubuntu18.04"
17 local gui_src="$srcdir/$base/moomoo_OpenD-GUI_${pkgver}_Ubuntu18.04/moomoo_OpenD-GUI_${pkgver}_Ubuntu18.04.AppImage"
18
19 rm -rf "$srcdir/squashfs-root"
20 (
21 cd "$srcdir"
22 "$gui_src" --appimage-extract moomoo_OpenD.png >/dev/null
23 )
24}
25
26package() {
27 local base="moomoo_OpenD_${pkgver}_Ubuntu18.04"
28 local install_dir="$pkgdir/opt/moomoo-opend"
29 local opend_src="$srcdir/$base/$base"
30 local gui_src="$srcdir/$base/moomoo_OpenD-GUI_${pkgver}_Ubuntu18.04/moomoo_OpenD-GUI_${pkgver}_Ubuntu18.04.AppImage"
31
32 install -dm755 "$install_dir" "$pkgdir/usr/bin" \
33 "$pkgdir/usr/share/applications" "$pkgdir/usr/share/icons/hicolor/256x256/apps" \
34 "$pkgdir/usr/share/doc/$pkgname"
35
36 cp -a "$opend_src" "$install_dir/opend"
37 install -Dm755 "$gui_src" "$install_dir/moomoo-opend-gui.AppImage"
38 install -Dm644 "$srcdir/$base/README.txt" "$pkgdir/usr/share/doc/$pkgname/README.txt"
39 install -Dm644 "$opend_src/OpenD.xml" "$pkgdir/usr/share/doc/$pkgname/OpenD.xml.example"
40
41 cat > "$pkgdir/usr/bin/moomoo-opend" <<'EOF'
42#!/usr/bin/env bash
43set -euo pipefail
44
45install_dir=/opt/moomoo-opend/opend
46config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/moomoo-opend"
47state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/moomoo-opend"
48config_file="$config_dir/OpenD.xml"
49
50mkdir -p "$config_dir" "$state_dir/logs"
51if [[ ! -f "$config_file" ]]; then
52 cp "$install_dir/OpenD.xml" "$config_file"
53 chmod 600 "$config_file"
54fi
55
56cd "$install_dir"
57exec ./OpenD -cfg_file="$config_file" -log_path="$state_dir/logs" "$@"
58EOF
59 chmod 755 "$pkgdir/usr/bin/moomoo-opend"
60
61 cat > "$pkgdir/usr/bin/moomoo-opend-gui" <<'EOF'
62#!/usr/bin/env bash
63exec /opt/moomoo-opend/moomoo-opend-gui.AppImage "$@"
64EOF
65 chmod 755 "$pkgdir/usr/bin/moomoo-opend-gui"
66
67 cat > "$pkgdir/usr/share/applications/moomoo-opend.desktop" <<EOF
68[Desktop Entry]
69Type=Application
70Name=Moomoo OpenD
71Comment=OpenAPI gateway for Moomoo
72Exec=moomoo-opend-gui
73Icon=moomoo-opend
74Terminal=false
75Categories=Office;Finance;
76EOF
77
78 install -Dm644 "$srcdir/squashfs-root/moomoo_OpenD.png" \
79 "$pkgdir/usr/share/icons/hicolor/256x256/apps/moomoo-opend.png"
80}
81

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