zero-ui
The package builds from a public git repository and uses a non-whitelisted npm mirror for dependencies, but this is a common practice for speeding up builds and does not introduce malicious behavior; the final installed files are built locally and the source is transparent.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from a public git repository and uses a non-whitelisted npm mirror for dependencies, but this is a common practice for speeding up builds and does not introduce malicious behavior; the final installed files are built locally and the source is transparent.
1 higher static finding superseded - not the current verdict (shown for transparency)
install_untrusted_index
An install command is pointed at a custom package index / registry on a non-allowlisted host (--index-url / --registry / --extra-index-url), a classic dependency-confusion vector.
-
PKGBUILD:32
yarn config set npmRegistryServer "https://registry.npmmirror.com"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Catty Steve <cattysteve89265@163.com>
pkgname=zero-ui
pkgver=r304.6f7bc6c
pkgrel=1
pkgdesc='Zerotier Controller UI'
arch=('x86_64')
url='https://github.com/dec0dOS/zero-ui'
license=('GPL')
depends=('nodejs' 'zerotier-one')
makedepends=('yarn-berry')
source=("zero-ui"::'git+https://github.com/dec0dOS/zero-ui'
zero-ui.service
zero-ui.conf)
sha256sums=('SKIP'
'496b4bc39ea3bc19f25336d034e13a185c505e716963908ffaabaaad39ba3910'
'e0534833f2eb8ecb56c2b9bbb4c09fc315b065c0c67b298d2dc13f116ce7f57a')
pkgver() {
cd "$srcdir/zero-ui"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "$srcdir/zero-ui"
mkdir -p app/frontend
mkdir -p app/backend
cp yarn.lock .yarnrc.yml app/frontend
#cp -r .yarn app/frontend/.yarn
cp ./frontend/package*.json app/frontend
cd "app/frontend"
yarn config set npmRegistryServer "https://registry.npmmirror.com"
yarn config set checksumBehavior "ignore"
yarn install
cd "$srcdir/zero-ui"
cp -r frontend app/
cd "app/frontend"
yarn build
cd "$srcdir/zero-ui"
cp yarn.lock .yarnrc.yml app/backend
#cp -r .yarn app/backend/.yarn
cp ./backend/package*.json app/backend
cd "app/backend"
yarn install
cd "$srcdir/zero-ui"
cp -r backend app/
}
package() {
mkdir -p "$pkgdir/usr/share/webapps/zero-ui/frontend"
mkdir -p "$pkgdir/usr/lib/systemd/system"
mkdir -p "$pkgdir/etc"
cp -r "$srcdir/zero-ui/app/frontend/build" "$pkgdir/usr/share/webapps/zero-ui/frontend/build"
cp -r "$srcdir/zero-ui/app/backend" "$pkgdir/usr/share/webapps/zero-ui/backend"
cp "$srcdir/zero-ui.service" "$pkgdir/usr/lib/systemd/system/"
cp "$srcdir/zero-ui.conf" "$pkgdir/etc/zero-ui.conf"
}
# vim:set sts=4 sw=4 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |