Judge0 在线代码执行系统

为人类与AI提供稳健、快速、可扩展且沙箱隔离的开源在线代码执行系统,让代码执行变得简单。

源仓库
judge0/judge0
Star 数
★ 4.5k
最近更新
1 天前
License
GPL-3.0
主语言
HTML

30 秒速览

运行形态
自托管服务云服务 / SaaS代码库 / SDK
可在哪里用
通用 · 跨平台
费用
有免费版,另有付费云服务
上手难度
中 · 需要几步配置
开始前需要
DockerRuby on RailsIsolateShell / 命令行网络访问本地文件系统
典型场景
AI 开发者为模型生成的代码提供安全的沙箱执行环境,避免直接运行不受信任的代码。
不适合
  • 需要开箱即用图形管理界面的团队
  • 希望完全离线、不依赖 Docker/Redis/PostgreSQL 的用户
  • 无法及时跟进安全补丁、担心沙箱逃逸风险的组织

这个 Agent 能做什么,适合哪些场景?

Judge0 是一个自 2016 年起持续开发的开源在线代码执行系统,专为需要安全运行不受信任代码的场景设计。它提供简单 HTTP JSON API,支持 90 多种编程语言,并能执行多文件项目、自定义编译选项、命令行参数以及时间和内存限制设置。Judge0 支持自托管(Docker)或托管 SaaS,并附带官方 Python 与 JavaScript SDK。其架构经研究论文论证,具备高可扩展性,已被广泛用于构建在线评测系统、编程竞赛平台、AI 代理代码执行等。

Judge0 接收源代码和标准输入,在隔离的沙箱环境中编译并运行代码,返回执行结果(标准输出、退出码、时间与内存消耗)。用户可通过 HTTP JSON API 或官方 Python SDK 提交任务,例如使用 curl 向 /submissions 端点发送 language_id、source_code 和 stdin 字段。系统支持多文件程序、附加文件、自定义编译器选项和命令行参数,并通过 Webhooks 提供异步回调。

  1. AI 开发者为模型生成的代码提供安全的沙箱执行环境,避免直接运行不受信任的代码。
  2. 在线编程教育平台利用 Judge0 自动评测学生提交的代码。
  3. 技术面试平台通过 Judge0 运行候选人的代码,实现实时编码评估。
  4. 竞赛编程组织者部署在线评测系统,支持大规模并发参与。
  5. 开发者快速搭建类似 LeetCode 的练习网站,提供多语言代码执行能力。

如何安装或部署这个 Agent?

快速自托管:确保系统已安装 Docker,然后拉取 judge0/judge0 镜像并按照官方文档的部署流程(见 CHANGELOG.md)启动容器。需要配合 Redis 和 PostgreSQL 等依赖。具体步骤请参考官方部署文档。

如何使用这个 Agent?

使用 HTTP API:向 https://ce.judge0.com/submissions?wait=true 发送 POST 请求,包含 language_id、source_code 和 stdin,即可获得执行结果。例如:curl -H "Content-Type: application/json" -d '{"language_id": 109, "source_code": "print(f\"hello, {input()}\")", "stdin": "Alice"}' https://ce.judge0.com/submissions?wait=true。也可使用官方 Python SDK:pip install judge0 后,调用 judge0.run(source_code, stdin, language)。

这个 Agent 有哪些优点和局限?

优点
  • 支持 90+ 编程语言,覆盖绝大多数主流语言。
  • 提供简单统一的 REST API,集成成本低。
  • 支持自托管,数据与基础设施完全自主可控。
  • 沙箱化隔离,可安全执行不受信任的代码。
  • 可水平扩展,能处理高并发负载。
局限
  • 自托管需要 Docker、Redis、PostgreSQL 等技术栈,运维复杂度较高。
  • 尽管沙箱隔离,但历史 CVE(如 CVE-2024-28185)表明存在安全风险,需及时更新。
  • 仅提供 HTTP API 和 SDK,没有原生的图形界面,管理功能需自行开发。

这个 Agent 与同类方案有什么区别?

相比 E2B 等 AI 代码沙箱服务,Judge0 提供自托管路径和更广泛的语言支持,但 E2B 可能提供更现代的 AI 原生功能。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Judge0 在线代码执行系统 当前 41 · 缺口较多 自托管服务免费版 + 付费版 ★ 4.5k 1 天前 HTML —
Open Terminal 50 · 缺口较多 自托管服务免费 ★ 3.4k 今天 Python —
OtoDock 77 · 表现良好 自托管服务免费版 + 付费版 ★ 191 5 天前 Python Codex · Claude Code
Synapse AI 多智能体编排平台 70 · 存在缺口 命令行工具免费 + 模型费 ★ 329 2 个月前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
41/ 100 五分制 2.1 / 5
信任安全 2/29
可靠稳定 6/14
适用触发 10/18
规范维护 10/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全2 / 29 · 0.3/5

