typora-free
The PKGBUILD installs a prebuilt proprietary Electron/Node.js binary (Typora 0.11.18) sourced from web.archive.org rather than the original vendor host (which is noted as no longer available). While web.archive.org is a reputable archive service and the sha512sum is present and specific, the concern is real: (1) the source is a prebuilt binary blob containing a full Electron runtime plus Node.js modules, not source-compiled code; (2) the original vendor URL is gone, making independent verification harder; (3) web.archive.org snapshots can theoretically be influenced, though in practice Wayback Machine content is stable. The sha512sum does pin the exact file, which significantly mitigates the supply-chain risk. However, the package installs an executed proprietary binary from a non-canonical host with no way to rebuild from source, which is the definition of a medium supply-chain concern. The chmod 4755 on chrome-sandbox (setuid root) is standard Chromium/Electron packaging practice and not itself suspicious. Overall this is a legitimate medium: real concern about binary provenance from a non-official host, partially mitigated by a strong checksum.
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:22
source=("https://web.archive.org/web/20211127121316if_/https://typora.io/linux/$filename")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD installs a prebuilt proprietary Electron/Node.js binary (Typora 0.11.18) sourced from web.archive.org rather than the original vendor host (which is noted as no longer available). While web.archive.org is a reputable archive service and the sha512sum is present and specific, the concern is real: (1) the source is a prebuilt binary blob containing a full Electron runtime plus Node.js modules, not source-compiled code; (2) the original vendor URL is gone, making independent verification harder; (3) web.archive.org snapshots can theoretically be influenced, though in practice Wayback Machine content is stable. The sha512sum does pin the exact file, which significantly mitigates the supply-chain risk. However, the package installs an executed proprietary binary from a non-canonical host with no way to rebuild from source, which is the definition of a medium supply-chain concern. The chmod 4755 on chrome-sandbox (setuid root) is standard Chromium/Electron packaging practice and not itself suspicious. Overall this is a legitimate medium: real concern about binary provenance from a non-official host, partially mitigated by a strong checksum.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Jonas Bögle <aur@iwr.sh>
# Contributor: Jonathan Duck <duckbrain30@gmail.com>
# Consider using https://aur.archlinux.org/packages/typora instead
_pkgname=typora
pkgname="$_pkgname-free"
pkgver=0.11.18
pkgrel=4
pkgdesc="A minimal markdown editor and reader."
arch=('x86_64')
filename="typora_${pkgver}_amd64.deb"
license=('custom:"Copyright (c) 2015 Abner Lee All Rights Reserved."')
url="https://typora.io/"
depends=('gtk3' 'libxss')
optdepends=(
'noto-fonts-emoji: Or some other emoji font to see emojis'
'pandoc: Import/export for extra file formats')
provides=("$_pkgname")
conflicts=("$_pkgname")
# The original URL is not available anymore
source=("https://web.archive.org/web/20211127121316if_/https://typora.io/linux/$filename")
sha512sums=('8933cb4eab13a37719a3771d14a7a3f5951f6bbce06381ffe37ad5bc3029efed3878723427a4e97b83dbc1d7ccc43b31551b0c336663c843f0e685f8a4e2390e')
package() {
bsdtar -xf data.tar.xz -C "$pkgdir/"
rm -rf "$pkgdir/usr/share/lintian/"
chmod 4755 "$pkgdir/usr/share/typora/chrome-sandbox"
# Remove write permission for group/other
chmod -R go-w "$pkgdir/usr/share/typora/resources/node_modules"
sed -i '/Change Log/d' "$pkgdir/usr/share/applications/typora.desktop"
find "$pkgdir" -type d -exec chmod 755 {} \;
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |