devtunnel-cli-bin
The package downloads prebuilt binaries from Microsoft's official Azure blob storage domain, which is plausibly the project's own release infrastructure; despite the non-whitelisted host, the source is verifiable via checksums and the worst case of a swapped host would be supply-chain compromise of an official binary, not arbitrary code execution.
Triggered rules
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 downloads prebuilt binaries from Microsoft's official Azure blob storage domain, which is plausibly the project's own release infrastructure; despite the non-whitelisted host, the source is verifiable via checksums and the worst case of a swapped host would be supply-chain compromise of an official binary, not arbitrary code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:35
source_x86_64=($_source_x86_64::https://tunnelsassets$_env.blob.core.windows.net/cli/linux-x64-devtunnel)
PKGBUILD
1 offending line(s) highlighted# Maintainer: Luis Bañuelos <luiscarlos.banuelos@gmail.com>
# Contributor: Cass Midkiff <cass.midkiff.kde@gmail.com>
pkgname=devtunnel-cli-bin
_bin_name=devtunnel
# there's no url versioning, so this will install the latest published version
# regardless what the `pkgver` is set to
pkgver=1.0.2115+e16833f284
pkgrel=1
pkgdesc="Microsoft Dev Tunnels CLI client"
# dev, ppe, prod
_env=prod
arch=('aarch64' 'x86_64')
url="https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/"
license=('unknown')
depends=(
# this is an explicit dependency from the install script
# https://aka.ms/DevTunnelCliInstall
'libsecret'
# these are dependencies identified from find-deps and 'pacman -Fx <lib file name>\.so'
'glibc' 'zlib' 'gcc-libs'
)
provides=($_bin_name)
conflicts=($_bin_name)
_source_x86_64=devtunnel_x86_64
_source_aarch64=devtunnel_arm64
source=()
source_x86_64=($_source_x86_64::https://tunnelsassets$_env.blob.core.windows.net/cli/linux-x64-devtunnel)
source_aarch64=($_source_aarch64::https://tunnelsassets$_env.blob.core.windows.net/cli/linux-arm64-devtunnel)
noextract=($_source_x86_64 $_source_aarch64)
sha256sums_aarch64=('b537f270a55d57f23b7621cec0b09806aa9ada119713b33e9255284179b76bde')
sha256sums_x86_64=('723d6aebdc226064aef321258fb17c8a2770c9cc2bd05004c0fb83e72b302c3f')
validpgpkeys=()
# stripping symbols causes an error on execution:
# > Failure processing application bundle; possible file corruption.
# > Arithmetic overflow while reading bundle.
# > A fatal error occured while processing application bundle
options=(!strip)
pkgver() {
cd "${srcdir}"
_pkg=$_source_x86_64
if [ "${CARCH}" = "aarch64" ]; then
_pkg=$_source_aarch64
fi
chmod +x ${_pkg}
./${_pkg} --version | sed -n 's/Tunnel CLI version: \(.*\)/\1/p'
}
package() {
_pkg=$_source_x86_64
if [ "${CARCH}" = "aarch64" ]; then
_pkg=$_source_aarch64
fi
install -d "${pkgdir}/usr/bin"
install -m755 "${srcdir}/${_pkg}" "${pkgdir}/usr/bin/${_bin_name}"
}
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 01:15:21 | Medium | 1 |