claude-science
The package downloads a prebuilt executable from a non-whitelisted but plausibly official host (downloads.claude.ai); while the checksum is verified, the source is a binary release not built from auditable source code, creating a supply-chain risk if the host were compromised.
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:16
source=("cs-legal::https://code.claude.com/docs/en/legal-and-compliance.md") -
PKGBUILD:17
source_x86_64=("claude-science-${pkgver}::https://downloads.claude.ai/claude-science/${pkgver}/linux-x64")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 85%): The package downloads a prebuilt executable from a non-whitelisted but plausibly official host (downloads.claude.ai); while the checksum is verified, the source is a binary release not built from auditable source code, creating a supply-chain risk if the host were compromised.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Bora <bora.rs@pm.me>
pkgname=claude-science
pkgver=0.1.48
pkgrel=1
pkgdesc="Run Claude on your data locally, in your browser — Anthropic's research agent (beta)"
arch=('x86_64')
url="https://claude.com/product/claude-science"
license=('LicenseRef-claude-science')
depends=('glibc' 'bash' 'socat' 'bubblewrap>=0.8.0')
optdepends=('xdg-utils: auto-open the web UI in your browser (claude-science serve / open)'
'ca-certificates: system CA trust store for TLS in restricted environments')
# Self-contained Bun single-file executable with embedded JS/resources — stripping breaks it.
options=('!strip')
# Legal doc is a live page (same one the claude-code AUR package ships): SKIP its checksum.
# The binary is pinned to a version-stable, content-addressed URL with a real checksum.
source=("cs-legal::https://code.claude.com/docs/en/legal-and-compliance.md")
source_x86_64=("claude-science-${pkgver}::https://downloads.claude.ai/claude-science/${pkgver}/linux-x64")
sha256sums=('SKIP')
sha256sums_x86_64=('58d5760b4255771de1c1bd7a3a0f2c74afffed5a123ff998dd03a51a0c26a2c3')
package() {
install -Dm755 "${srcdir}/claude-science-${pkgver}" "${pkgdir}/usr/bin/claude-science"
install -Dm644 "${srcdir}/cs-legal" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-15 00:25+++ PKGBUILD @ 2026-09-17 00:27@@ -1,6 +1,6 @@ # Maintainer: Bora <bora.rs@pm.me> pkgname=claude-science-pkgver=0.1.43+pkgver=0.1.48 pkgrel=1 pkgdesc="Run Claude on your data locally, in your browser — Anthropic's research agent (beta)" arch=('x86_64')@@ -16,7 +16,7 @@ source=("cs-legal::https://code.claude.com/docs/en/legal-and-compliance.md") source_x86_64=("claude-science-${pkgver}::https://downloads.claude.ai/claude-science/${pkgver}/linux-x64") sha256sums=('SKIP')-sha256sums_x86_64=('bd67456d23a70f4ca13c31c910bb4fbb5cf16ecb30919f6bbdeba55bf2e7a528')+sha256sums_x86_64=('58d5760b4255771de1c1bd7a3a0f2c74afffed5a123ff998dd03a51a0c26a2c3') package() { install -Dm755 "${srcdir}/claude-science-${pkgver}" "${pkgdir}/usr/bin/claude-science"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 13:19:52 | Medium | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 21:49:23 | Medium | 1 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |