jibarix/package-aware
GitHub: jibarix/package-aware
一套面向 Claude Code 和 VS Code 的供应链安全加固方案,包含可分享的安全态势文档和用于自动应用该策略的 PowerShell 脚本。
Stars: 0 | Forks: 0
# package_aware
我用于防范软件包供应链攻击(npm、PyPI、VS Code extensions、Claude Code plugins)的个人方法,将其记录下来以便分享和重用。
这个 repo **不是**一个你可以安装的工具。它包含两样东西:
1. **一份描述安全态势的文档**,描述了我在我的机器上运行的安全态势。
2. **一个可以在另一台机器上重现该态势的脚本**。
如果你只读一个文件,请读
[`PACKAGE_AWARE_PLATFORM_SETTINGS.md`](PACKAGE_AWARE_PLATFORM_SETTINGS.md)。
## 为什么会有这个项目
在活跃的 npm/PyPI 供应链安全事件发生期间,“直接运行 `npx`”或“让编辑器自动更新 extensions”成为了切实的风险。因此,我在 Claude Code 和 VS Code 中收紧了一些设置:不执行临时包,不进行静默更新,使用精确的版本锁定,以及经过审计的安装。这个 repo 以我可以与团队分享并稍后重新应用的形式记录了这些决策,而不是靠记忆重新解释。
## 这里包含什么
```
package_aware/
├─ README.md ← you are here
├─ PACKAGE_AWARE_PLATFORM_SETTINGS.md ← THE shareable summary (read this)
└─ package-aware-hardening/ ← a Claude Code skill that automates it
├─ SKILL.md ← how Claude runs this workflow
├─ scripts/
│ ├─ apply_package_aware_hardening.ps1 ← applies the posture to a machine
│ ├─ export_shareable_settings.ps1 ← regenerates the summary doc
│ └─ release.ps1 ← tags + publishes a GitHub Release from CHANGELOG.md
└─ references/
├─ settings-map.md ← every setting + the reason for it
└─ shareable-template.md ← the source the summary doc is built from
```
### 简明扼要的两个层面
| 层面 | 文件 | 用途 |
|---|---|---|
| **人类可读的摘要** | `PACKAGE_AWARE_PLATFORM_SETTINGS.md` | 适合阅读或交给团队成员的内容。描述了该安全态势并提供了可直接复制粘贴的基线代码片段。它是从 `references/shareable-template.md` **生成**的。 |
| **自动化(一个 Claude Code skill)** | `package-aware-hardening/` | 让 Claude Code(或你)将安全态势*应用*到机器上并*重新生成*摘要。这是可选的——文档本身可以独立存在。 |
## 如何使用它
### 只想阅读或复制设置?
打开 [`PACKAGE_AWARE_PLATFORM_SETTINGS.md`](PACKAGE_AWARE_PLATFORM_SETTINGS.md)。它按层(Claude Code、VS Code、package ecosystems、GitHub、Supabase)进行组织,每层下都有可复制的代码片段。
### 想将此态势应用到机器上?
应用脚本会编辑用户级别的配置(`~/.claude/settings.json`、`~/.claude/CLAUDE.md` 以及 VS Code 的 `settings.json`)。它**会首先备份每个文件**,备份路径为 `~/.claude/backups/package-aware-hardening//`。
```
# 查看它将更改什么 — 不写入任何内容:
powershell -ExecutionPolicy Bypass -File .\package-aware-hardening\scripts\apply_package_aware_hardening.ps1 -DryRun
# 实际应用它:
powershell -ExecutionPolicy Bypass -File .\package-aware-hardening\scripts\apply_package_aware_hardening.ps1
```
它会设置:`DISABLE_AUTOUPDATER=1`、`autoUpdatesChannel=stable`、`allowedHttpHookUrls=[]`、`disableBypassPermissionsMode=disable`,禁用 Supabase plugin,添加 package-manager + extension-install 拒绝规则,将 VS Code 更新设置为手动,并向 `CLAUDE.md` 写入一个受管的强化块。
### 想重新生成可分享的摘要?
编辑源文件(`references/shareable-template.md`),然后:
```
powershell -ExecutionPolicy Bypass -File .\package-aware-hardening\scripts\export_shareable_settings.ps1
```
这会重写 `PACKAGE_AWARE_PLATFORM_SETTINGS.md`,并且**如果检测到用户名、主路径或 `C:\Users\...` 会明确报错**——公开文档必须保持脱敏状态。
## 简短的理念概述
- 倾向于使用精确的版本锁定和已提交的 lockfiles,而不是 `latest` 和宽松的版本范围。
- 不进行临时的获取并运行操作(`npx`、`pipx run`、`pnpm dlx`、`bunx`、`yarn dlx`)。
- 拒绝静默的编辑器/extension/CLI 更新——保留审查窗口。
- 倾向于使用独立且可审计的 CLI,而不是 marketplace/plugin 路径。
- 将编辑器和 CI 视为供应链的一部分,而不是与供应链分离的独立实体。
标签:AI合规, Claude Code, GitHub Advanced Security, Libemu, Subfinder, VS Code, 安全加固, 安全基线, 教学环境, 文档安全, 防御加固