Skip to content

BlendGuard

by Arthur-Dutra·Workflow

Images © Arthur-Dutra. Used for product review; image policy.

Why we like it

BlendGuard earns its place in the blender_extensions library for filling a specific gap: Blender warns about auto-run but does not show what a file would execute. Version 0.5.1 routes trusted scripts through Blender's own bpy.ops.text.run_script operator, keeping the same content-hash gating and per-script isolation.

What is BlendGuard?

.blend files can embed Python, which is legitimate for rigging and automation but is abused: malicious files carry information-stealers such as StealC V2 that run the moment a file opens with Auto Run Python Scripts enabled, harvesting Discord tokens, browser credentials, and crypto wallets. Blender keeps auto-run off and warns, but does not show what a file would have run. BlendGuard fills that gap.

It enumerates embedded text scripts, Python driver expressions, OSL script nodes, and registered handlers, then scores them CLEAN, INFO, SUSPICIOUS, or DANGEROUS without executing anything. To resist evasion it normalizes string concatenation and escapes, decodes base64, base85, base32, hex, rot13, zlib, and gzip recursively, flags high-entropy blobs, and confirms dangerous calls via AST. It also recognizes campaign tradecraft including Cloudflare Workers loaders, PowerShell -enc, and browser, wallet, and Discord theft paths.

A load-time guard inspects on open, while a disk scan triages before you open by parsing the .blend block structure, reporting INCOMPLETE rather than a false clean when it cannot fully read a compressed file. The developer frames BlendGuard as defense in depth rather than a guarantee, and keeping Auto-Run off remains your primary protection.

Who is BlendGuard best for?

BlendGuard is best for blender users who download .blend files from asset sites, bundles, or untrusted sources and want to inspect embedded scripts before enabling auto-run.

How much does BlendGuard cost?

BlendGuard is completely free to download and use.

Key features

  • Enumerates embedded text scripts, Python driver expressions, OSL script nodes, and registered handlers, scoring each CLEAN, INFO, SUSPICIOUS, or DANGEROUS without executing anything
  • Evasion resistance: normalizes string concatenation and escapes, decodes base64/85/32, hex, rot13, zlib, and gzip recursively, flags high-entropy blobs, and confirms dangerous calls via AST
  • Recognizes campaign tradecraft including Cloudflare Workers loaders, PowerShell -enc, and browser, wallet, and Discord theft paths
  • Load-time guard inspects on open and warns; a disk scan triages before you open by parsing the .blend block structure, reporting INCOMPLETE rather than a false clean on unreadable compressed files
  • Static analysis only, with no network access and no telemetry
  • Verdict shown in the BlendGuard sidebar tab (press N), or surfaced by the on-open guard

Tags

#security#static analysis#python scripts#malware detection#blend file inspection#free add-on

Frequently asked questions

Does BlendGuard work with Blender 4.2 LTS and newer?

BlendGuard is compatible with Blender 4.2 LTS and newer. It installs as an extension through Edit > Preferences > Get Extensions, then the dropdown's Install from Disk option, where you select the BlendGuard zip; you can also drag and drop the file into Blender. Once installed, keep Auto-Run Python Scripts off, open the file, and read the verdict in the BlendGuard sidebar tab by pressing N, or let the on-open guard surface it for you. Only enable scripts for files you have inspected and trust.

Does BlendGuard run the Python it finds inside a .blend file?

BlendGuard uses static analysis only and does not execute anything while inspecting a file. It enumerates embedded text scripts, Python driver expressions, OSL script nodes, and registered handlers, then scores each as CLEAN, INFO, SUSPICIOUS, or DANGEROUS. To resist obfuscation it normalizes string concatenation and escapes, decodes base64, base85, base32, hex, rot13, zlib, and gzip recursively, flags high-entropy blobs, and confirms dangerous calls via AST. Because it is a heuristic, the developer frames it as defense in depth rather than a guarantee, so keeping Auto-Run off stays your primary protection.

Does BlendGuard connect to the internet or collect data?

BlendGuard performs static analysis only and has no network access. The developer states there is no telemetry and no network activity. Its single requested permission is file access, used to read the user-selected .blend files it inspects for scripts, so the tool examines files locally without sending anything out. It recognizes campaign tradecraft such as Cloudflare Workers loaders, PowerShell -enc, and browser, wallet, and Discord theft paths, all as part of its offline scoring rather than any live lookup.

Is BlendGuard free to use?

BlendGuard is listed as free here and is released under the GNU General Public License v3.0 or later. The developer describes it as a free, GPL, transparency-first security add-on. For the current licensing terms and the LICENSE file, check the developer's page on GitHub. The add-on requests only file access to read the .blend files you select, and the developer confirms there is no telemetry and no network access tied to its use.

What changed in BlendGuard 0.5.1?

BlendGuard 0.5.1 routes trusted scripts through Blender's own bpy.ops.text.run_script operator. The behaviour is unchanged: the same content-hash gating, the same requirement that global Auto-Run stays off, and the same per-script isolation. The runner prefers a Text Editor that is already open, and briefly repurposes one using a temp_override context before restoring it if none exists. In background sessions launched with --background there is no Text Editor context, so trusted auto-run is a safe no-op there.

Alternatives to BlendGuard

Also in Workflow for Blender.

Similar plugins