teams-for-linux
The npx command runs electron-builder on the locally downloaded and verified source code, which is a standard part of building an Electron app; the remote package execution is limited to a well-known tool in the build chain and does not introduce untrusted remote code execution.
Triggered rules
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The npx command runs electron-builder on the locally downloaded and verified source code, which is a standard part of building an Electron app; the remote package execution is limited to a well-known tool in the build chain and does not introduce untrusted remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:26
npx electron-builder build --arm64 --linux dir -
PKGBUILD:28
npx electron-builder build --armv7l --linux dir -
PKGBUILD:30
npx electron-builder build --ia32 --linux dir -
PKGBUILD:32
npx electron-builder build --x64 --linux dir
PKGBUILD
4 offending line(s) highlighted# Maintainer: Phillip Schichtel <phillip at schich dot tel>
# Contributor: Fredy García <frealgagu at gmail dot com>
# Contributor: Ivelin Velkov <ivelin dot velkov at gmail dot com>
pkgname=teams-for-linux
pkgver=2.27.0
pkgrel=1
pkgdesc="Unofficial Microsoft Teams client for Linux using Electron."
arch=("aarch64" "armv7h" "i686" "x86_64")
url="https://github.com/IsmaelMartinez/${pkgname}"
license=("GPL-3.0-only")
depends=("gtk3" "libxss" "nss")
optdepends=('libfido2: WebAuthn with FIDO2 devices')
makedepends=("nodejs>=18" "node-gyp" "npm")
source=(
"${pkgname}-${pkgver}.tar.gz::https://github.com/IsmaelMartinez/${pkgname}/archive/v${pkgver}.tar.gz"
"${pkgname}.desktop"
)
sha256sums=('aa9a7a73cbb3535c439bce385f46ad48a21d70313aa44096fad5245ab6baced4'
'e67c98084736f797c575970935dd773b5c348ea3d9522bc5db733a92361fc05e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
npm_config_cache="${srcdir}/package-cache" npm install
if [[ ${CARCH} == "aarch64" ]]; then
npx electron-builder build --arm64 --linux dir
elif [[ ${CARCH} == "armv7h" ]]; then
npx electron-builder build --armv7l --linux dir
elif [[ ${CARCH} == "i686" ]]; then
npx electron-builder build --ia32 --linux dir
elif [[ ${CARCH} == "x86_64" ]]; then
npx electron-builder build --x64 --linux dir
fi
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
install -dm755 "${pkgdir}/opt" "${pkgdir}/usr/bin"
if [[ ${CARCH} == "aarch64" ]]; then
_unpacked_dirname="linux-arm64-unpacked"
elif [[ ${CARCH} == "armv7h" ]]; then
_unpacked_dirname="linux-armv7l-unpacked"
elif [[ ${CARCH} == "i686" ]]; then
_unpacked_dirname="linux-ia32-unpacked"
elif [[ ${CARCH} == "x86_64" ]]; then
_unpacked_dirname="linux-unpacked"
fi
cp -r --preserve=mode "${srcdir}/${pkgname}-${pkgver}/dist/${_unpacked_dirname}" "${pkgdir}/opt/${pkgname}"
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
for _file in "${srcdir}/${pkgname}-${pkgver}/build/icons/"*.png
do
_filename="$(basename ${_file})"
install -Dm644 "${_file}" "${pkgdir}/usr/share/icons/hicolor/${_filename%.png}/apps/${pkgname}.png"
done
ln -sf "/opt/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-26 00:12+++ PKGBUILD @ 2026-11-01 00:21@@ -3,7 +3,7 @@ # Contributor: Ivelin Velkov <ivelin dot velkov at gmail dot com> pkgname=teams-for-linux-pkgver=2.25.0+pkgver=2.27.0 pkgrel=1 pkgdesc="Unofficial Microsoft Teams client for Linux using Electron." arch=("aarch64" "armv7h" "i686" "x86_64")@@ -16,7 +16,7 @@ "${pkgname}-${pkgver}.tar.gz::https://github.com/IsmaelMartinez/${pkgname}/archive/v${pkgver}.tar.gz" "${pkgname}.desktop" )-sha256sums=('2b689746c2acbbce7c8425bd9fccaee0022b0d0b7947db83213502661ca29c6d'+sha256sums=('aa9a7a73cbb3535c439bce385f46ad48a21d70313aa44096fad5245ab6baced4' 'e67c98084736f797c575970935dd773b5c348ea3d9522bc5db733a92361fc05e') build() {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 01:43:34 | 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 09:27:54 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 05:21:06 | 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 |