hexcore-link

maintainer ScoopNewsworthy · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt x86_64 binary tarball from a Cloudflare R2 bucket (pub-0ff293aefb644607ac910219d9762b50.r2.dev) which is a personal/vendor-controlled cloud storage bucket rather than an official distribution channel like GitHub releases or the vendor's own infrastructure. The binary is an Electron app (evidenced by the Chromium/Electron license files) that gets installed and executed directly. While sha256sums are provided (mitigating substitution attacks at build time), the source is not a recognized official release host — it's a Cloudflare R2 bucket that could be controlled by anyone. The official URL is hexcore.xyz but the binary comes from an R2 bucket with an opaque ID. This is a genuine medium-severity supply-chain concern: a prebuilt executable from a non-canonical host with no reproducibility guarantee, though the checksum does provide some protection against in-transit tampering. The risk is that the bucket owner could rotate the file at a new version bump without any source code audit trail.

Triggered rules

MEDIUM source=() URL on a non-standard host 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:14 source_x86_64=("https://pub-0ff293aefb644607ac910219d9762b50.r2.dev/HexcoreLink_${pkgver}_x64.tar.gz"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt x86_64 binary tarball from a Cloudflare R2 bucket (pub-0ff293aefb644607ac910219d9762b50.r2.dev) which is a personal/vendor-controlled cloud storage bucket rather than an official distribution channel like GitHub releases or the vendor's own infrastructure. The binary is an Electron app (evidenced by the Chromium/Electron license files) that gets installed and executed directly. While sha256sums are provided (mitigating substitution attacks at build time), the source is not a recognized official release host — it's a Cloudflare R2 bucket that could be controlled by anyone. The official URL is hexcore.xyz but the binary comes from an R2 bucket with an opaque ID. This is a genuine medium-severity supply-chain concern: a prebuilt executable from a non-canonical host with no reproducibility guarantee, though the checksum does provide some protection against in-transit tampering. The risk is that the bucket owner could rotate the file at a new version bump without any source code audit trail.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Nick Haghiri <nshaghiri+aur [at] gmail [dot] com>
2
3pkgname=hexcore-link
4pkgver=2.5.9
5pkgrel=7
6pkgdesc="Hexcore Link for ANNE PRO 2D and other keyboards (firmware > 3.0)"
7arch=('x86_64')
8url="https://www.hexcore.xyz/hexcore-link"
9license=('custom')
10depends=('desktop-file-utils' 'hicolor-icon-theme' 'libappindicator-gtk3' 'libnotify' 'libxss' 'libxtst' 'nss' 'libxkbcommon-x11')
11options=('!strip' '!emptydirs')
12install=${pkgname}.install
13
14source_x86_64=("https://pub-0ff293aefb644607ac910219d9762b50.r2.dev/HexcoreLink_${pkgver}_x64.tar.gz"
15 "deb_extra_files_hexcore.tar.gz"
16 "70-hexcore-link.rules")
17sha256sums_x86_64=('726f2062d2446d2101e6b2eec5e95d186c1a0a15e21ede69e5ff573ec30d24e9'
18 '94e4942cc7408feb419e76aa2867e50bdf2bedefd734eb367286b5a7844d2c46'
19 '2aaca45668bc444b166f4aa3639df24c4dbbe843486221172010062abd9a0b0c')
20
21package() {
22 install -d "${pkgdir}/opt/${pkgname}"
23 install -d "${pkgdir}/usr/bin"
24
25 cp -rt "${pkgdir}/opt/${pkgname}" "${srcdir}/HexcoreLink_${pkgver}_x64/"*
26
27 if [ -d "${srcdir}/usr" ]; then
28 install -d "${pkgdir}/usr"
29 cp -rt "${pkgdir}/usr" "${srcdir}/usr/"*
30 fi
31
32 # Fix: Reverting Exec path to the absolute path in /opt
33 sed -i "s|Exec=.*|Exec=/opt/${pkgname}/${pkgname} %U|" "${pkgdir}/usr/share/applications/hexcore-link.desktop"
34
35 # Create symlink for terminal use
36 ln -sf "/opt/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
37
38 # Install the new Udev Rules for keyboard detection
39 install -Dm644 "${srcdir}/70-hexcore-link.rules" "${pkgdir}/usr/lib/udev/rules.d/70-${pkgname}.rules"
40
41 chmod 755 "${pkgdir}/opt/${pkgname}/${pkgname}"
42
43 install -Dm644 "${pkgdir}/opt/${pkgname}/LICENSES.chromium.html" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-CHROMIUM"
44 install -Dm644 "${pkgdir}/opt/${pkgname}/LICENSE.electron.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-ELECTRON"
45}
46

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion