ukgorclawbot-stack/claude-code-2.1.88-source-restored

GitHub: ukgorclawbot-stack/claude-code-2.1.88-source-restored

从 npm 包的 source map 中还原 Anthropic Claude Code CLI 2.1.88 的完整源码树,供安全审计和学习研究使用。

Stars: 8 | Forks: 13

# Claude Code 2.1.88 源码还原 已还原 `@anthropic-ai/claude-code@2.1.88` 的源码树,根据已发布的 `cli.js.map` `sourcesContent` 重建。 ## 版权与使用须知 - Anthropic 一方源代码的版权及其他适用权利归 Anthropic, PBC 所有。 - 本仓库是非官方的还原参考副本,仅提供用于学习、研究和归档目的。 - 本仓库未隶属于、未受认可于,也非由 Anthropic 维护。 - 请勿将本仓库或其内容用于商业目的。 - 还原输出中包含的第三方代码仍受其各自作者的权利和许可约束。 ## 本仓库包含的内容 - `raw/package/cli.js`:来自已发布 npm 包的打包 CLI - `raw/package/cli.js.map`:随已发布 npm 包提供的 source map - `raw/package/package.json`:来自已发布 npm 包的包元数据 - `restored/`:从 `cli.js.map` 重建的文件 - `restore-manifest.json`:从 source map 条目到还原输出路径的映射 ## 还原方法 最小化还原流程: ``` npm pack @anthropic-ai/claude-code@2.1.88 tar xzf anthropic-ai-claude-code-2.1.88.tgz node -e " const fs = require('fs'); const path = require('path'); const map = JSON.parse(fs.readFileSync('package/cli.js.map', 'utf8')); const outDir = './restored'; for (let i = 0; i < map.sources.length; i++) { const content = map.sourcesContent?.[i]; if (typeof content !== 'string') continue; let rel = map.sources[i]; while (rel.startsWith('../')) rel = rel.slice(3); while (rel.startsWith('./')) rel = rel.slice(2); const outPath = path.join(outDir, rel); fs.mkdirSync(path.dirname(outPath), { recursive: true }); fs.writeFileSync(outPath, content, 'utf8'); } " ``` ## 验证 - `cli.js` 与已发布的 `@anthropic-ai/claude-code@2.1.88` npm 包相匹配 - `cli.js.map` 与已发布的 `@anthropic-ai/claude-code@2.1.88` npm 包相匹配 - source map 包含 `4756` 个源条目 - 所有 `4756` 个条目均存在 `sourcesContent` - 还原输出写入 `4756` 个文件 ## 仓库布局 ``` . ├── raw/ │ └── package/ │ ├── cli.js │ ├── cli.js.map │ └── package.json ├── restored/ │ ├── src/ │ ├── vendor/ │ └── node_modules/ └── restore-manifest.json ``` 有用的还原入口点: - `restored/src/entrypoints/cli.tsx` - `restored/src/main.tsx` - `restored/src/commands.ts` - `restored/src/tools.ts` ## 与 `Stephaneguisard/claude--` 的比较 本仓库已与以下项目进行比较: - [`Stephaneguisard/claude--`](https://github.com/Stephaneguisard/claude--) 结果: - `claude-code-extracted/package/cli.js` 与 `raw/package/cli.js` 完全一致 - `claude-code-extracted/package/cli.js.map` 与 `raw/package/cli.js.map` 完全一致 - `restored/src` 和 `claude-code-source/src` 中所有 `1902` 个共享文件通过哈希值完全匹配 - 被比较的仓库包含 `28` 个额外的脚手架或补充文件,这些文件未在此纯 source map 重建中出现 简而言之:核心还原的源内容相匹配,但本仓库保留了更直接的“已发布包 + 还原输出”布局。 ## 已知限制 - 本仓库反映了已发布 source map 中嵌入的内容 - 它可能不包含每一个原始构建时文件、生成的文件或仅限仓库的产物 - 部分文件较大,特别是 `raw/package/cli.js.map` - 还原树包含 `sourcesContent` 中存在的第三方代码,而不仅仅是一方源文件
标签:Anthropic, CIS基准, Claude Code, CMS安全, DLL 劫持, JavaScript, MITM代理, npm包分析, Source Map, SourceTree, 云资产清单, 代码重构, 前端技术, 大语言模型, 开源项目分析, 数据可视化, 暗色界面, 源代码映射, 源码还原, 网络信息收集, 自动化攻击, 逆向工程