idos-timetable-additionalinfo-chaps-mhd-pid-latest
LOW
maintainer dreieck
1 votes
scanned 2026-11-01 00:21:48.120785
Why flagged
The package downloads data files (photographs and license) from the project's own domain for use with a timetable application;虽主机不在白名单上,但内容为非可执行数据,最坏情况为数据篡改,无代码执行风险。
Triggered rules
Low
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads data files (photographs and license) from the project's own domain for use with a timetable application;虽主机不在白名单上,但内容为非可执行数据,最坏情况为数据篡改,无代码执行风险。
1 higher static finding superseded - not the current verdict (shown for transparency)
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:48
"${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}" -
PKGBUILD:49
"IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: dreieck
2
3
# PKGBUILD last time manually edited: At least on 2023-09-04.
4
url="https://chaps.cz/eng/download/idos/zip#kotvainf"
5
_zipfile="CPID.ZIP"
6
_pkgver() {
7
# Reason for a _pkgver(): Have something to run before source download so that we can have version aware source downloads.
8
wget -nv -O- "${url}" | tr -d '\a' | tr '\n' '\a' | sed 's|^.*File '"${_zipfile}"'\(.*\)Zip/'"${_zipfile}"'.*$|\1\n|g' | tr '\a' '\n' | grep 'Update date:' | cut -d, -f1 | sed -r 's|([0-9]+)\.([0-9]+)\.([0-9]+).|\n\3_\2_\1\n|g' | grep -E '^[0-9]+_[0-9]+_[0-9]+'
9
}
10
11
_pkgname=idos-timetable-additionalinfo-chaps-mhd-pid
12
pkgname="${_pkgname}-latest"
13
epoch=0
14
_pkgver="$(_pkgver)" # This should be set _before_ sources get downloaded.
15
pkgver="${_pkgver}"
16
pkgrel=3
17
pkgdesc="Photographs of some stops within the PID (Praha region) public transport area, to be used with the timetable search engines by CHAPS."
18
arch=('any')
19
license=('custom')
20
21
groups=(
22
"idos-timetable"
23
)
24
25
depends=(
26
"idos-timetable-data-mhd-pid"
27
)
28
29
makedepends=(
30
"wget"
31
)
32
33
optdepends=()
34
35
provides=(
36
"${_pkgname}=${pkgver}"
37
38
"idos-timetable-additionalinfo-mhd-pid=${pkgver}"
39
)
40
41
conflicts=(
42
"${_pkgname}"
43
)
44
45
_target="cpid-${_pkgver}.zip"
46
47
source=(
48
"${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}"
49
"IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"
50
"license-dummy.txt"
51
)
52
53
sha256sums=(
54
'SKIP'
55
"SKIP"
56
"c6bb216055d3670d3100b7a74e04ce0644030f365f4349a09e630ef60fbcb9a4"
57
)
58
59
pkgver() {
60
printf '%s' "${_pkgver}"
61
}
62
63
64
package() {
65
_instdirbase='/opt/idos-timetable'
66
_instdir="${pkgdir}/${_instdirbase}"
67
install -d -m755 "${_instdir}"
68
69
cp -r "${srcdir}"/Data* "${_instdir}/"
70
chmod 755 "${_instdir}"/Data*
71
chmod 755 "${_instdir}"/Data*/*
72
chmod 644 "${_instdir}"/Data*/*/*
73
74
install -d -m755 "${pkgdir}/usr/share/doc/${_pkgname}"
75
echo "${url}" > "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
76
chmod 644 "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
77
78
install -D -m644 "${srcdir}/license-dummy.txt" "${pkgdir}/usr/share/licenses/${pkgname}/copying.txt"
79
install -D -m644 "${srcdir}/IDOS-Licence.pdf" "${pkgdir}/usr/share/licenses/${pkgname}/IDOS-Licence.pdf"
80
}
81
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 00:23:45 | Low | 2 |