ddnsto-lite-bin
maintainer taotieren
· 0 votes
· base
ddnsto-bin
· scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged
Prebuilt binaries are downloaded from fw0.koolcenter.com (a non-official, non-project-owned host unrelated to the stated project URL web.ddnsto.com) and executed at build time to generate config; checksums are present but the host is a third-party CDN that could silently swap the binaries, making this an unverifiable prebuilt executable from a potentially swappable source.
Triggered rules
MEDIUM
source=() URL on a non-standard host
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"
MEDIUM
AI review
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 70%): Prebuilt binaries are downloaded from fw0.koolcenter.com (a non-official, non-project-owned host unrelated to the stated project URL web.ddnsto.com) and executed at build time to generate config; checksums are present but the host is a third-party CDN that could silently swap the binaries, making this an unverifiable prebuilt executable from a potentially swappable source.
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: taotieren <admin@taotieren.com>
2
3
pkgbase=ddnsto-bin
4
pkgname=(ddnsto-bin ddnsto-lite-bin)
5
_name=${pkgname%-bin}
6
pkgver=4.2.2
7
pkgrel=1
8
pkgdesc="DDNSTO is a stable, fast and easy-to-use intranet penetration tool"
9
arch=(
10
x86_64
11
aarch64
12
armv7h
13
mipsel
14
)
15
url="https://web.ddnsto.com"
16
license=('LicenseRef-ddnsto')
17
depends=()
18
makedepends=()
19
optdepends=()
20
source=(
21
"https://fw0.koolcenter.com/binary/ddnsto/linux-binary/${_name}-standard-${pkgver}.tar.gz"
22
"https://fw0.koolcenter.com/binary/ddnsto/linux-binary/${_name}-lite-${pkgver}.tar.gz"
23
"ddnsto.service"
24
"ddnsto.tmpfiles"
25
"ddnsto.sysusers"
26
"ddnsto-bin.install"
27
"ddnsto-lite-bin.install"
28
)
29
sha256sums=('5a76072663e38324c03408ef1900c112851eb821d592951d61d925436324695a'
30
'd6a18ba629e1eab7cad57f5399ef89ad875183a19d24a145529bfb84a27079c9'
31
'99d7c3c20776645a08de44062cea1b32fd37288e35d61821e90c45e132dd5f14'
32
'57f54bcf6013b0a2fe03923d4119a36cb8c6584f70b07dbd6d0c1d31f4fe8d72'
33
'b068dcd630d7ce9a3b0bf904340f9438572d84cd4c75ad49102a274a4be37dd6'
34
'113b1efa3502b9a62272cdf3f747f9ef39f452829e9f079b3975086d233f25aa'
35
'113b1efa3502b9a62272cdf3f747f9ef39f452829e9f079b3975086d233f25aa')
36
options=(!debug !strip emptydirs)
37
38
package_ddnsto-bin() {
39
pkgdesc+=" - Go"
40
provides=(${pkgbase%-bin})
41
conflicts=(${pkgbase%-bin})
42
backup=('etc/ddnsto/config.yaml')
43
install=${pkgname}.install
44
45
cd "${srcdir}/${_name}-standard-${pkgver}/"
46
if [ ${CARCH} = "x86_64" ]; then
47
./${_name}.x86_64 example-config > config.yaml
48
install -vDm755 ${_name}.x86_64 ${pkgdir}/usr/bin/${_name}
49
elif [ ${CARCH} = "aarch64" ]; then
50
./${_name}.aarch64 example-config > config.yaml
51
install -vDm755 ${_name}.aarch64 ${pkgdir}/usr/bin/${_name}
52
elif [ ${CARCH} = "mipsel" ]; then
53
./${_name}.mipsel example-config > config.yaml
54
install -vDm755 ${_name}.mipsel ${pkgdir}/usr/bin/${_name}
55
elif [ ${CARCH} = "armv7h" ]; then
56
./${_name}.arm example-config > config.yaml
57
install -vDm755 ${_name}.arm ${pkgdir}/usr/bin/${_name}
58
fi
59
60
sed -i -e 's|/tmp/logs|/var/log/ddnsto|g' \
61
-e 's|/data|/srv/ddnsto|g' \
62
config.yaml
63
64
install -vDm640 config.yaml -t ${pkgdir}/etc/ddnsto/
65
install -vDm644 ${srcdir}/ddnsto.service -t ${pkgdir}/usr/lib/systemd/system/
66
install -vdm755 ${pkgdir}/var/log/ddnsto \
67
${pkgdir}/var/lib/ddnsto
68
69
install -vdm775 ${pkgdir}/srv/ddnsto
70
71
install -Dvm644 "${srcdir}/ddnsto.sysusers" "${pkgdir}/usr/lib/sysusers.d/ddnsto.conf"
72
install -Dvm644 "${srcdir}/ddnsto.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/ddnsto.conf"
73
}
74
75
package_ddnsto-lite-bin() {
76
pkgdesc+=" - Zig"
77
provides=(${pkgbase%-bin})
78
conflicts=(${pkgbase%-bin})
79
backup=('etc/ddnsto/config.yaml')
80
install=${pkgname}.install
81
82
cd "${srcdir}/${_name}-lite-${pkgver}/"
83
if [ ${CARCH} = "x86_64" ]; then
84
./${_name}.x86_64 example-config > config.yaml
85
install -vDm755 ${_name}.x86_64 ${pkgdir}/usr/bin/${_name}
86
elif [ ${CARCH} = "aarch64" ]; then
87
./${_name}.aarch64 example-config > config.yaml
88
install -vDm755 ${_name}.aarch64 ${pkgdir}/usr/bin/${_name}
89
elif [ ${CARCH} = "mipsel" ]; then
90
./${_name}.mipsel example-config > config.yaml
91
install -vDm755 ${_name}.mipsel ${pkgdir}/usr/bin/${_name}
92
elif [ ${CARCH} = "armv7h" ]; then
93
./${_name}.arm example-config > config.yaml
94
install -vDm755 ${_name}.arm ${pkgdir}/usr/bin/${_name}
95
fi
96
97
sed -i -e 's|/tmp/logs|/var/log/ddnsto|g' \
98
-e 's|/data|/srv/ddnsto|g' \
99
config.yaml
100
101
install -vDm640 config.yaml -t ${pkgdir}/etc/ddnsto/
102
install -vDm644 ${srcdir}/ddnsto.service -t ${pkgdir}/usr/lib/systemd/system/
103
install -vdm755 ${pkgdir}/var/log/ddnsto \
104
${pkgdir}/var/lib/ddnsto
105
106
install -vdm775 ${pkgdir}/srv/ddnsto
107
108
install -Dvm644 "${srcdir}/ddnsto.sysusers" "${pkgdir}/usr/lib/sysusers.d/ddnsto.conf"
109
install -Dvm644 "${srcdir}/ddnsto.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/ddnsto.conf"
110
}
111
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |