0-draft/chainscope
GitHub: 0-draft/chainscope
chainscope 是一款以空格键驱动的供应链安全可视化讲解工具,通过六个真实攻击事件帮助理解软件供应链安全的六个关键切面。
Stars: 0 | Forks: 0

# chainscope
*供应链,六个切面。*
[在线体验](https://0-draft.github.io/chainscope) · [CI](https://github.com/0-draft/chainscope/actions) · [MIT](./LICENSE)
一款以空格键驱动的供应链安全可视化讲解工具。
从键盘到 kubelet 的六个阶段。六起真实攻击事件(2020 至 2026)。六种你今天就能审计的防御措施。每按一次 `space` 就是一次思维节拍。
## 六个切面
| # | 阶段 | 核心问题 |
| - | ----- | ------------ |
| 01 | 源代码 | 谁能修改代码,你如何确认他们是故意的? |
| 02 | 依赖 | 你的代码大部分是别人的代码。具体是谁的? |
| 03 | 构建 | 制品不等于源码。是谁把一个变成了另一个? |
| 04 | 发布 | 制品现在有了名字。是谁把它放上去的? |
| 05 | 分发 | 名字解析为某处的字节。解析到谁的了? |
| 06 | 消费 | 制品已经在机器上了。它应该被允许运行吗? |
标志性事件:xz-utils、Shai-Hulud、tj-actions、LiteLLM/TeamPCP、pgserve、SUNSPOT。
## 技术栈
- Astro 6 + React 19 islands,仅对幻灯片做水合
- TypeScript strict、Biome、Vitest
- Motion 12 用于幻灯片切换和流水线动画
- Tailwind v4 通过 `@theme`
- 通过 `actions/deploy-pages` 部署到 GitHub Pages
## 开发
```
npm install
npm run dev # http://localhost:4321/chainscope
npm run check # lint + typecheck + test + audit + build
npm run build # static output to dist/
```
站点配置为 `https://0-draft.github.io/chainscope`。链接使用 `import.meta.env.BASE_URL`?Fork 后请修改 `astro.config.mjs` 中的 `site` 和 `base`。
## 快捷键
| 按键 | 操作 |
| --- | ------ |
| `space` / `→` / `PageDown` | 前进 |
| `←` / `PageUp` / `Backspace` | 后退 |
| `Home` / `End` | 第一张 / 最后一张 |
| `r` | 重新开始 |
## 许可证
MIT。详见 [LICENSE](./LICENSE)。
标签:API接口, Astro, DevSecOps, GitHub Actions, IP 地址批量处理, React, Syscalls, T1059, T1071, T1195, T1574, Tailwind CSS, TypeScript, xz-utils后门, 上游代理, 交互式演示, 供应链攻击, 依赖管理, 分发安全, 动画, 发布安全, 可视化演示, 安全插件, 攻击与防御, 文档安全, 构建安全, 漏洞案例分析, 网络安全教育, 自动笔记, 软件供应链安全, 远程方法调用, 键盘导航, 静态网站