droidmote-bin
The PKGBUILD downloads a prebuilt binary at build time from videomap.it (the upstream vendor's own website) without any checksum verification. The binary is architecture-selected, fetched outside the source=() array (so no integrity check is performed by makepkg), and directly installed to /usr/bin. While videomap.it appears to be the legitimate upstream vendor for DroidMote, the absence of any hash verification means a compromised or substituted binary would go undetected. This is a genuine supply-chain concern: an executed binary from an external host with no integrity verification constitutes a medium-severity risk regardless of whether the host is the official vendor.
Triggered rules
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:46
curl -L "https://videomap.it/script/$_target" -o droidmote
llm_review
The static rules flagged this HIGH, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it MEDIUM (confidence 85%): The PKGBUILD downloads a prebuilt binary at build time from videomap.it (the upstream vendor's own website) without any checksum verification. The binary is architecture-selected, fetched outside the source=() array (so no integrity check is performed by makepkg), and directly installed to /usr/bin. While videomap.it appears to be the legitimate upstream vendor for DroidMote, the absence of any hash verification means a compromised or substituted binary would go undetected. This is a genuine supply-chain concern: an executed binary from an external host with no integrity verification constitutes a medium-severity risk regardless of whether the host is the official vendor.
1 higher static finding superseded - not the current verdict (shown for transparency)
download_then_exec
A file fetched with curl/wget (not part of source=(), so never checksum-verified) is later made executable or run — a fetch-and-execute pattern split across statements.
-
PKGBUILD:47
chmod +x droidmote
PKGBUILD
2 offending line(s) highlighted# Maintainer: Faruk Dikcizgi <boogiepop@gmx.de>
# Contributor: Adrian Lopez <adrianlzt@gmail.com>
# Contributor: "Amhairghin" Oscar Garcia Amor (https://ogarcia.me)
pkgname=droidmote-bin
pkgver=3.0.6
pkgrel=1
pkgdesc='Server for DroidMote. Use your androd as remote mouse and keyboard.'
arch=('i686' 'x86_64' 'aarch64' 'arm7f')
url='http://www.videomap.it/'
license=('custom:unknown')
makedepends=('curl')
depends=('libx11')
backup=("etc/droidmote.conf")
source=("droidmote.conf"
"service")
sha256sums=('b6386dec0977b27dff244e04f4fdbf5becc4c12731a261678524c21ffb3e53a4'
'0e88c9e0b189e0d8890ddbee8f00da13485973e028811e4e70a8b1c2b7595bbe')
pkgver(){
local _ver=$(curl -Ls https://www.videomap.it/download.htm | grep -o1Ei 'inux\s([0-9\.]+)')
printf "${_ver#inux }"
}
build(){
local _arch="`uname -m`"
local _target=""
case "$_arch" in
x86 | i?86)
_target="dms-ubuntu-x32"
;;
x86_64 | amd64)
_target="dms-ubuntu-x64"
;;
armel)
_target="dms-ubuntu-arm"
;;
arm64 | aarch64)
_target="dms-ubuntu-arm64"
;;
arm*)
_target="dms-ubuntu-arm"
;;
*) error 2 "Invalid architecture '$_arch'.";;
esac
curl -L "https://videomap.it/script/$_target" -o droidmote
chmod +x droidmote
}
package() {
install -D droidmote "${pkgdir}/usr/bin/droidmote"
install -Dm644 "droidmote.conf" "${pkgdir}/etc/droidmote.conf"
install -Dm644 "service" "${pkgdir}/usr/lib/systemd/system/droidmote.service"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 3 |
| 2026-10-31 00:07:41 | Medium | 3 |
| 2026-10-30 00:29:30 | Medium | 3 |
| 2026-10-29 00:13:55 | Medium | 3 |
| 2026-10-28 00:06:54 | Medium | 3 |
| 2026-10-27 00:23:28 | Medium | 3 |
| 2026-10-26 00:12:40 | Medium | 3 |
| 2026-10-25 00:20:48 | Medium | 3 |
| 2026-10-24 00:14:55 | Medium | 3 |
| 2026-10-23 00:02:19 | Medium | 3 |
| 2026-10-22 00:13:10 | Medium | 3 |
| 2026-10-21 00:12:50 | Medium | 3 |
| 2026-10-20 00:10:31 | Medium | 3 |
| 2026-10-19 00:03:55 | Medium | 3 |
| 2026-10-18 00:06:55 | Medium | 3 |
| 2026-10-17 00:21:55 | Medium | 3 |
| 2026-10-16 00:12:47 | Medium | 3 |
| 2026-10-15 00:28:05 | Medium | 3 |
| 2026-10-14 00:06:47 | Medium | 3 |
| 2026-10-13 00:23:45 | Medium | 3 |