steamcommunity302
The package downloads a prebuilt AppImage from a non-whitelisted, non-standard host (dogfight360.com), which is not the project's official release infrastructure (e.g., GitHub/GitLab), and the checksum is skipped for the local 's302' script, increasing supply-chain risk.
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:29
"steamcommunity302-${pkgver}.AppImage::https://www.dogfight360.com/Usbeam/V15/Steamcommunity_302_${pkgver}_Linux_WebKit_x64.AppImage"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 85%): The package downloads a prebuilt AppImage from a non-whitelisted, non-standard host (dogfight360.com), which is not the project's official release infrastructure (e.g., GitHub/GitLab), and the checksum is skipped for the local 's302' script, increasing supply-chain risk.
PKGBUILD
1 offending line(s) highlighted# Maintainer: lingdianshiren <ldsrwu@foxmail.com>
# 上游从 tar.gz(脚本启动器)换为 linuxdeploy AppImage(Wails v3 GUI):
# - 提权内置(pkexec/polkit/sudo transient daemon),无需旧版 launcher hack
# - 捆绑 198 个库(含 webkit2gtk/GTK3),运行时依赖 fuse2
# 打包采用 AUR 主流 AppImage 方式:本体装 /opt + /usr/bin wrapper(同 obsidian-appimage)
pkgname=steamcommunity302
pkgver=15.0.4
pkgrel=1
#epoch=
pkgdesc="羽翼城制作的Steam、Github等反代加速工具,使用s302命令启动"
url="https://www.dogfight360.com/blog/18682/"
arch=('x86_64' 'aarch64')
license=('CC-BY-NC-4.0')
# nss 提供 certutil(证书导入),libnetfilter_queue 用于 DNS 重定向——
# 均为功能依赖,AppImage 捆绑库仅覆盖 GUI 层
depends=('fuse2' 'nss' 'libnetfilter_queue')
optdepends=(
# Netfilter/DNS 重定向后端(程序提示至少安装一种)
'iptables: Netfilter backend for DNS redirection'
'nftables: Netfilter backend for DNS redirection'
'firewalld: Netfilter backend for DNS redirection'
'ufw: Netfilter backend for DNS redirection'
# 新版内置提权(transient daemon),任选其一
'polkit: pkexec graphical privilege elevation'
'sudo: CLI privilege elevation'
)
source=('s302')
source_x86_64=(
"steamcommunity302-${pkgver}.AppImage::https://www.dogfight360.com/Usbeam/V15/Steamcommunity_302_${pkgver}_Linux_WebKit_x64.AppImage"
)
source_aarch64=(
"steamcommunity302-${pkgver}.AppImage::https://www.dogfight360.com/Usbeam/V15/Steamcommunity_302_${pkgver}_Linux_WebKit_arm64.AppImage"
)
md5sums=('SKIP')
md5sums_x86_64=('9224ec5639ad07276aeb6c4aef5a5b9e')
md5sums_aarch64=('9224ec5639ad07276aeb6c4aef5a5b9e')
options=(!strip)
install=steamcommunity302.install
_install_dir="/opt/steamcommunity302"
prepare() {
# 解包 AppImage 提取 desktop 与图标(本体仍按 AppImage 安装)
chmod +x "${srcdir}/steamcommunity302-${pkgver}.AppImage"
"${srcdir}/steamcommunity302-${pkgver}.AppImage" --appimage-extract >/dev/null 2>&1
local _root="${srcdir}/squashfs-root"
# desktop:修正 Exec 指向系统 wrapper,Icon 用安装后的 png。
# 上游命名:15.0.3 为 com.dogfight360.steamcommunity302.desktop,
# 15.0.4 改为 Steamcommunity_302.desktop——用 glob 兼容两种
local _desktop
_desktop="$(find "${_root}" -maxdepth 1 -name '*.desktop' -print -quit)"
[ -n "$_desktop" ] || { msg2 "ERROR: 上游缺失 desktop"; return 1; }
sed -E \
-e 's|^[[:space:]]*Exec=.*|Exec=/usr/bin/s302|' \
-e 's|^[[:space:]]*Icon=.*|Icon=steamcommunity302|' \
"$_desktop" > "${srcdir}/steamcommunity302.desktop"
# 图标(png)
[ -f "${_root}/com.dogfight360.steamcommunity302.png" ] || { msg2 "ERROR: 上游缺失图标"; return 1; }
cp "${_root}/com.dogfight360.steamcommunity302.png" "${srcdir}/steamcommunity302.png"
}
package() {
# AppImage 本体(与旧版同目录,升级平滑)
install -Dm755 "${srcdir}/steamcommunity302-${pkgver}.AppImage" \
"${pkgdir}${_install_dir}/steamcommunity302.AppImage"
# s302 控制命令:无参/ui 开 GUI(exec AppImage),管理命令走 systemd+config
install -Dm755 "${srcdir}/s302" "${pkgdir}/usr/bin/s302"
install -Dm644 "${srcdir}/steamcommunity302.desktop" \
"${pkgdir}/usr/share/applications/steamcommunity302.desktop"
install -Dm644 "${srcdir}/steamcommunity302.png" \
"${pkgdir}/usr/share/pixmaps/steamcommunity302.png"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-05 00:16+++ PKGBUILD @ 2026-09-17 00:27@@ -24,12 +24,14 @@ 'polkit: pkexec graphical privilege elevation' 'sudo: CLI privilege elevation' )+source=('s302') source_x86_64=( "steamcommunity302-${pkgver}.AppImage::https://www.dogfight360.com/Usbeam/V15/Steamcommunity_302_${pkgver}_Linux_WebKit_x64.AppImage" ) source_aarch64=( "steamcommunity302-${pkgver}.AppImage::https://www.dogfight360.com/Usbeam/V15/Steamcommunity_302_${pkgver}_Linux_WebKit_arm64.AppImage" )+md5sums=('SKIP') md5sums_x86_64=('9224ec5639ad07276aeb6c4aef5a5b9e') md5sums_aarch64=('9224ec5639ad07276aeb6c4aef5a5b9e') options=(!strip)@@ -64,13 +66,8 @@ install -Dm755 "${srcdir}/steamcommunity302-${pkgver}.AppImage" \ "${pkgdir}${_install_dir}/steamcommunity302.AppImage" - # wrapper:exec AppImage(依赖 fuse2)- install -dm755 "${pkgdir}/usr/bin"- cat > "${pkgdir}/usr/bin/s302" <<'EOF'-#!/bin/bash-exec /opt/steamcommunity302/steamcommunity302.AppImage "$@"-EOF- chmod 755 "${pkgdir}/usr/bin/s302"+ # s302 控制命令:无参/ui 开 GUI(exec AppImage),管理命令走 systemd+config+ install -Dm755 "${srcdir}/s302" "${pkgdir}/usr/bin/s302" install -Dm644 "${srcdir}/steamcommunity302.desktop" \ "${pkgdir}/usr/share/applications/steamcommunity302.desktop"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 14:00:22 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 07:57:01 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |