wings2
The package downloads a source tarball from the project's official domain, which is not on a standard whitelist but is plausibly legitimate; the content is a self-contained game build with no remote code execution or malicious behavior observed.
Triggered rules
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 90%): The package downloads a source tarball from the project's official domain, which is not on a standard whitelist but is plausibly legitimate; the content is a self-contained game build with no remote code execution or malicious behavior observed.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:15
source=(${pkgname}_v${pkgver}_linux.tar.gz::http://www.wings2.net/util/download.php?file=${pkgname}_v${pkgver}_linux.tar.gz
PKGBUILD
1 offending line(s) highlighted# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
pkgname=wings2
pkgver=1.3.6
pkgrel=1
pkgdesc="Fly small and agile ships in varied maps"
arch=('i686' 'x86_64')
url="http://www.wings2.net/"
license=('custom: "Wings 2 License"')
depends=('sdl' 'sdl_image' 'sdl_net' 'sdl_mixer' 'libgl' 'libstdc++5' 'desktop-file-utils')
optdepends=('wings2-levelpack: for more levels in the game'
'wings2-musicpack: more game music')
options=('!strip' 'docs')
install=$pkgname.install
source=(${pkgname}_v${pkgver}_linux.tar.gz::http://www.wings2.net/util/download.php?file=${pkgname}_v${pkgver}_linux.tar.gz
$pkgname.desktop
Wings
Wings64)
md5sums=('4adb5b270a410225c240da0c9a429018'
'6958819bc2ba835e355a5ae38f10e663'
'e0118af926a36776aaa7b79853486373'
'bc7e663ba893172400285e36ffc19fb4')
package() {
cd "${srcdir}"
install -d "${pkgdir}"/opt/Wings2 "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/licenses/wings2
cp -r "${srcdir}"/Wings2 "${pkgdir}"/opt/
find "${pkgdir}"/opt -type d -exec chmod 755 "{}" \;
find "${pkgdir}"/opt -type f -exec chmod 644 "{}" \;
#config.xml and stdout.txt files must be writable by all
touch "${pkgdir}"/opt/Wings2/bin/{config.xml,stdout.txt}
chmod a+w "${pkgdir}"/opt/Wings2/bin/{config.xml,stdout.txt}
#directory for received levels from server writable
chmod a+w "${pkgdir}"/opt/Wings2/levels/received
#.desktop file
install -D -m644 "${srcdir}"/wings2.desktop "${pkgdir}"/usr/share/applications/wings2.desktop
#license
install -D -m644 "${pkgdir}"/opt/Wings2/doc/License.txt "${pkgdir}"/usr/share/licenses/wings2/LICENSE
#remove playlist
rm "${pkgdir}"/opt/Wings2/music/menu_music.txt
# ---------------------- i686 architecture ----------------------
if [ "$CARCH" = "i686" ]; then
#install run file for i686
install -D -m755 "${srcdir}"/Wings "${pkgdir}"/usr/bin/Wings
#making files for i686 executable
chmod 775 "${pkgdir}"/opt/Wings2/bin/Wings "${pkgdir}"/opt/Wings2/bin/Makelev
#remove binaries for x86_64
rm "${pkgdir}"/opt/Wings2/bin/{Wings64,Makelev64}
# ---------------------- x86_64 architecture ----------------------
elif [ "$CARCH" = "x86_64" ]; then
#install run file for x86_64
install -D -m755 "${srcdir}"/Wings64 "${pkgdir}"/usr/bin/Wings
#making files for x86_64 executable
chmod 775 "${pkgdir}"/opt/Wings2/bin/Wings64 "${pkgdir}"/opt/Wings2/bin/Makelev64
#remove i686 binaries
rm "${pkgdir}"/opt/Wings2/bin/{Wings,Makelev}
fi
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |