teamwork-desktop
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:13
"$pkgname-$pkgver.7z::https://tw-open.s3.amazonaws.com/projects/electron/releases/teamwork-projects-desktop-$pkgver-x64.nsis.7z"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary archive (NSIS 7z) from an AWS S3 bucket (tw-open.s3.amazonaws.com) that belongs to Teamwork's own infrastructure — this is the vendor's official release channel as indicated by the latest.yml release manifest on the same bucket. The sha256sums are pinned, which mitigates substitution risk significantly. The PKGBUILD extracts the ASAR (JavaScript app bundle), applies patches to remove auto-update and fix the titlebar, repacks it, and runs it under the system electron26. No arbitrary binary execution occurs during build; the runtime is the system electron. The main concern is that the S3 bucket is controlled by a third party (Teamwork) rather than a canonical package mirror, and the archive contains prebuilt Electron app code. However, this is the vendor's own distribution channel with a pinned hash, which is standard practice for proprietary Electron apps in the AUR. The risk is real but typical for this class of package — not elevated beyond the normal medium for prebuilt vendor binaries from a non-distro host.
PKGBUILD
1 offending line(s) highlighted# Maintainer: nezu <nezu@nezu.cc>
pkgname=teamwork-desktop
pkgver=1.3.2
pkgrel=1
pkgdesc="Teamwork for Desktop - Launch Teamwork directly from your desktop."
arch=('any')
url="https://integrations.teamwork.com/integrations/teamwork-projects-desktop/"
license=('unknown')
depends=(electron26)
makedepends=(asar)
source=(
# latest release can be found here: https://tw-open.s3.amazonaws.com/projects/electron/releases/latest.yml
"$pkgname-$pkgver.7z::https://tw-open.s3.amazonaws.com/projects/electron/releases/teamwork-projects-desktop-$pkgver-x64.nsis.7z"
"fix-titlebar.patch"
"remove-auto-update.patch"
"teamwork-desktop.desktop"
"teamwork-desktop.sh")
sha256sums=('fae7d87686c7a40c0588914b9350bb4dd6f2d778341a3ef78079f3b2ee302285'
'e0c69e7a9d26d4afe1389a0348e34d84affa6783b0f64b4a6c9752041e8d0595'
'57071e5305fe9b973b8d48e90e827a9323f3f0b5b15f3ba5ecb4e57e03b1cc8f'
'abd0bf317ac70d5aa51516508cdcf09875496b8bfde643af52df98f0e58d0b93'
'241c4bdb71974742a4204f0d1cd0c58b007cb459961e278dbd77f3e4ea0c54f5')
prepare() {
cd resources
asar extract app.asar app
patch --directory="app" --forward --strip=1 --input="${srcdir}/remove-auto-update.patch"
patch --directory="app" --forward --strip=1 --input="${srcdir}/fix-titlebar.patch"
}
build() {
cd resources
asar pack app patched-app.asar
}
package() {
install -Dm644 resources/patched-app.asar "$pkgdir/usr/lib/$pkgname/resources/app.asar"
install -Dm755 "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
install -Dm644 "$pkgname.desktop" -t "$pkgdir/usr/share/applications/"
install -Dm644 resources/app/src/renderer/images/logo.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/$pkgname.png"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |