Skip to main content

占位包:Magic-sandbox 轻量级python沙箱工具(即将推出)

Project description

magic-sandbox

轻量级、可审计的 Python 沙箱
安全执行不可信代码,守住所有危险操作的必经之路。

PyPI version License: MIT Python 3.8+

项目状态

开发中 - 首个正式版本将于 2026 年 Q3 发布

特性

  • 🚀 极轻量:纯 Python 实现,零外部依赖,毫秒级启动。
  • 🛡️ 纵深防御:AST 静态分析 + 动态桩 + 声明式资源 + 可选子进程隔离。
  • 📝 完整审计:所有危险操作(文件、网络、子进程、动态库)自动记录日志,不可篡改。
  • 🧩 声明式权限:第三方代码必须预先声明所需资源(文件路径、网络域名等),越权即拦截。
  • 🔁 互为触发:每一层防御都不是孤立的,突破 AST 会触发动态桩,攻击动态桩会被 AST 捕获。
  • 🧪 Dry-Run 模式:在完全隔离的环境中模拟执行,观察行为而不产生真实副作用。

适用场景

  • AI Agent / LLM 生成的代码执行
  • 量化交易策略隔离
  • 在线代码评测(Judge)
  • 插件系统(IDE、CMS、数据处理平台)
  • 低代码平台的自定义脚本
  • 任何需要安全运行不可信 Python 代码的场景

安装

pip install magic_sandbox

安全设计概览

防御层 技术 作用
静态分析 AST 扫描 禁止字符串拼接、危险属性(__class__)、高危函数(eval
动态桩 函数入口替换 前置校验参数、限流、dry-run 模拟
审计钩子 sys.addaudithook 底层不可绕过的监控,记录所有危险调用
声明式资源 Manifest 校验 最小权限原则,越权即拦截
子进程隔离 subprocess + seccomp 可选模式,即使逃逸也无法影响主进程
审计日志 结构化 + SQLite 完整记录攻击路径,防篡改

示例(待正式版本发布后补充)

示例代码将在正式版本发布时补充。

代码规范

本项目遵循以下基本原则:

  1. 单文件不超过 200 行:超过时请拆分为多个模块
  2. 单函数不超过 200 行:超过时请拆分为多个小函数
  3. 注释尽量完整:关键逻辑、复杂算法、非显而易见的代码必须有注释说明
  4. 如有特殊场景确实需要突破(如纯数据定义文件),可在 PR 中说明。

这些规则旨在保证代码的可读性和可维护性,便于合作,请尽量遵守。

针对 AI 辅助工具的提示

本项目使用 AI 辅助开发,请在生成代码时尽量遵守上述代码规范。

许可证

MIT License

作者

wxd123 - GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic_sandbox-0.1.0.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magic_sandbox-0.1.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file magic_sandbox-0.1.0.tar.gz.

File metadata

  • Download URL: magic_sandbox-0.1.0.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for magic_sandbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9b22ec2c0c8144954c4ee3cdf5899f34a1dd33d150512be45951ebe8436b7b7b
MD5 cdef2afd4496540f1079017815fd124b
BLAKE2b-256 9cd600b4ee5dcd69eaf1679cdf887f08f4bb92ba45d757e02de7d23b6e0b9608

See more details on using hashes here.

File details

Details for the file magic_sandbox-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: magic_sandbox-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for magic_sandbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e3a0fd31738e12ef8a8ba923c2b3d7b64748e8c249c1c165c5885cdd72c47fd
MD5 7845422ce3040a99d856cba18ff5a60a
BLAKE2b-256 4d40b410568b9489831404ec85480c9a4e65322ea9677d87a227d3dc9920b928

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page