ghost-chat
maintainer zxp19821005
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package installs 'wails3' via 'go install' from a public module, which is a common build step for Go-based projects and not inherently malicious, though it reduces supply-chain control.
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 installs 'wails3' via 'go install' from a public module, which is a common build step for Go-based projects and not inherently malicious, though it reduces supply-chain control.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
External install via pipx/uv/poetry/cargo/go/gem
alt_pkg_manager_install
A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:76
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2
pkgname=ghost-chat
3
_pkgname=GhostChat
4
pkgver=4.6.0
5
_nodeversion=24
6
pkgrel=1
7
pkgdesc="A Standalone chat overlay for Twitch, Kick, YouTube and other streaming platforms."
8
arch=('any')
9
url="https://github.com/Enubia/ghost-chat"
10
license=('LicenseRef-DBAD')
11
conflicts=("${pkgname}")
12
depends=(
13
'webkitgtk-6.0'
14
'gtk3'
15
)
16
makedepends=(
17
'pnpm'
18
'npm'
19
'gendesk'
20
'go'
21
'nvm'
22
'curl'
23
'git'
24
)
25
source=(
26
"${pkgname}-${pkgver}::git+${url}#tag=v${pkgver}"
27
"modifiers_linux.go"
28
)
29
sha256sums=('6ed8a00c74cbcee1f5ee5fb814acd376cafdbd2b980afca1a978d1d18e8a9e50'
30
'131035c2816a154359af542ff002e53f48419311e6ab083eb9f944a5e2f0d24c')
31
_ensure_local_nvm() {
32
local NVM_DIR="${srcdir}/.nvm"
33
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
34
nvm install "${_nodeversion}"
35
nvm use "${_nodeversion}"
36
}
37
_set_build_env() {
38
export HOME="${srcdir}/.electron-gyp"
39
export PATH="${HOME}/go/bin:$PATH"
40
export CGO_ENABLED=1
41
export GO111MODULE=on
42
export GOOS=linux
43
export GOCACHE="${srcdir}/go-build"
44
export GOMODCACHE="${srcdir}/go/pkg/mod"
45
{
46
export PNPM_LINK_WORKSPACE_PACKAGES=true
47
export PNPM_FETCH_RETRY_MAXTIMEOUT=10000
48
export PNPM_CACHE_DIR="${srcdir}/.pnpm_cache"
49
export PNPM_STORE_DIR="${srcdir}/.pnpm_store"
50
export PNPM_VIRTUAL_STORE_DIR="${srcdir}/.pnpm_store"
51
export PNPM_SHAMEFULLY_HOIST=true
52
export PNPM_VIRTUAL_STORE_DIR_MAX_LENGTH=80
53
export PNPM_NODE_LINKER=hoisted
54
export PNPM_NETWORK_CONCURRENCY=32
55
}
56
if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
57
{
58
export pnpm_config_registry="https://registry.npmmirror.com"
59
export npm_config_registry="https://registry.npmmirror.com"
60
export NODEJS_ORG_MIRROR="https://npmmirror.com/mirrors/node"
61
export GOPROXY=https://goproxy.cn,direct
62
}
63
fi
64
}
65
prepare() {
66
cd "${srcdir}/${pkgname}-${pkgver}"
67
gendesk -f -n -q \
68
--pkgname="${pkgname}" \
69
--pkgdesc="${pkgdesc}" \
70
--categories="Utility" \
71
--name="${_pkgname}" \
72
--exec="${pkgname} %U"
73
_set_build_env
74
_ensure_local_nvm
75
cp "${srcdir}/modifiers_linux.go" internal/hotkey/modifiers_linux.go
76
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
77
cd "${srcdir}/${pkgname}-${pkgver}/frontend"
78
NODE_ENV=development pnpm install --frozen-lockfile
79
}
80
build() {
81
_set_build_env
82
_ensure_local_nvm
83
cd "${srcdir}/${pkgname}-${pkgver}/build"
84
go mod tidy
85
wails3 generate bindings -f '-tags production -trimpath -buildvcs=false -ldflags="-w -s -X main.version=v4.0.1"' -clean=true -ts
86
cd "${srcdir}/${pkgname}-${pkgver}/frontend"
87
NODE_ENV=production pnpm run build
88
cd "${srcdir}/${pkgname}-${pkgver}"
89
go build -tags production -trimpath -buildvcs=false -ldflags="-w -s -X main.version=v4.0.1" -o bin/ghost-chat
90
}
91
package() {
92
install -Dm755 "${srcdir}/${pkgname}-${pkgver}/bin/${pkgname}" -t "${pkgdir}/usr/bin"
93
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/build/appicon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
94
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
95
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE.md" -t "${pkgdir}/usr/share/licenses/${pkgname}"
96
}
97
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 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 |
| 2026-07-15 00:09:25 | LOW | 2 |