battle-cats-normal-rolls-git

maintainer EduHoff · 0 votes · scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged Package builds from its own GitHub source using Cargo; the flagged 'external download' at line 80 is just a curl health-check inside an inline launcher script (curl -s to localhost), not a remote code download; SKIP checksum on a git source is normal for VCS packages; no obfuscation, exfiltration, or untrusted prebuilt binaries present.

Triggered rules

LOW Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 70%): Package builds from its own GitHub source using Cargo; the flagged 'external download' at line 80 is just a curl health-check inside an inline launcher script (curl -s to localhost), not a remote code download; SKIP checksum on a git source is normal for VCS packages; no obfuscation, exfiltration, or untrusted prebuilt binaries present.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM External download from an untrusted host, not in source=() external_download_not_in_source

curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.

  • PKGBUILD:80 until curl -s -o /dev/null -w "%{http_code}" "http://localhost:${PORT}" | grep -qE "200|302|304" 2>/dev/null; do

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: EduHoff <ehcs.business@proton.me>
2pkgname=battle-cats-normal-rolls-git
3_pkgname=battle-cats-normal-rolls
4pkgver=r38.0b3b9dd
5pkgrel=3
6pkgdesc="Local Battle Cats normal seed tracking server with high-performance Rust seeker"
7arch=('x86_64' 'aarch64')
8url="https://github.com/EduHoff/battle-cats-normal-rolls"
9license=('AGPL-3.0-or-later')
10depends=('gcc-libs' 'glibc' 'curl')
11optdepends=('zenity')
12makedepends=('git' 'cargo')
13provides=("${_pkgname}")
14conflicts=("${_pkgname}")
15source=("git+${url}.git")
16b2sums=('SKIP')
17
18pkgver() {
19 cd "${_pkgname}"
20 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
21}
22
23prepare() {
24 cd "${_pkgname}"
25 export CARGO_HOME="${srcdir}/cargo-home"
26 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
27}
28
29build() {
30 cd "${_pkgname}"
31 export CARGO_HOME="${srcdir}/cargo-home"
32 cargo build --frozen --release
33}
34
35check() {
36 cd "${_pkgname}"
37 export CARGO_HOME="${srcdir}/cargo-home"
38 cargo test --frozen
39}
40
41package() {
42 cd "${_pkgname}"
43
44 install -d "${pkgdir}/usr/share/webapps/${_pkgname}"
45 install -d "${pkgdir}/usr/bin"
46 install -d "${pkgdir}/usr/share/applications"
47 install -d "${pkgdir}/usr/share/pixmaps"
48
49 install -Dm755 "target/release/${_pkgname}" "${pkgdir}/usr/share/webapps/${_pkgname}/${_pkgname}"
50
51 cp -r templates "${pkgdir}/usr/share/webapps/${_pkgname}/"
52 cp -r static "${pkgdir}/usr/share/webapps/${_pkgname}/"
53
54 cat <<'EOF' > "${pkgdir}/usr/share/webapps/${_pkgname}/.env"
55HOST=0.0.0.0
56PORT=3000
57EOF
58
59 install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
60
61 install -Dm644 "static/img/normal-cat-ticket.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
62
63 cat <<'EOF' > "${pkgdir}/usr/bin/battle-cats-normal-rolls-run"
64#!/bin/bash
65
66echo "=================================================="
67echo " BATTLE CATS NORMAL ROLLS LOCAL SERVER "
68echo "=================================================="
69echo ""
70
71cd "/usr/share/webapps/battle-cats-normal-rolls" || exit
72
73LOCAL_IP=$(ip route get 1.1.1.1 2>/dev/null | grep -oP 'src \K\S+')
74[ -z "$LOCAL_IP" ] && LOCAL_IP="127.0.0.1"
75
76PORT=3000
77
78(
79 echo ":: Waiting for local service initialization..."
80 until curl -s -o /dev/null -w "%{http_code}" "http://localhost:${PORT}" | grep -qE "200|302|304" 2>/dev/null; do
81 sleep 0.3
82 done
83 echo ":: Server is up and stable! Launching local instance in your browser..."
84 xdg-open "http://localhost:${PORT}"
85) &
86
87echo ":: Starting Rust application stack..."
88echo ":: Local Address: http://localhost:${PORT}"
89echo ":: Network Access: http://${LOCAL_IP}:${PORT}"
90echo ":: To stop the server, simply close this terminal window."
91echo "--------------------------------------------------"
92
93if ! ./battle-cats-normal-rolls; then
94 echo ""
95 echo "[-] Server crashed or failed to start."
96 echo ":: Press Enter to close this window."
97 read -r
98fi
99EOF
100 chmod +x "${pkgdir}/usr/bin/battle-cats-normal-rolls-run"
101
102 cat <<'EOF' > "${pkgdir}/usr/bin/battle-cats-normal-rolls-launcher"
103#!/bin/bash
104
105TERMINALS=('kitty' 'alacritty' 'ghostty' 'foot' 'gnome-terminal' 'konsole' 'xfce4-terminal' 'terminator' 'guake' 'yakuake')
106FOUND_TERM=""
107
108for term in "${TERMINALS[@]}"; do
109 if command -v "$term" &> /dev/null; then
110 FOUND_TERM="$term"
111 break
112 fi
113done
114
115if [ -z "$FOUND_TERM" ]; then
116 if command -v zenity &> /dev/null; then
117 FOUND_TERM=$(zenity --entry --title="Battle Cats Normal Rolls" --text="Nenhum terminal padrão foi detectado.\nPor favor, digite o comando do seu emulador de terminal:")
118 fi
119 if [ -z "$FOUND_TERM" ]; then
120 exit 1
121 fi
122fi
123
124case "$FOUND_TERM" in
125 "kitty" | "foot")
126 $FOUND_TERM /usr/bin/battle-cats-normal-rolls-run
127 ;;
128 "alacritty" | "ghostty" | "terminator" | "guake" | "yakuake")
129 $FOUND_TERM -e /usr/bin/battle-cats-normal-rolls-run
130 ;;
131 "gnome-terminal" | "konsole" | "xfce4-terminal")
132 $FOUND_TERM -- /usr/bin/battle-cats-normal-rolls-run
133 ;;
134 *)
135 $FOUND_TERM -e /usr/bin/battle-cats-normal-rolls-run
136 ;;
137esac
138EOF
139 chmod +x "${pkgdir}/usr/bin/battle-cats-normal-rolls-launcher"
140
141 cat <<EOF > "${pkgdir}/usr/share/applications/battle-cats-normal-rolls.desktop"
142[Desktop Entry]
143Version=1.0
144Type=Application
145Name=Battle Cats Normal Rolls
146Comment=Launch the local normal seed tracking engine inside a terminal window
147Exec=/usr/bin/battle-cats-normal-rolls-launcher
148Icon=battle-cats-normal-rolls
149Terminal=false
150Categories=Game;Utility;
151StartupNotify=true
152EOF
153}
154

Scan history

Scanned at (UTC)SeverityRules
2026-08-18 00:03:42 LOW 3
2026-08-17 00:18:29 LOW 3
2026-08-16 00:03:42 LOW 3
2026-08-15 00:26:13 LOW 3
2026-08-14 00:03:41 LOW 3
2026-08-13 00:17:07 LOW 3
2026-08-12 13:27:17 LOW 3
2026-08-12 13:23:33 MEDIUM 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion