termark-appimage
maintainer flarebit15
· 0 votes
· scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged
The package downloads a prebuilt AppImage from a non-standard, untrusted host (f.typesafe.cn), which presents a supply-chain risk as the executable could be silently swapped despite valid checksums.
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:19
source_x86_64=("${_appimage}::https://f.typesafe.cn/termark/Termark-${pkgver}.AppImage")
MEDIUM
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt AppImage from a non-standard, untrusted host (f.typesafe.cn), which presents a supply-chain risk as the executable could be silently swapped despite valid checksums.
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: flarebit15 <flarebit15@8080996.xyz>
2
#
3
# AppImage packaging template:
4
# https://wiki.archlinux.org/title/User:SergeyK/AppImage_package_guidelines
5
6
_pkgname=termark
7
8
pkgname="${_pkgname}"-appimage
9
pkgver=1.1.4
10
pkgrel=1
11
pkgdesc="Termark 是一款专为现代开发者设计的 SSH 客户端,面向资产管理、终端操作和安全访问等日常工作流"
12
arch=('x86_64' 'aarch64')
13
url="https://www.termark.app"
14
# License text not found in Termark's homepage; assuming freeware EULA
15
license=('custom:EULA')
16
depends=('zlib' 'fuse2')
17
options=(!strip)
18
_appimage="${pkgname}-${pkgver}.AppImage"
19
source_x86_64=("${_appimage}::https://f.typesafe.cn/termark/Termark-${pkgver}.AppImage")
20
source_aarch64=("${_appimage}::https://f.typesafe.cn/termark/Termark-${pkgver}-arm64.AppImage")
21
noextract=("${_appimage}")
22
sha256sums_x86_64=('4414a11be9007ffe8e707d79c4ce87c5873afa202050f2bb6956ab1aeded2f22')
23
sha256sums_aarch64=('0e0d8b4350d102e99f42e16c85b60c0126d7dbc8b808151b0f03f391a948b56d')
24
25
prepare() {
26
chmod +x "${_appimage}"
27
./"${_appimage}" --appimage-extract
28
}
29
30
build() {
31
# Adjust .desktop so it will work outside of AppImage container
32
sed -i -E "s|Exec=AppRun|Exec=env DESKTOPINTEGRATION=false /usr/bin/${_pkgname}|"\
33
"squashfs-root/${_pkgname}.desktop"
34
# Fix permissions; .AppImage permissions are 700 for all directories
35
chmod -R a-x+rX squashfs-root/usr
36
}
37
38
package() {
39
# AppImage
40
install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${pkgname}/${pkgname}.AppImage"
41
42
# Desktop file
43
install -Dm644 "${srcdir}/squashfs-root/${_pkgname}.desktop"\
44
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
45
46
# Icon images
47
install -dm755 "${pkgdir}/usr/share/"
48
cp -a "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
49
50
# Symlink executable
51
install -dm755 "${pkgdir}/usr/bin"
52
ln -s "/opt/${pkgname}/${pkgname}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
53
}
54
55
Changes since previous scan
--- PKGBUILD @ 2026-07-24 00:02+++ PKGBUILD @ 2026-08-03 00:08@@ -6,7 +6,7 @@ _pkgname=termark pkgname="${_pkgname}"-appimage-pkgver=1.1.1+pkgver=1.1.4 pkgrel=1 pkgdesc="Termark 是一款专为现代开发者设计的 SSH 客户端,面向资产管理、终端操作和安全访问等日常工作流" arch=('x86_64' 'aarch64')@@ -19,8 +19,8 @@ source_x86_64=("${_appimage}::https://f.typesafe.cn/termark/Termark-${pkgver}.AppImage") source_aarch64=("${_appimage}::https://f.typesafe.cn/termark/Termark-${pkgver}-arm64.AppImage") noextract=("${_appimage}")-sha256sums_x86_64=('44144f86c91e0f604650018a14df36fee5de3977293b42c0dc16fe69abe1816d')-sha256sums_aarch64=('e5ca66b3cb796ef186e8c23395c4b044c8c5d6ac6c9a891f8c295699481ca6ed')+sha256sums_x86_64=('4414a11be9007ffe8e707d79c4ce87c5873afa202050f2bb6956ab1aeded2f22')+sha256sums_aarch64=('0e0d8b4350d102e99f42e16c85b60c0126d7dbc8b808151b0f03f391a948b56d') prepare() { chmod +x "${_appimage}"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 05:27:22 | 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 | 3 |
| 2026-07-19 00:17:08 | MEDIUM | 3 |
| 2026-07-18 00:14:48 | MEDIUM | 3 |
| 2026-07-17 05:54:03 | MEDIUM | 3 |
| 2026-07-17 00:06:16 | MEDIUM | 3 |