futubull-desktop-bin
maintainer hoywu
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt .deb from the official vendor's domain (futunn.com), which is plausibly the project's own release infrastructure; installing prebuilt binaries from official project domains is a common and acceptable AUR pattern with low supply-chain risk.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt .deb from the official vendor's domain (futunn.com), which is plausibly the project's own release infrastructure; installing prebuilt binaries from official project domains is a common and acceptable AUR pattern with low supply-chain risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:29
source_x86_64=("${_deb}::https://softwaredownload.futunn.com/FTNN_desktop_${pkgver}_amd64.deb"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: hoywu <wu_git [at-symbol] outlook [dot] com>
2
3
_pkgname=futubull-desktop
4
5
pkgname=${_pkgname}-bin
6
pkgver=16.24.16908
7
pkgrel=1
8
pkgdesc="One-Stop Trading Platform for Hong Kong, US and China Connect Stocks"
9
arch=('x86_64')
10
url="https://www.futunn.com/"
11
license=('custom')
12
conflicts=('ftnn-desktop')
13
depends=(
14
'glibc'
15
'glib2'
16
'libxcb'
17
'libx11'
18
'libxext'
19
'libxkbcommon'
20
'libxkbcommon-x11'
21
'libmng'
22
'xcb-util-wm'
23
'xcb-util-image'
24
'xcb-util-keysyms'
25
'xcb-util-renderutil'
26
)
27
options=('!strip' '!debug' '!emptydirs')
28
_deb="${pkgname}-${pkgver}.deb"
29
source_x86_64=("${_deb}::https://softwaredownload.futunn.com/FTNN_desktop_${pkgver}_amd64.deb"
30
"futubull.desktop")
31
sha256sums_x86_64=('3d648ad322fe02455a29708f773b3ecc909a95ff598b4a224c50d0a249bd8649'
32
'a08936d41b249848e7cb1b2339f9cff6db5f7698a76c23580267353ec68fc1f6')
33
34
package() {
35
# Extract files from the deb package
36
tar -xJ -f data.tar.xz -C "${pkgdir}"
37
mv "${pkgdir}/opt/FTNN" "${pkgdir}/opt/${_pkgname}"
38
rm -rf "${pkgdir}/out"
39
40
# Setup permissions
41
chown -R root:root "${pkgdir}/opt/${_pkgname}"
42
chmod 755 "${pkgdir}/opt/${_pkgname}"
43
find "${pkgdir}/opt/${_pkgname}" -type f -executable -exec chmod 755 {} +
44
45
# Symlink executable
46
install -dm755 "${pkgdir}/usr/bin/"
47
ln -s "/opt/${_pkgname}/FTNN" "${pkgdir}/usr/bin/${_pkgname}"
48
49
# Install desktop entry and icon
50
install -Dm644 "${srcdir}/futubull.desktop" \
51
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
52
install -Dm644 "${pkgdir}/opt/${_pkgname}/app.png" \
53
"${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
54
55
# Install license
56
install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"
57
echo "See: https://www.futunn.com/about/services" > "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
58
}
59
Changes since previous scan
--- PKGBUILD @ 2026-07-22 00:29+++ PKGBUILD @ 2026-08-03 00:08@@ -3,7 +3,7 @@ _pkgname=futubull-desktop pkgname=${_pkgname}-bin-pkgver=16.23.16808+pkgver=16.24.16908 pkgrel=1 pkgdesc="One-Stop Trading Platform for Hong Kong, US and China Connect Stocks" arch=('x86_64')@@ -28,7 +28,7 @@ _deb="${pkgname}-${pkgver}.deb" source_x86_64=("${_deb}::https://softwaredownload.futunn.com/FTNN_desktop_${pkgver}_amd64.deb" "futubull.desktop")-sha256sums_x86_64=('62ac52ef2c1a6993c4a8989cd9eb5c1bed025c35a45718033f495a6a72ac4699'+sha256sums_x86_64=('3d648ad322fe02455a29708f773b3ecc909a95ff598b4a224c50d0a249bd8649' 'a08936d41b249848e7cb1b2339f9cff6db5f7698a76c23580267353ec68fc1f6') package() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 03:18:55 | MEDIUM | 1 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |