Security Policy¶
Supported Versions¶
| Version | Supported |
|---|---|
| 1.0.x |
Reporting a Vulnerability¶
If you discover a security vulnerability in BlenderForge, please report it responsibly:
- Email: Send details to mithungowda.b7411@gmail.com
- GitHub: Open a private security advisory at https://github.com/mithun50/blenderforge/security/advisories/new
Please include: - Description of the vulnerability - Steps to reproduce - Potential impact - Suggested fix (if any)
We aim to respond within 48 hours and will work with you to understand and address the issue.
Security Features¶
Code Execution Security¶
BlenderForge includes several security measures for the execute_blender_code tool:
Blocked Patterns¶
The following dangerous patterns are automatically blocked: - os.system - System command execution - subprocess - Process spawning - __import__ - Dynamic imports - eval() / exec() - Dynamic code execution - File write operations (open(..., 'w')) - File deletion (shutil.rmtree, os.remove, os.unlink, os.rmdir) - Network operations (socket, requests, urllib, http)
Allowed Imports¶
Only the following safe imports are permitted: - bpy - Blender Python API - bmesh - Blender mesh editing - mathutils - Math utilities - math - Standard math functions - random - Random number generation - json - JSON parsing - re - Regular expressions - collections - Data structures - itertools - Iteration utilities - functools - Functional programming tools - typing - Type hints
Disabling Code Execution¶
To completely disable code execution:
Authentication¶
BlenderForge uses token-based authentication between the MCP server and Blender addon:
- Token Generation: A secure random token is generated using
secrets.token_hex(32) - Environment Variable: Token is stored in
BLENDERFORGE_AUTH_TOKEN - Verification: All commands include the auth token for verification
API Key Security¶
Important: Never hardcode API keys in your code.
BlenderForge supports secure API key management:
Hyper3D Rodin API Key¶
Sketchfab API Key¶
Configure via the Blender addon preferences or environment variable.
Network Security¶
- Communication occurs over localhost by default (
localhost:9876) - Socket connections use timeout protection (180 seconds)
- Connection retry logic with limits (3 attempts)
Best Practices¶
For Users¶
- Keep BlenderForge Updated: Always use the latest version for security patches
- Secure API Keys: Use environment variables, never share API keys
- Review Code: Before executing code, review what it does
- Use Trusted Sources: Only use BlenderForge with trusted AI assistants
For Developers¶
- Input Validation: Always validate user input before processing
- Principle of Least Privilege: Request only necessary permissions
- Secure Defaults: Default to secure configurations
- Logging: Log security-relevant events without exposing sensitive data
Telemetry & Privacy¶
BlenderForge includes optional anonymous telemetry:
- What's Collected: Tool usage, session ID, platform, version
- What's NOT Collected: Personal data, file contents, API keys, code content
- Disable Telemetry:
Changelog¶
v1.0.0¶
- Added code execution security validation
- Added rate limiting for API calls
- Removed hardcoded API keys
- Added environment variable support for API keys
- Added security documentation