mtgaprotracker
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 75%): The PKGBUILD fetches source from the official GitHub repository with pinned SHA256 checksums, which is standard practice. The 'yarn add @electron-forge/cli' and 'yarn add @electron-forge/plugin-webpack' calls during prepare() do pull packages from the npm registry that aren't pinned in a lockfile committed to the source tarball, which is a mild supply-chain concern. However, these are well-known, widely-used official electron-forge packages maintained by the Electron project itself (published under the @electron-forge scope), not personal or unofficial packages. This is a common pattern in AUR PKGBUILDs for Electron apps where build tooling needs to be added. The risk is the same as any 'yarn install' without a lockfile — npm registry compromise or package hijacking — but this applies equally to the main 'yarn install' call and is a general AUR/npm ecosystem concern rather than a specific red flag. The packages themselves are legitimate build tools, not runtime dependencies that get bundled into the final package in an opaque way. This is sloppy packaging (should pin versions or use a lockfile) but not a meaningful elevation above the baseline risk of any npm-based AUR package.
1 higher static finding superseded - not the current verdict (shown for transparency)
npm_install_external
Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.
-
PKGBUILD:33
yarn add @electron-forge/cli -
PKGBUILD:34
yarn add @electron-forge/plugin-webpack
PKGBUILD
2 offending line(s) highlightedpkgname=mtgaprotracker
_pkgname=mtgap
pkgver=2.0.49
pkgrel=1
pkgdesc="Automatically uploads collection, decks, battles, draft and inventory from your Magic: The Gathering Arena client"
arch=('i686' 'x86_64')
license=('MIT')
depends=('electron')
makedepends=('yarn' 'npm')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Razviar/mtgap/archive/v${pkgver}.tar.gz"
"runmtgap.sh"
"${_pkgname}.desktop"
"home.html.patch"
"ipc_main.ts.patch"
"main_window.ts.patch")
sha256sums=('504b7dd11ed0af23c397cad454bf0c80988ea748ef067889ac7c633f70dfbd3d'
'93dfa25b7da8394dce436a67b600bc06bb7576daa62bdabe6e48f2bf8c9e1436'
'145aa9f5ccb104f5b93cccbe5221755299abcdf02d4cd4d635e5038bfca63048'
'5edc0ef1c18ee3f92487024460a60193834bb2fdd23b1f7b03d0acdd460f41a3'
'5aa2cb1d6d6fda1cb8be156f7a1e7419c5f14b7693a30d069201558689787e2c'
'424fc6ae2b2c824744c25e02f58ac0ec6f63f43c168e022dccd75d8974eb7643')
prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
# Set system Electron version for ABI compatibility
sed -r 's#("electron": ").*"#\1'$(cat /usr/lib/electron/version)'"#' -i package.json
# Allow higher Node versions
sed 's#"node": "#&>=#' -i package.json
yarn install
yarn add @electron-forge/cli
yarn add @electron-forge/plugin-webpack
patch -u src/windows/home/home.html < "${srcdir}/home.html.patch"
patch -u src/app/ipc_main.ts < "${srcdir}/ipc_main.ts.patch"
patch -u src/app/main_window.ts < "${srcdir}/main_window.ts.patch"
}
build(){
cd "${srcdir}/${_pkgname}-${pkgver}"
yarn run package
}
package(){
cd "${srcdir}/${_pkgname}-${pkgver}/out"
case "$CARCH" in
'x86_64')
_dir_arch='x64'
;;
'i686')
_dir_arch='i386'
;;
*)
_dir_arch=$CARCH
;;
esac
mkdir -p "${pkgdir}/opt/"
cp -a "${pkgname}-linux-${_dir_arch}" "${pkgdir}/opt/"
#Dirty Workaround for logging. Should likely go somewhere else.
mkdir -p "${pkgdir}/opt/${pkgname}-linux-${_dir_arch}/undefined/MTGAproTracker"
chgrp users -R "${pkgdir}/opt/${pkgname}-linux-${_dir_arch}/undefined"
chmod 775 -R "${pkgdir}/opt/${pkgname}-linux-${_dir_arch}/undefined"
install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/src/statics/icon.ico" "${pkgdir}/usr/share/icons/${_pkgname}.ico"
install -Dm644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
install -Dm755 "${srcdir}/runmtgap.sh" "${pkgdir}/usr/bin/mtgap"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |