{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "manga-style-video",
  "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 undisclosed or reverse-engineered private APIs / fakes client identity"
    },
    {
      "file": "SKILL.md / 脚本参数",
      "summary": "Contains bypasses for automated detection, disables host sandboxes, or skips SSL certificate verification"
    },
    {
      "file": "scripts/",
      "summary": "Executes local scripts or commands: python3 scripts/manga_style_video.py (the CLI entrypoint explicitly specified in SKILL.md, executed by the agent on the host)"
    },
    {
      "file": "网络端点",
      "summary": "Declares external network access: POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks (create task)"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact output: --output specifies path, or defaults to ~/Desktop/manga_{style}_{timestamp}.mp4 (persisted via curl -o download)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 bundle（不复用第一遍结论）逐条反查：① TLS 处理——定位 ssl_context 的所有赋值并核对每条 urllib 请求是否带该 context；② 端点枚举——全文找 http(s)://，确认外发对象是否只有火山方舟；③ 凭证路径——追 require_env_key 与 load_env 的来源与加载优先级；④ 声明 vs argparse 对账——SKILL.md 参数表逐项与脚本 add_argument 比对；⑤ 风格数量核对——SKILL.md 风格表与 MANGA_STYLES 键集合比对；⑥ 依赖可定位性——检查 env_utils 是否在本 skill 目录内；⑦ 逐条 quote 子串回源复核。",
    "second_pass": [
      {
        "item": "是否关闭 TLS 校验",
        "status": "ok",
        "detail": "manga_style_video.py 开头 ssl_context.check_hostname=False、ssl_context.verify_mode=ssl.CERT_NONE（注释「忽略SSL验证」），后续两处 urllib.request.urlopen 均带该 context；确为安全降级，是判红档的直接依据。"
      },
      {
        "item": "网络调用清单是否完整",
        "status": "ok",
        "detail": "urllib.request 两处（POST 创建任务、GET 轮询状态）+ curl 一处（下载视频）；BASE_URL 固定为 ark.cn-beijing.volces.com/api/v3，全文无其它域名。"
      },
      {
        "item": "凭证读取点",
        "status": "ok",
        "detail": "require_env_key('ARK_API_KEY') 为唯一 key 读取点；SKILL.md 前置要求段声明三级加载优先级（系统环境变量 / 当前目录 .env / 用户主目录 .env），与 load_env() 行为相符。"
      },
      {
        "item": "SKILL.md 参数表与 argparse 是否一致",
        "status": "discrepancy",
        "detail": "SKILL.md 参数说明表把 --output 的默认值标为「-」（无），但脚本在未传 --output 时会默认写 ~/Desktop/manga_{style}_{timestamp}.mp4——文档对默认输出目录的标注与实际不符。"
      },
      {
        "item": "env_utils 依赖能否在 skill 内定位",
        "status": "unlocatable",
        "detail": "脚本把 ../../../common 插入 sys.path 后 import env_utils；该模块不在本 skill 目录内（bundle §1 仅列出 SKILL.md 与 1 个 py），bundle 内无法确认其存在与实现，属仓库级共享模块。"
      },
      {
        "item": "8 种风格数量",
        "status": "ok",
        "detail": "SKILL.md 风格表列 8 种；脚本 MANGA_STYLES 字典正 8 个键（japanese/ghibli/chinese/cartoon/sketch/watercolor/manga_comic/chibi），两者吻合。"
      },
      {
        "item": "quote 逐条复核",
        "status": "ok",
        "detail": "本报告全部 evidence.quote 以子串方式回 bundle 原文比对，无编造。"
      }
    ],
    "level": 2,
    "level_label": "V2 已复核",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c",
    "sha256": "f8ad9990fab42dc5114d4dfb636242d12cc6e42e7fcdcb609635969ddb4b9f60",
    "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-style-video.tar.gz",
    "sha256": "f8ad9990fab42dc5114d4dfb636242d12cc6e42e7fcdcb609635969ddb4b9f60",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  },
  "original": {
    "github": "https://github.com/freestylefly/canghe-skills/tree/main/skills/canghe-manga-style-video",
    "path": "skills/canghe-manga-style-video",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  }
}