{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "manga-drama",
  "built": "2026-10-26",
  "control_level": 5,
  "control_level_label": "L5 严管",
  "capabilities": [
    "reverse_api",
    "terms_compliance",
    "execute_command",
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "isolated_environment",
      "per_use_authorization"
    ],
    "admin": [
      "strict_authorization",
      "full_audit",
      "compliance_signoff"
    ]
  },
  "evidence": [
    {
      "file": "SKILL.md / 脚本",
      "summary": "Calls undocumented or reverse-engineered private APIs / fakes client identity"
    },
    {
      "file": "SKILL.md / 脚本参数",
      "summary": "Includes bypassing automated detection, disabling host sandboxes, or skipping SSL certificate verification"
    },
    {
      "file": "scripts/",
      "summary": "Executes local scripts or commands: python3 scripts/manga_drama.py <generate|from-script|create-script> (SKILL.m"
    },
    {
      "file": "网络端点",
      "summary": "Declares external network access: POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks (create"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: Storyboard script JSON (create_drama_script writes to output_file)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 bundle（不复用第一遍结论）逐条反查：① TLS 处理——定位 ssl_context 赋值并核对两处 urllib 请求；② 端点枚举——全文找 http(s)://，确认外发只有火山方舟 + curl 下载；③ 凭证路径——追两处 require_env_key 与 load_env 来源；④ 声明 vs 实现——重点查「主角识别」「--send-feishu」「依赖 seedance-video-generation」三项是否名副其实；⑤ 写盘点——核对 mkdir/open('w')/curl -o 三处落点；⑥ 依赖可定位性——检查 env_utils 是否在本 skill 目录内；⑦ 逐条 quote 子串回源复核。",
    "second_pass": [
      {
        "item": "是否关闭 TLS 校验",
        "status": "ok",
        "detail": "seedance_video.py 开头 ssl_context.check_hostname=False、ssl_context.verify_mode=ssl.CERT_NONE（注释「忽略SSL验证」），后续两处 urllib.request.urlopen 均带该 context；确为安全降级，判红档的直接依据。"
      },
      {
        "item": "「主角识别」宣称是否名副其实",
        "status": "discrepancy",
        "detail": "SKILL.md 核心功能写「主角识别：分析提供的角色图片，提取角色特征」，但 seedance_video.analyze_image 只取图片文件名 stem 并返回「图片中的主角（基于文件名: xxx）」，未做任何图像识别——属能力夸大。"
      },
      {
        "item": "--send-feishu 是否有实现",
        "status": "discrepancy",
        "detail": "generate/from-script 均有 --send-feishu 参数并一路传递，但 bundle 展示的 seedance_video.generate_video_task 函数体内未见任何飞书发送逻辑，SKILL.md 也未给实现细节——疑似未完成或依赖未展示的外部步骤。"
      },
      {
        "item": "声明依赖 seedance-video-generation 技能",
        "status": "discrepancy",
        "detail": "SKILL.md 写「需要依赖技能：seedance-video-generation」并引用 ../seedance-video-generation-1.0.3/SKILL.md，但实际自带 scripts/seedance_video.py 直连 API（注释「使用直接 API 调用（无需 SDK）」）——声明与实际实现不一致。"
      },
      {
        "item": "网络调用与凭证读取点",
        "status": "ok",
        "detail": "urllib 两处（建任务、轮询）+ curl 一处（下载）；BASE_URL 固定 ark.cn-beijing.volces.com/api/v3。require_env_key('ARK_API_KEY') 在 manga_drama.main 与 seedance_video.generate_video_task 中各出现一次。"
      },
      {
        "item": "写盘点",
        "status": "ok",
        "detail": "三处落点：create_drama_script 的 open(output_file,'w')、generate_drama 的 drama_dir.mkdir(parents=True, exist_ok=True)、download_video 的 curl -o；无删除操作。"
      },
      {
        "item": "env_utils 依赖能否在 skill 内定位",
        "status": "unlocatable",
        "detail": "两个脚本都把 ../../../common 插入 sys.path 后 import env_utils；该模块不在本 skill 目录内（bundle §1 仅列出 SKILL.md 与 2 个 py），bundle 内无法确认其存在与实现。"
      },
      {
        "item": "quote 逐条复核",
        "status": "ok",
        "detail": "本报告全部 evidence.quote 以子串方式回 bundle 原文比对，无编造。"
      }
    ],
    "level": 2,
    "level_label": "V2 已复核",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c",
    "sha256": "aa82a767e5ae8459bf8309f3ecd383a65f66abf953dca1ee93b5657526866031",
    "reviewed_by": "skills-bayx-audit",
    "reviewed_at": "2026-10-25"
  },
  "assessed_at": "2026-10-25",
  "method_version": "2.0",
  "mirror": {
    "archive": "https://skillpub.pages.dev/r2/v/2026-10-10/manga-drama.tar.gz",
    "sha256": "aa82a767e5ae8459bf8309f3ecd383a65f66abf953dca1ee93b5657526866031",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  },
  "original": {
    "github": "https://github.com/freestylefly/canghe-skills/tree/main/skills/canghe-manga-drama",
    "path": "skills/canghe-manga-drama",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  }
}