证据显示项目声称沙箱化执行不受信任的代码,但未提供具体实现细节或权限最小化措施,因此仅给1分。用户确认机制未提及,数据流透明度未说明,敏感数据处理未涉及,依赖安全未评估,外部影响未说明,回滚机制未提及。来源归属方面,README列出了作者和贡献者,但未验证身份,因此给1分。

可靠稳定6 / 14 · 2.1/5

自一致性方面,README描述与功能列表一致,但未提供测试证据,因此给2分。依赖可用性方面,未提供依赖清单或版本锁定,因此给1分。失败消息方面,API文档可能包含错误信息,但未在提供的文件中体现,因此给1分。

适用触发10 / 18 · 2.8/5

受众和场景明确,包括AI代理、教育平台等,因此给2分。能力边界方面,列出了支持的语言和功能,但未明确限制,因此给2分。触发精度方面,API调用示例清晰,但未详细说明触发条件,因此给1分。环境适配方面,支持自托管和云服务,因此给2分。

规范维护10 / 18 · 2.8/5

信息架构清晰,有目录和文档链接,因此给2分。安装说明提供了多种方式,因此给2分。命名稳定性方面,未提及API版本稳定性,因此给1分。示例和FAQ提供了API和SDK示例,因此给2分。已知限制未明确列出,因此给1分。许可证为GPL-3.0,因此给2分。版本和变更日志有链接,因此给2分。维护责任方面,有安全政策和联系方式,因此给2分。

有效结果9 / 13 · 3.5/5

输出可用性方面,API返回详细结果,因此给2分。边际价值方面,提供了多种集成方式,因此给2分。成本效益方面,开源且可自托管,因此给2分。

证据核验4 / 8 · 2.5/5

声明可追溯性方面,README引用了研究论文和文档,因此给2分。跨来源佐证方面,有大量学术引用,因此给2分。事实与推断分离方面,部分声明如'robust'和'fast'缺乏具体数据支持,因此给1分。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 未提供沙箱实现细节,需审查代码以确认权限最小化。
  • 未提及用户确认机制,可能自动执行代码。
  • 依赖安全未评估,需检查依赖清单和漏洞。
  • 未提供回滚机制,升级失败可能影响服务。
  • 发布者身份未验证,需谨慎对待。
证据充分度:低 评估于 2026年8月11日 审查版本 aca5e2bbfa6b 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.13.1 Judge0 CE v1.13.1
    发布说明摘录
    v1.13.1 (2024-04-18) Security researcher [Daniel Cooper](https://www.linkedin.com/in/daniel-cooper4) (@stacksparrow4) found three critical vulnerabilities in Judge0 versions <= 1.13.0, which this release fixes. Thank you, Daniel, for your contribution. Security Fixes This release fixes the following security vulnerabilities: - [CVE-2024-28185](https://github.com/judge0/judge0/security/advisories/GHSA-h9g2-45c8-89cf) - [CVE-2024-28189](https://github.com/judge0/judge0/security/advisories/GHSA-3xpw-36v7-2cmg) …
    在 GitHub 查看 ↗
  2. v1.13.1-extra Judge0 Extra CE v1.13.1
    发布说明摘录
    v1.13.1-extra (2024-04-18) Security researcher [Daniel Cooper](https://www.linkedin.com/in/daniel-cooper4) (@stacksparrow4) found three critical vulnerabilities in Judge0 versions <= 1.13.0-extra, which this release fixes. Thank you, Daniel, for your contribution. Security Fixes This release fixes the following security vulnerabilities: - [CVE-2024-28185](https://github.com/judge0/judge0/security/advisories/GHSA-h9g2-45c8-89cf) - [CVE-2024-28189](https://github.com/judge0/judge0/security/advisories/GHSA-3xpw-36v7-2cmg) …
    在 GitHub 查看 ↗
  3. v1.13.0 Judge0 CE v1.13.0
    发布说明摘录
    v1.13.0 (2021-03-10) Huge thanks to [Filtered](https://www.filtered.ai) for sponsoring this release. New Features - Added support for enable_network configuration flag. With the new ALLOW_ENABLE_NETWORK configuration variable, usage of this flag can be permitted or denied. Furthermore, with the new ENABLE_NETWORK configuration variable the default value of this flag can be set for every submission. - Commits: [@62a00520](https://github.com/judge0/judge0/commit/62a00520692c2b7a8bf0f54528aee8fbbf864f36) …
    在 GitHub 查看 ↗

常见问题

Judge0 支持哪些语言?
支持 90+ 种语言,完整列表见 https://ide.judge0.com。
如何从 Judge0 Cloud 迁移到自托管?
Judge0 提供了完整的自托管部署指南(Docker 方式),遵循官方 CHANGELOG 中的步骤即可。
Judge0 安全吗?能否防止恶意代码?
Judge0 使用沙箱隔离(如 Isolate),但存在已知漏洞,务必及时更新到最新版本并遵循安全最佳实践。
是否支持 Webhooks 回调?
支持,可通过 HTTP 回调接收执行结果,便于异步处理。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents