T08 · Insecure Dependencies
- Location
SKILL.md:119- Finding
Mirror-supplied executable is authenticated with a checksum from the same archive
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 119–134 and 286–294
Vulnerability Type: Untrusted executable download with non-independent integrity verification
Risk Level: HighComplete Code Snippet
bash EXPECTED=$(awk '{print $1}' "$TMP/$GAME-$PLATFORM/SHA256SUMS") ACTUAL=$(shasum -a 256 "$TMP/$GAME-$PLATFORM/$GAME" | awk '{print $1}') [ "$EXPECTED" = "$ACTUAL" ] || { echo "CHECKSUM MISMATCH"; exit 1; }bash install -m 755 "$TMP/$GAME-$PLATFORM/$GAME" "$BIN/$GAME.new" [ -f "$BIN/$GAME" ] && mv "$BIN/$GAME" "$BIN/$GAME.previous" mv "$BIN/$GAME.new" "$BIN/$GAME" rm -rf "$TMP" "$BIN/$GAME" --versionbash curl -fL -o "$TMP/$ASSET" \ "https://ghfast.top/https://github.com/Arcobalneo/gameclaw/releases/download/<tag>/$ASSET"text Only use a mirror with the player's explicit approval. Mirrors are untrusted: verify `SHA256SUMS` and say that the download came from a mirror. If no checksum is available, report that instead of pretending it is verified.Technical Analysis
The fallback workflow downloads a release archive through a third-party mirror. The archive contains both the executable and the
SHA256SUMSfile used to authenticate that executable.This verification establishes only that the binary matches the checksum bundled alongside it. It does not establish that either file originated from the GameClaw maintainer. A mirror serving modified content can supply an altered executable and a corresponding checksum, causing the comparison to succeed.
The verified file is subsequently installed with executable permissions and invoked with
--version. Player approval to use the mirror acknowledges its use but does not provide an independent authenticity guarantee.Attack Path
- A normal GitHub release download fails.
- The player approves the documented mirror fallback.
- The mirror serves an archive containing a modified game executable.
- The same archive contains a
SHA256SUMSentry ma ...[truncated 816 chars]
- Remediation
View remediation
Remediation Suggestions
- Obtain expected hashes from a channel independent of the archive and mirror, such as authenticated release metadata fetched directly from the authoritative repository.
- Prefer cryptographic signatures created by a trusted maintainer key and verify them before installation.
- Pin downloads to a specific release tag rather than resolving mutable “latest” content when reproducibility is required.
- Treat a checksum bundled inside the downloaded archive only as corruption detection, not as authenticity verification.
- If independently authenticated hashes or signatures cannot be retrieved, refuse to install or execute a mirror-supplied binary.
- Perform verification before assigning executable permissions or moving the file into the installation directory.
