aiot-ide

maintainer OrPudding · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt binary .deb from 'vela-ide.cnbj3-fusion.mi-fds.com', which is a Xiaomi/Mi CDN/storage subdomain (mi-fds.com is Xiaomi's file distribution service). The URL structure and package content (AIoT IDE for Xiaomi Vela/quickApp development) are consistent with an official Xiaomi developer tool. However, this is still a prebuilt, closed-source binary blob from a vendor CDN rather than a reproducible build from source, and the host is not the primary project domain (iot.mi.com). A sha256sum is provided, which mitigates substitution risk at the current version. The PKGBUILD itself is straightforward: it extracts the .deb and installs files. The main concern is the standard supply-chain risk of executing a proprietary prebuilt binary from a CDN — if the CDN were compromised or the URL reused for a different binary, the sha256 check would catch it for the pinned version but future updates could silently introduce malicious code. This is a legitimate medium-severity concern (prebuilt binary from unofficial/CDN host) but not an active attack.

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:40 source=("$pkgname-$pkgver.deb::https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide/ide/v1.7.0/AIoT_IDE_ubuntu.deb")
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 .deb from 'vela-ide.cnbj3-fusion.mi-fds.com', which is a Xiaomi/Mi CDN/storage subdomain (mi-fds.com is Xiaomi's file distribution service). The URL structure and package content (AIoT IDE for Xiaomi Vela/quickApp development) are consistent with an official Xiaomi developer tool. However, this is still a prebuilt, closed-source binary blob from a vendor CDN rather than a reproducible build from source, and the host is not the primary project domain (iot.mi.com). A sha256sum is provided, which mitigates substitution risk at the current version. The PKGBUILD itself is straightforward: it extracts the .deb and installs files. The main concern is the standard supply-chain risk of executing a proprietary prebuilt binary from a CDN — if the CDN were compromised or the URL reused for a different binary, the sha256 check would catch it for the pinned version but future updates could silently introduce malicious code. This is a legitimate medium-severity concern (prebuilt binary from unofficial/CDN host) but not an active attack.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: OrPudding <t3164473115@163.com>
2pkgname=aiot-ide
3pkgver=1.7.0
4pkgrel=1
5pkgdesc="Code editing. Redefined. AIoT IDE is the first choice for developing quickApp."
6arch=('x86_64')
7url="https://iot.mi.com/vela/quickapp/"
8license=('custom')
9options=('!debug')
10depends=(
11 'ca-certificates'
12 'alsa-lib'
13 'at-spi2-core'
14 'atk'
15 'cairo'
16 'cups'
17 'curl'
18 'dbus'
19 'expat'
20 'gcc-libs'
21 'glib2'
22 'gtk3'
23 'libx11'
24 'libxcb'
25 'libxcomposite'
26 'libxdamage'
27 'libxext'
28 'libxfixes'
29 'libxkbcommon'
30 'libxkbfile'
31 'libxrandr'
32 'mesa'
33 'nspr'
34 'nss'
35 'pango'
36 'systemd-libs'
37 'xdg-utils'
38 'vulkan-icd-loader'
39)
40source=("$pkgname-$pkgver.deb::https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide/ide/v1.7.0/AIoT_IDE_ubuntu.deb")
41sha256sums=('37809fde16cac7838e757e81754236f235af7180a56ecf40c78ad8030f5533e6')
42
43prepare() {
44 # Extract DEB package
45 ar x "$pkgname-$pkgver.deb"
46 tar -xf data.tar.*
47}
48
49package() {
50 # Copy all files
51 cp -r usr "$pkgdir"
52
53 # Create executable symlink
54 install -d "$pkgdir/usr/bin/"
55 ln -s "/usr/share/$pkgname/bin/$pkgname" "$pkgdir/usr/bin/$pkgname"
56
57 # Fix permissions
58 find "$pkgdir/usr/share/$pkgname" -type d -exec chmod 755 {} \;
59 find "$pkgdir/usr/share/$pkgname" -type f -executable -exec chmod 755 {} \;
60
61 # Fix desktop files
62 find "$pkgdir/usr/share/applications" -name "*.desktop" -exec chmod 644 {} \;
63
64 # Install license
65 if [ -f "$pkgdir/usr/share/$pkgname/LICENSE.txt" ]; then
66 install -Dm644 "$pkgdir/usr/share/$pkgname/LICENSE.txt" \
67 "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
68 elif [ -f "$pkgdir/usr/share/$pkgname/LICENSES.chromium.html" ]; then
69 install -Dm644 "$pkgdir/usr/share/$pkgname/LICENSES.chromium.html" \
70 "$pkgdir/usr/share/licenses/$pkgname/LICENSE.html"
71 else
72 install -Dm644 /dev/null "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
73 echo "Proprietary license - see package source" > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
74 fi
75
76 # Fix icon permissions
77 if [ -d "$pkgdir/usr/share/pixmaps" ]; then
78 find "$pkgdir/usr/share/pixmaps" -type f -exec chmod 644 {} \;
79 fi
80
81 # Ensure sandbox is executable
82 if [ -f "$pkgdir/usr/share/$pkgname/chrome-sandbox" ]; then
83 chmod 4755 "$pkgdir/usr/share/$pkgname/chrome-sandbox"
84 fi
85}
86

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