{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "auto-research-in-sleep",
  "built": "2026-10-26",
  "control_level": 5,
  "control_level_label": "L5 严管",
  "capabilities": [
    "credential",
    "execute_command",
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "isolated_environment",
      "per_use_authorization"
    ],
    "admin": [
      "strict_authorization",
      "full_audit",
      "compliance_signoff"
    ]
  },
  "evidence": [
    {
      "file": "本地凭据 / 浏览器配置",
      "summary": "Read user login cookies/sessions/keyrings: Overleaf token: retrieved via system keychain (tools/overleaf_setup.sh fetches from macOS keychain, overle"
    },
    {
      "file": "scripts/",
      "summary": "Execute local scripts or commands: mcp-servers/codex-exec/server.py: repeatedly spawns subprocesses running `codex exec` (argv = [CODEX_BIN,"
    },
    {
      "file": "网络端点",
      "summary": "Declare external network access: api.anthropic.com / api.z.ai / api.moonshot.cn / api.longcat.chat (executor-side ANTH"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write & artifact generation: .aris/runs/<run_id>.json (stage status and acceptance records) and .aris/runs/<run_id>.iterations.jsonl (halting criteria)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① 目录取证：`ls skills | wc -l` = 86，减去 4 个非技能目录（skills/shared-references、skills/skills-codex、skills/skills-codex-claude-review、skills/skills-codex-gemini-review）恰好 82，与 README/CATALOG 宣称的『82 composable skills』吻合；glob 确认仓库根无 SKILL.md、无 plugin manifest，也无 .claude/skills 根级入口。② 外部依赖逐条回到真实调用点重读：codex-exec/server.py:147 `argv = [CODEX_BIN, \"exec\"]`（不是文档转述）、llm-chat/server.py:53、minimax-chat/server.py:50、gemini-review/server.py:1330、semantic_scholar_fetch.py:57、openalex_fetch.py:27、verify_papers.py:106-108、research_wiki.py:75、exa_search.py:72、monitor-experiment/SKILL.md 的 wandb.Api()、vast-gpu/SKILL.md:98 的 vastai search offers、overleaf_setup.sh:78 —— 全部命中，无凭文档臆测项。③ 找漏掉的网络调用/隐藏脚本/混淆：对 tools/ 与 mcp-servers/ 全量 *.py 扫 `exec(`/`eval(`/`marshal.loads`/`base64.b64decode` —— 零命中（仅 re.compile 的误报）；扫 urllib/requests/httpx 调用点全部落在上文已列端点；对 tools/ 全量 *.sh 扫 curl/wget/nc//dev/tcp —— 零命中（仅 'sync' 词干误报）；无压缩包、无二进制载荷。④ 声明 vs 代码能力核对：research-pipeline 宣称 'complete autonomous research lifecycle' 属实但被显式限定（Stage 1 有 AUTO_PROCEED 检查点、Stage 2-3 才无人值守、Stage 5 缺 venue 会延后、assurance=submission 时 Phase 6 审计不过就拒绝出 Final Report），未发现夸大；README 的 'overnight 5.0→7.5 / 20+ GPU 实验' 属于展示性叙事，已在 verdict 中按『自述实例、非可复现承诺』处理。⑤ 元数据：`git -C <local> rev-parse HEAD` = 15b9b27de6e265a058e875bbf15b09bf8a522aa3（与 pin 一致），LICENSE 为 MIT（Copyright (c) 2026 wanshuiyin）。⑥ 只读约束遵守：全程未 clone/pull、未改任何源文件、未跑仓库构建或测试。",
    "second_pass": [
      {
        "item": "skill.path 定位（旗舰入口选择）",
        "status": "ok",
        "detail": "候选与判据：① 仓库根——glob 确认无 SKILL.md、无 plugin.json/.claude-plugin 清单，且 skills/ 下是 82 个平级技能目录（多入口多技能插件），按共享路径规则不取根；② skills/research-pipeline——README 快速开始的单命令总入口写的是 `/research-pipeline \"your research direction\"  # Full pipeline: Workflow 1 → 1.5 → 2 → 3 end-to-end`，docs/SKILLS_CATALOG.md 的『🏗️ Workflow Orchestrators』一节以 '**Most users start here.**' 开头并把 /research-pipeline 列为第一条（'**Full chain** — Workflow 1 → 1.5 → 2 → 3, from research direction to submission-ready paper'），AGENT_GUIDE.md 亦写 'Main chain: /research-pipeline = W1 → W1.5 → W2 → W3'——三处独立证据一致指向它；③ skills/idea-discovery（W1）与 skills/auto-review-loop（W2，『睡觉跑』本体）——都是它的下游子技能，按『never a sibling sub-skill』规则不取。结论：取 skills/research-pipeline 作为旗舰条目。"
      },
      {
        "item": "pin commit 与本地工作副本一致",
        "status": "ok",
        "detail": "git rev-parse HEAD 输出 15b9b27de6e265a058e875bbf15b09bf8a522aa3，与任务给定 pin 逐字符相同；未执行任何写操作。"
      },
      {
        "item": "license 元数据",
        "status": "ok",
        "detail": "仓库根 LICENSE 首行 'MIT License'、'Copyright (c) 2026 wanshuiyin'，与任务给定 MIT 一致。"
      },
      {
        "item": "『82 skills』声明的真实性",
        "status": "ok",
        "detail": "skills/ 下 86 个目录 − 4 个非技能目录（shared-references 与三个 skills-codex* 镜像/叠加层）= 82，与 README:612 与 docs/SKILLS_CATALOG.md 的 82 完全对齐；README 顶部另一处提到 '81 bundled skills' 指的是 ARIS-Code CLI 二进制内置包，与本仓库 main 树的 82 个目录不是同一口径，已在结论中按 main 树口径采信。"
      },
      {
        "item": "外部依赖：codex 审查器确实是本地子进程而非文档承诺",
        "status": "ok",
        "detail": "mcp-servers/codex-exec/server.py 源码含 `argv = [CODEX_BIN, \"exec\"]`、`subprocess.Popen(argv, ...)`、`shutil.which(CODEX_BIN)`，且 CODEX_BIN 默认为 'codex'；README/AGENT_GUIDE 关于『codex-cli 0.154 删除 codex mcp-server 后由本仓库自带桥接管』的叙述与代码一致。"
      },
      {
        "item": "外部依赖：审查器端点逐个可定位",
        "status": "ok",
        "detail": "LLM(llm-chat)、MiniMax、Gemini 三处端点均来自各自 server.py 的 os.environ 默认值或请求构造行；Exa 走 SDK（仅 EXA_API_KEY + exa-py 可见，无硬编码域名，已在 endpoint 字段标明 exa.ai 而非杜撰 API 路径）；arXiv/CrossRef/S2/OpenAlex 均命中 tools/*.py 的常量。"
      },
      {
        "item": "凭证读取：是否存在未披露的密钥读取",
        "status": "discrepancy",
        "detail": "第一遍只列了环境变量与 ~/.gemini/.env、~/.claude/feishu.json。第二遍补到三处未在首轮列出的读取面：① ~/.codex/config.toml（README 明确 reviewer 模型来源，属读取用户 LLM 凭证/配置）；② ~/.modal.toml 与 vastai 的 API key 文件（serverless-modal / vast-gpu 技能要求）；③ 全局指针 ~/.aris/repo 与项目 .aris/installed-skills.txt（被技能 bash 块读取以解析 helper 路径）。三者均为『本地配置/凭证文件读取』，已并入 security.credential_reads，结论档位不变（橙色本就因凭证接触面）。"
      },
      {
        "item": "注入面：是否真的做了防御而非只在文档里写",
        "status": "ok",
        "detail": "tools/threat_scan.py 实现存在（regex、scope all/context/strict、quarantine 返回占位符 + findings），且 skills/idea-creator/SKILL.md 的 'ARIS_QUERY_PACK_SCAN_START … END' bash 块真的解析并调用它、扫描失败时跳过 wiki 上下文；skills/shared-references/injection-hygiene.md 给出『干净扫描≠安全』与分档 warn/block 规则。防御是落地的，不是宣言。"
      },
      {
        "item": "是否有隐藏脚本 / 混淆 / 反检测",
        "status": "unlocatable",
        "detail": "在 tools/ 与 mcp-servers/ 的 Python 源码中检索 exec(/eval(/marshal.loads/base64.b64decode/compile(，以及 shell 脚本中的 curl/wget/nc//dev/tcp，均无『动态执行外部载荷』类命中；未发现混淆或编码后加载。但本仓库引用大量仓外资源（Oracle/GPT-5.5 Pro 路由、Copilot 原生 rubber-duck、第三方 vast.ai/Modal/Overleaf/飞书生态、以及对 ~/.claude、~/.codex 运行时目录的读取），这些路径的行为不在本仓源码内，无法在本仓范围内定位，故记 unlocatable（不影响本仓自身的档位判断）。"
      },
      {
        "item": "功能声明是否夸大（overnight 与『自主』口径）",
        "status": "ok",
        "detail": "SKILL.md frontmatter 的 'complete autonomous research lifecycle' 在正文被三处限定：Stage 1 受 AUTO_PROCEED 检查点控制、Stage 2-3 才无人值守、Stage 5 缺 venue 会延后而非猜测，且 assurance: submission 时 Phase 6 审计不过就拒绝产出 Final Report。README 的 5.0→7.5 与 20+ 实验属作者自述真实运行，非可复现承诺，已在 verdict 中按此口径表述。"
      },
      {
        "item": "外部依赖清单无臆测项（每条都有调用点）",
        "status": "ok",
        "detail": "24 条 external_deps 全部绑定可复读的源码/配置行（server.py 的赋值行、SKILL.md 的命令行、requirements.txt 的包行、sh 脚本的 git remote 行）；未收录仅出现在叙事或徽章中的服务（如 HuggingFace Daily Paper 徽章、GitHub Actions CI、社区项目如 claude-fleet/OrcaReplay），避免把宣传入口当成依赖。"
      },
      {
        "item": "安全档位复核（橙 vs 红）",
        "status": "ok",
        "detail": "逐条比对范式：橙 = 凭证/环境变量读取、依赖第三方插件/镜像/远程包 —— 本仓全中（多厂商 API key、~/.codex 与 ~/.gemini 配置、SSH 远程主机、vast.ai/Modal 租机、pip 安装远程包）；红 = 安全降级（禁 TLS 校验）、反爬绕过、批量定向采集、任意代码执行面 —— 本仓未发现前两项与定向采集，唯一贴近红色的是 Bash(*) + 无人值守自动放行带来的『任意代码执行』能力面，但执行对象是用户自己的实验代码、且仓库同时提供沙箱/审批/审计约束，故按『能力设计使然、知情使用』判为橙，并在 reason 中显式点出该贴近红色的部分。"
      }
    ],
    "level": 2,
    "level_label": "V2 已复核",
    "commit": "15b9b27de6e265a058e875bbf15b09bf8a522aa3",
    "sha256": "bbe5d4e4e1f79f794c142ad056147f367a4d2f078de1e540a9abae0bc8585949",
    "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-09-15/auto-research-in-sleep.tar.gz",
    "sha256": "bbe5d4e4e1f79f794c142ad056147f367a4d2f078de1e540a9abae0bc8585949",
    "commit": "15b9b27de6e265a058e875bbf15b09bf8a522aa3"
  },
  "original": {
    "github": "https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep/tree/main/skills/research-pipeline",
    "path": "skills/research-pipeline",
    "commit": "15b9b27de6e265a058e875bbf15b09bf8a522aa3"
  }
}