quixel-bridge-blender
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:12
source=("https://quixel-megascans-static.s3.us-west-2.amazonaws.com/bridge/plugins_12/blender/linux/${pkgver}.zip")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The source is a prebuilt plugin zip pulled from an AWS S3 bucket (quixel-megascans-static.s3.us-west-2.amazonaws.com) that belongs to Quixel/Epic Games, the official vendor of Quixel Bridge. This is not a random personal host — Quixel is the legitimate upstream and S3 is a common CDN for official vendor assets. However, the concern is real: S3 buckets are not immutable; the content at that URL could be replaced without changing the URL, and there is no GPG signature or other out-of-band verification. The sha256sum provides integrity checking against the originally captured hash, which mitigates accidental substitution but not a deliberate upstream swap. The installed artifact is a Python file (__init__.py) placed into Blender's startup scripts directory, meaning it executes automatically on every Blender launch — making the impact of any compromise high. On balance: the host is plausibly official (Quixel's own S3 bucket), the sha256 is present, but the lack of a signed release and the auto-execution of the installed Python code keeps this at medium rather than clean.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Valters Tomsons <valters.tomsons at protonmail dot com>
pkgname="quixel-bridge-blender"
pkgver=3.6
pkgrel=2
pkgdesc="A plugin for Blender 4.3 which allows exporting assets from Quixel Bridge."
arch=('any')
url="https://quixel.com/bridge"
license=('custom:Commercial')
depends=('zlib')
options=(!strip)
source=("https://quixel-megascans-static.s3.us-west-2.amazonaws.com/bridge/plugins_12/blender/linux/${pkgver}.zip")
sha256sums=('a5e33c03092d47bb3a9cb74783039af71bdc1265ddd38d309c6de7ab76e3e63f')
package() {
install -Dm755 "${srcdir}/MSPlugin/__init__.py" "${pkgdir}/usr/share/blender/4.3/scripts/startup/MSPlugin/__init__.py"
}
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 |