CTFd 3.7.7版本发布:安全竞赛平台的新特性与优化
项目简介
CTFd是一个开源的网络安全竞赛平台,广泛应用于各类CTF(Capture The Flag)比赛。它提供了完整的比赛管理系统,包括题目发布、队伍管理、积分排名等功能,是网络安全竞赛组织者的首选工具之一。
版本亮点
用户注册安全增强
3.7.7版本引入了一个重要的安全特性——邮箱域名黑名单功能。现在,管理员可以设置不允许注册的邮箱域名列表,有效防止特定域名的用户参与比赛。这一功能特别适用于:
- 限制企业内部竞赛只允许公司邮箱注册
- 阻止已知的垃圾邮件或临时邮箱注册
- 实现更精细化的参赛者身份控制
题目提示功能优化
在CTF比赛中,题目提示(hint)是帮助参赛者解决难题的重要辅助手段。新版本对提示系统进行了两项改进:
-
提示标题功能:现在可以为提示添加一个标题,在用户解锁提示前显示。这允许出题人提供关于提示内容的简要说明,帮助用户判断是否需要解锁该提示。
-
使用体验提升:通过预展示提示标题,参赛者可以更明智地决定是否花费积分解锁提示,提高了比赛资源的利用效率。
管理后台改进
对于管理员用户,3.7.7版本增强了文件管理功能:
- 题目文件现在会显示存储的sha1校验和,方便管理员:
- 验证文件完整性
- 快速比对不同版本的文件
- 确保比赛文件的唯一性和一致性
API性能优化
在性能方面,新版本对计分板API进行了重要修复和优化:
-
修复了
/api/v1/scoreboard/top/<count>端点的缓存问题,现在不同count值能够正确缓存。 -
增加了安全限制,该API最多只返回前50名账户,防止可能的性能问题和滥用。
-
优化了缓存机制,提高了在高并发情况下的响应速度。
依赖项更新
作为常规维护的一部分,3.7.7版本更新了以下关键依赖:
-
gunicorn升级至23.0.0:Python WSGI HTTP服务器的重要更新,带来了性能改进和bug修复。
-
Jinja2升级至3.1.6:模板引擎的更新,提高了模板渲染的安全性和效率。
技术意义与应用场景
CTFd 3.7.7版本的发布体现了项目团队对安全性和用户体验的持续关注。邮箱黑名单功能特别适合企业内训和教育机构的私有比赛场景,而提示系统的改进则提升了公开比赛的参与体验。
对于大型比赛组织者,API的性能优化意味着更稳定的服务能力,特别是在比赛结束前的冲刺阶段,当大量用户频繁刷新计分板时,系统能够保持流畅响应。
文件校验和的展示虽然是一个小改动,但对于需要严格审核比赛内容的大型赛事非常重要,它简化了题目验证流程,降低了出错概率。
升级建议
对于正在使用CTFd的组织,建议在测试环境验证后尽快升级到3.7.7版本,特别是:
-
计划举办企业内训或限制性比赛的用户,可以利用新的邮箱黑名单功能。
-
经常使用文件题目的比赛,将受益于文件校验和的可视化。
-
预期参赛人数较多的赛事,应该利用API性能优化带来的稳定性提升。
升级过程通常只需替换代码文件并重启服务,但建议提前备份数据库和自定义配置,确保平稳过渡。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00