Sandboxed
Virtual machine detection. This is done by looking at registry keys, processes, files, internet access and specs such as disk storage, RAM and amount of cpu cores. Easy to use Python 3 library.
Install / Use
/learn @frederikme/SandboxedREADME
sandbox-evasion
Installation
sandboxed is now available on PyPi as a pip installation.
pip3 install sandboxed
Usage
Certainty will be expressed with a value between 0 and 1, whereas closer to 0 is a real machine and closer to 1 a virtual machine.
from sandboxed import is_sandboxed
certainty = is_sandboxed()
certainty = is_sandboxed(logging=False)
print(f"Chance of being inside a virtual machine is {certainty*100}%.")
>>> Chance of being inside a virtual machine is 95%.
Explanation of the techniques used
Sandboxed will look at 3 aspects to determine whether it's being run inside a virtual machine. As can be found below:
Specifications of the machine
Since VM (=virtual machines) tend to run upon real operating systems, VM's most of the time have rather bad specs. Things that are taken into considerations:
- Hard Drive Storage Amount
- RAM Storage Amount
- CPU (logical) Cores Amount
- Serial Number of the PC
- Model of the PC
- Manufacturer of the PC
Filesystem on the PC
Some files directly point to VM that don't exist on real PCs and some files exsist on real PCs that don't exist on the VM. Things that are being looked for:
- Registry Keys
- Active Processes
- Specific Files
- Amount of Previous WIFI Connections
- Amount of Files on PC
- Amount of Previous Logins on PC
Internet Access
When Malware Reverse Engineering the VMs access to internet is most of the time limited or even blocked off completetly to avoid letting the malware back out in the open. Few basic internet checks are:
- Basic Ping
- Downloading a File
- HTTP Post Request
- DNS Socket Request
Support the Repository
Feel free to make a pull request and contribute to this project.</br> If you feel like buying me a drink:
Related Skills
claude-opus-4-5-migration
85.3kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
342.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
TrendRadar
50.2k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
mcp-for-beginners
15.7kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
