ddnsto-bin
The package downloads prebuilt binaries from a non-standard, untrusted host (fw0.koolcenter.com), which is not the project's official domain, creating a supply-chain risk if the binaries were tampered with or substituted.
Triggered rules
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:21
"https://fw0.koolcenter.com/binary/ddnsto/linux-binary/${_name}-standard-${pkgver}.tar.gz"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 85%): The package downloads prebuilt binaries from a non-standard, untrusted host (fw0.koolcenter.com), which is not the project's official domain, creating a supply-chain risk if the binaries were tampered with or substituted.
PKGBUILD
1 offending line(s) highlighted# Maintainer: taotieren <admin@taotieren.com>
pkgbase=ddnsto-bin
pkgname=(ddnsto-bin ddnsto-micro-bin)
_name=${pkgname%-bin}
pkgver=4.2.8
pkgrel=1
pkgdesc="DDNSTO is a stable, fast and easy-to-use intranet penetration tool"
arch=(
x86_64
aarch64
armv7h
mipsel
)
url="https://web.ddnsto.com"
license=('LicenseRef-ddnsto')
depends=()
makedepends=()
optdepends=()
source=(
"https://fw0.koolcenter.com/binary/ddnsto/linux-binary/${_name}-standard-${pkgver}.tar.gz"
"https://fw0.koolcenter.com/binary/ddnsto/linux-binary/${_name}-micro-${pkgver}.tar.gz"
"ddnsto.service"
"ddnsto.tmpfiles"
"ddnsto.sysusers"
"ddnsto-bin.install"
"ddnsto-micro-bin.install"
)
sha256sums=('3bf7ada14448b5aa04afa171e497f85d0b8bb4adcf2209991e52ef5826d4e975'
'1f02efa595df4740312eb633da1453b8ab8abc0e6b3bf33285a878430c0e7f3b'
'99d7c3c20776645a08de44062cea1b32fd37288e35d61821e90c45e132dd5f14'
'57f54bcf6013b0a2fe03923d4119a36cb8c6584f70b07dbd6d0c1d31f4fe8d72'
'b068dcd630d7ce9a3b0bf904340f9438572d84cd4c75ad49102a274a4be37dd6'
'113b1efa3502b9a62272cdf3f747f9ef39f452829e9f079b3975086d233f25aa'
'113b1efa3502b9a62272cdf3f747f9ef39f452829e9f079b3975086d233f25aa')
options=(!debug !strip emptydirs)
package_ddnsto-bin() {
pkgdesc+=" - Go"
provides=(${pkgbase%-bin})
conflicts=(${pkgbase%-bin})
backup=('etc/ddnsto/config.yaml')
install=${pkgname}.install
cd "${srcdir}/${_name}-standard-${pkgver}/"
local _bin
case "${CARCH}" in
x86_64) _bin="${_name}.x86_64" ;;
aarch64) _bin="${_name}.aarch64" ;;
mipsel) _bin="${_name}.mipsel" ;;
armv7h)
if [ -f "${_name}.arm32hf" ]; then
_bin="${_name}.arm32hf"
else
_bin="${_name}.arm"
fi
;;
*)
error "不支持的架构:${CARCH}"
return 1
;;
esac
./"${_bin}" example-config > config.yaml
install -vDm755 "${_bin}" "${pkgdir}/usr/bin/${_name}"
sed -i -e 's|/tmp/logs|/var/log/ddnsto|g' \
-e 's|/data|/srv/ddnsto|g' \
config.yaml
install -vDm640 config.yaml -t ${pkgdir}/etc/ddnsto/
install -vDm644 ${srcdir}/ddnsto.service -t ${pkgdir}/usr/lib/systemd/system/
install -vdm755 ${pkgdir}/var/log/ddnsto \
${pkgdir}/var/lib/ddnsto
install -vdm775 ${pkgdir}/srv/ddnsto
install -Dvm644 "${srcdir}/ddnsto.sysusers" "${pkgdir}/usr/lib/sysusers.d/ddnsto.conf"
install -Dvm644 "${srcdir}/ddnsto.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/ddnsto.conf"
}
package_ddnsto-micro-bin() {
pkgdesc+=" - Rust"
provides=(${pkgbase%-bin})
conflicts=(${pkgbase%-bin})
backup=('etc/ddnsto/config.yaml')
install=${pkgname}.install
cd "${srcdir}/${_name}-micro-${pkgver}/"
local _bin
case "${CARCH}" in
x86_64) _bin="${_name}.x86_64" ;;
aarch64) _bin="${_name}.aarch64" ;;
mipsel) _bin="${_name}.mipsel" ;;
armv7h)
if [ -f "${_name}.arm32hf" ]; then
_bin="${_name}.arm32hf"
else
_bin="${_name}.arm"
fi
;;
*)
error "不支持的架构:${CARCH}"
return 1
;;
esac
./"${_bin}" example-config > config.yaml
install -vDm755 "${_bin}" "${pkgdir}/usr/bin/${_name}"
sed -i -e 's|/tmp/logs|/var/log/ddnsto|g' \
-e 's|/data|/srv/ddnsto|g' \
config.yaml
install -vDm640 config.yaml -t ${pkgdir}/etc/ddnsto/
install -vDm644 ${srcdir}/ddnsto.service -t ${pkgdir}/usr/lib/systemd/system/
install -vdm755 ${pkgdir}/var/log/ddnsto \
${pkgdir}/var/lib/ddnsto
install -vdm775 ${pkgdir}/srv/ddnsto
install -Dvm644 "${srcdir}/ddnsto.sysusers" "${pkgdir}/usr/lib/sysusers.d/ddnsto.conf"
install -Dvm644 "${srcdir}/ddnsto.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/ddnsto.conf"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-29 00:13+++ PKGBUILD @ 2026-11-01 00:21@@ -3,7 +3,7 @@ pkgbase=ddnsto-bin pkgname=(ddnsto-bin ddnsto-micro-bin) _name=${pkgname%-bin}-pkgver=4.2.6+pkgver=4.2.8 pkgrel=1 pkgdesc="DDNSTO is a stable, fast and easy-to-use intranet penetration tool" arch=(@@ -26,8 +26,8 @@ "ddnsto-bin.install" "ddnsto-micro-bin.install" )-sha256sums=('4521d0b2ffeb35c4f539380c604c5d40577cb03d3938c98064324c098c276a3b'- '90b0531d6d76edbb5d2e76f87bef5b2fba6a23d521d679dabc2f02fe91f82ee2'+sha256sums=('3bf7ada14448b5aa04afa171e497f85d0b8bb4adcf2209991e52ef5826d4e975'+ '1f02efa595df4740312eb633da1453b8ab8abc0e6b3bf33285a878430c0e7f3b' '99d7c3c20776645a08de44062cea1b32fd37288e35d61821e90c45e132dd5f14' '57f54bcf6013b0a2fe03923d4119a36cb8c6584f70b07dbd6d0c1d31f4fe8d72' 'b068dcd630d7ce9a3b0bf904340f9438572d84cd4c75ad49102a274a4be37dd6'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 07:52:02 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 03:14:05 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |