autocut-client

LOW
maintainer zxp19821005 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The npm install and npx executions are part of the build process for the project's own dependencies and tools, using sources from the project's repository; the use of a mirror in China is a common optimization and does not introduce malicious 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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The npm install and npx executions are part of the build process for the project's own dependencies and tools, using sources from the project's repository; the use of a mirror in China is a common optimization and does not introduce malicious risk.

2 higher static findings superseded - not the current verdict (shown for transparency)
Medium npm/yarn/pnpm install of an undeclared external package npm_install_external

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

  • PKGBUILD:67 NODE_ENV=development npm add -D @intlify/shared@latest @intlify/bundle-utils@latest @intlify/vue-i18n-loader@latest vue-i18n@latest
Medium npx/bunx/deno executes a remote package remote_code_tool

`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.

  • PKGBUILD:72 NODE_ENV=production npx vue-tsc --noEmit
  • PKGBUILD:73 NODE_ENV=production npx vite build

PKGBUILD

3 offending line(s) highlighted
1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2pkgname=autocut-client
3pkgver=0.1.12
4_electronversion=21
5_nodeversion=18
6pkgrel=2
7pkgdesc="Quickly generate video subtitles and edit the video by selecting subtitle clips.(Use system-wide electron)"
8arch=('any')
9url="https://github.com/zcf0508/autocut-client"
10license=('MIT')
11conflicts=("${pkgname}")
12depends=(
13 "electron${_electronversion}"
14 'ffmpeg'
15 "${pkgname%-client}"
16)
17makedepends=(
18 'npm'
19 'nvm'
20 'curl'
21 'git'
22)
23source=(
24 "${pkgname}-${pkgver}::git+${url}#tag=v${pkgver}"
25 "${pkgname}.desktop"
26 "${pkgname}.sh"
27)
28sha256sums=('a36e008aadd1947483ae087cebb57ceb7fc01dc871a4fb491ad47a57b73fde1e'
29 '81112e94bb071a080abfc9fa97e56e8c53e9c9230aed6d08e4182a30c93bb1c8'
30 '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980')
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}
37prepare() {
38 sed -i -e "
39 s/@electronversion@/${_electronversion}/g
40 s/@appname@/${pkgname}/g
41 s/@runname@/app.asar/g
42 s/@cfgdirname@/${pkgname}/g
43 s/@options@//g
44 " "${srcdir}/${pkgname}.sh"
45 _ensure_local_nvm
46 cd "${srcdir}/${pkgname}-${pkgver}"
47 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
48 export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"
49 HOME="${srcdir}/.electron-gyp"
50 {
51 echo -e '\n'
52 #echo 'build_from_source=true'
53 echo "cache=${srcdir}/.npm_cache"
54 echo "maxsockets=10"
55 } >> .npmrc
56 if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
57 {
58 echo 'registry=https://registry.npmmirror.com'
59 echo 'electron_mirror=https://registry.npmmirror.com/-/binary/electron/'
60 echo 'electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/'
61 } >> .npmrc
62 find ./ -type f -name "package-lock.json" -exec sed -i "s/registry.npmjs.org/registry.npmmirror.com/g" {} +
63 fi
64 sed -i "s/\/v\${version}//g" electron-builder.json5
65 sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
66 NODE_ENV=development npm install --leagcy-peer-deps
67 NODE_ENV=development npm add -D @intlify/shared@latest @intlify/bundle-utils@latest @intlify/vue-i18n-loader@latest vue-i18n@latest
68}
69build() {
70 cd "${srcdir}/${pkgname}-${pkgver}"
71 local electronDist="/usr/lib/electron${_electronversion}"
72 NODE_ENV=production npx vue-tsc --noEmit
73 NODE_ENV=production npx vite build
74 NODE_ENV=production npm exec -c "electron-builder --linux dir -c.electronDist=${electronDist} --config electron-builder.json5"
75}
76package() {
77 install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname}"
78 install -Dm644 "${srcdir}/${pkgname}-${pkgver}/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}"
79 install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
80 install -Dm644 "${srcdir}/${pkgname}-${pkgver}/dist/node.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
81 install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
82}

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 3
2026-09-16 00:03:17 Low 3
2026-09-15 00:25:31 Low 3
2026-09-14 00:27:57 Low 3
2026-09-13 00:19:54 Low 3
2026-09-12 00:25:17 Low 3
2026-09-11 00:19:22 Low 3
2026-09-10 00:22:44 Low 3
2026-09-09 00:04:09 Low 3
2026-09-08 00:18:08 Low 3
2026-09-07 00:30:15 Low 3
2026-09-06 00:17:06 Low 3
2026-09-05 00:16:27 Low 3
2026-09-04 00:03:13 Low 3
2026-09-03 00:15:47 Low 3
2026-09-02 00:02:31 Low 3
2026-09-01 00:11:19 Low 3
2026-08-31 00:19:57 Low 3
2026-08-30 00:04:14 Low 3
2026-08-29 00:29:17 Low 3

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion