teamwork-timer
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:15
"https://s3.amazonaws.com/tw-open/timer/${_appimage}"
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 AppImage binary from an S3 bucket (s3.amazonaws.com/tw-open/timer/) and installs it as an executable. While S3 is a legitimate hosting platform, this is not the official Teamwork download page or a verified vendor CDN endpoint — it's a personal/company S3 bucket with no chain of trust beyond the sha256sum provided in the PKGBUILD. The sha256sum is present and provides some integrity guarantee, but S3 buckets can be silently replaced if the bucket owner changes the object, and there is no GPG signature verification. The AppImage is extracted and executed during prepare() and then installed as a system binary. This is a genuine supply-chain concern: a prebuilt, unverifiable binary from an unofficial host that gets executed on the build system and installed system-wide. The 'unknown' license is also a concern but not a security issue. This is a legitimate medium-severity rating.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Connor Reeder <connor dot reeder at ymail dot com>
pkgname='teamwork-timer'
pkgver=2.1.1
pkgrel=1
pkgdesc='Timer app - the perfect complement to Teamwork.'
arch=('x86_64')
url='https://www.teamwork.com/'
license=('unknown')
depends=('fuse2' 'zlib' 'hicolor-icon-theme')
options=(!strip)
_shortname='teamworktimer'
_appimage="Teamwork+Timer-${pkgver}.AppImage"
source=(
"https://s3.amazonaws.com/tw-open/timer/${_appimage}"
)
sha256sums=(
'ae9a04a2394117ad9daa212b83efe17b5189b8c4e15346467296ffcb8aba0f59'
)
prepare() {
chmod +x ${_appimage}
./${_appimage} --appimage-extract
}
package() {
cd "$srcdir"
# Create Directories
install -d "${pkgdir}/usr/bin"
install -dm755 "${pkgdir}/usr/share/icons/hicolor"
# Install AppImage
install -Dm755 "${_appimage}" -t "${pkgdir}/opt/${_shortname}"
# Install Icons, Desktop Shortcut
find squashfs-root -type d -exec chmod 0755 {} \;
cp -r squashfs-root/usr/share/icons/hicolor "${pkgdir}/usr/share/icons/"
sed -i -E "s|Exec=AppRun %U|Exec=/usr/bin/${_shortname}|" "squashfs-root/${_shortname}.desktop"
install -Dm644 "squashfs-root/${_shortname}.desktop" -t "${pkgdir}/usr/share/applications/"
# Symlink AppImage
ln -s "/opt/${_shortname}/${_appimage}" "${pkgdir}/usr/bin/${_shortname}"
}
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 |