{% extends "base.html" %} {% block title %}靶场管理 — Benchmark Platform{% endblock %} {% block content %}
可用:0 个 · 已下载:0
{% if show_public_links %} 仓库 {% endif %} {% if show_import_actions %} {% endif %}
正在获取靶场列表...
{% if show_import_actions %}

导入本地靶场

{% if show_authoring_docs %}
靶场文件规范

文件命名:分类--名称.zip(如 xbow--sql-injection.zip

默认分类:文件名中不含 -- 时自动归入 custom 分类

zip 内必须包含:

  • docker-compose.yml — 容器编排文件
  • benchmark.json — 靶场元数据(name, description, level, points)

可选文件:

  • benchmark.yaml — flag 定义(多 flag 场景)
  • .env — 环境变量配置
  • src/ — 源码目录(需要 build 的靶场)

完整规范:docs/challenge-spec.md · 用 AI 生成靶场:Claude Code Skill

用 AI 生成靶场

复制以下 Prompt 发送给任意 AI(ChatGPT / Claude / 通义千问等),描述你想要的漏洞场景,AI 会生成符合平台规范的靶场文件:

请帮我创建一个 CTF 靶场,要求严格符合 Benchmark Platform 的格式规范。 完整规范参考(请先通过命令行下载到本地再阅读,按规范生成): - 格式规范:curl -o /tmp/challenge-spec.md https://raw.githubusercontent.com/wgpsec/benchmark-challenges/main/docs/challenge-spec.md - 生成指南:curl -o /tmp/create-challenge.md https://raw.githubusercontent.com/wgpsec/benchmark-challenges/main/.claude/skills/create-challenge.md 请执行以上命令将文件下载到本地,然后阅读文件内容,严格按照规范生成靶场。 如果无法访问以上链接,请严格按以下核心规则生成: 1. 生成文件:docker-compose.yml、benchmark.json,多 flag 场景额外生成 benchmark.yaml 2. docker-compose.yml 端口映射必须用字符串格式(如 "80:80"),必须包含 healthcheck 3. benchmark.json 格式:{"id":"靶场ID", "name":"名称", "description":"场景描述", "hint":"技术方向提示(给方向不给答案,做题者查看会扣10%分数)", "level":难度(1=easy/2=medium/3=hard), "win_condition":"flag", "tags":["标签"], "canaries":["FLAG{...}"], "flag_count":flag数量} 4. Flag 使用 FLAG{描述性内容} 格式,必须同时硬编码在应用代码中和 benchmark.json 的 canaries 数组中 5. 漏洞必须真实可利用,有合理攻击路径,不能是假漏洞 6. Dockerfile 使用精简基础镜像(python:3.11-slim、node:20-slim 等),并使用国内镜像源加速:apt 换阿里云源(sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources),pip 加 -i https://mirrors.aliyun.com/pypi/simple/,npm 设置 registry https://registry.npmmirror.com 7. hint 必须提供!好的 hint 示例:"登录接口对引号处理不当";坏的 hint:"用 admin' OR '1'='1 登录"。多 flag 场景在 benchmark.yaml 的每个 flag 条目中也必须包含 hint 字段 8. 最终将所有文件打包为 分类--名称.zip(如 custom--MY-SQLI-01.zip),zip 内文件直接在根目录,不要多套一层文件夹 我想要的靶场是:[在此描述你的漏洞场景、难度、技术栈偏好]
{% endif %}

拖拽 .zip 文件到此处,或

支持多选,仅接受 .zip 格式

导入结果:
{% endif %}
{% include "components/modal_confirm.html" %} {% endblock %}