alphacrack/cdk-nag-extension
GitHub: alphacrack/cdk-nag-extension
一款在 VS Code 编辑器内直接对 AWS CDK 项目运行 cdk-nag 合规与安全检查的扩展工具。
Stars: 1 | Forks: 0
# CDK NAG Validator VS Code 扩展
[](https://marketplace.visualstudio.com/items?itemName=alphacrack.cdk-nag-validator)
[](https://marketplace.visualstudio.com/items?itemName=alphacrack.cdk-nag-validator)
[](https://github.com/alphacrack/cdk-nag-extension/actions/workflows/ci.yml)
[](https://github.com/alphacrack/cdk-nag-extension/blob/main/LICENSE)
一款可直接在编辑器内对您的 AWS CDK 项目运行 [cdk-nag](https://github.com/cdklabs/cdk-nag) 的 VS Code 扩展。它会综合构建您的 CDK 应用,将配置的规则包应用于生成的 CloudFormation 模板,并将检查结果作为诊断信息显示在“问题”面板中。
## ✨ 功能
- 🛡️ **多种合规标准**:`AwsSolutionsChecks`、`HIPAA.SecurityChecks`、`NIST.800-53.R4Checks`、`NIST.800-53.R5Checks`、`PCI.DSS.321Checks` 和 `ServerlessChecks` — 可通过设置启用任意子集。
- ⚙️ **自定义规则**:添加针对 CloudFormation 资源类型的特定项目规则;条件将在沙盒化的 Node `vm` 上下文中进行评估,该上下文无法访问 `require`/`process`/全局变量,并设有 500 毫秒的硬性超时限制。
- 🔍 **按需验证**:可通过命令面板对当前文件或整个工作区进行验证的命令。
- 🎯 **诊断集成**:检查结果显示在“问题”面板中,当源码中存在单行匹配时,会锚定到相应的资源声明处。
- 🔒 **无 Shell 执行**:底层运行器使用 `spawn`(禁用 Shell)调用;所有模板/配置数据均通过 JSON 输入文件传递 — 绝不会将任何用户输入插入到 Shell 字符串中。
## 🚀 安装
1. 打开 VS Code
2. 按 `Ctrl+P` (Windows/Linux) 或 `Cmd+P` (Mac)
3. 粘贴以下命令:
ext install alphacrack.cdk-nag-validator
4. 按 Enter
## 📋 要求
- Visual Studio Code 1.96.2 或更高版本
- Node.js 18.x、20.x 或 22.x
- 包含 `cdk.json` 的 AWS CDK 项目,且已将 `aws-cdk-lib` + `cdk-nag` 安装为项目依赖(该扩展会从您工作区的 `node_modules` 中解析 `cdk-nag`)
- PATH 中可用的 AWS CDK CLI(该扩展会在您的工作区中运行 `cdk synth --no-staging`)
## 🎮 用法
### 命令
所有操作均通过命令面板(`Ctrl+Shift+P` / `Cmd+Shift+P`)手动触发:
| 命令 | 描述 |
|---------|-------------|
| `CDK NAG: Validate Current File` | 综合构建工作区,运行配置的规则包 + 自定义规则,并显示映射到当前活动文件的检查结果。 |
| `CDK NAG: Validate Workspace` | 与上述相同,但诊断映射范围涵盖所有 `*.ts` 文件。 |
| `CDK NAG: Configure Rules` | 用于启用规则包和添加自定义规则的交互式选择器。 |
### 配置
通过 VS Code 的设置面板或 `settings.json` 访问设置:
```
{
"cdkNagValidator.enabledRulePacks": ["AwsSolutionsChecks"],
"cdkNagValidator.customRules": [],
"cdkNagValidator.autoInstall": false
}
```
可用的规则包:
- `AwsSolutionsChecks`
- `HIPAA.SecurityChecks`
- `NIST.800-53.R4Checks`
- `NIST.800-53.R5Checks`
- `PCI.DSS.321Checks`
- `ServerlessChecks`
`cdkNagValidator.autoInstall`(默认为 `false`)是一个自愿启用的开关;启用后,该扩展会在每次验证之前在工作区中运行 `npm install aws-cdk aws-cdk-lib cdk-nag yaml --save-dev`。大多数项目应将其保持关闭状态,并自行将其作为项目依赖进行管理。
## 🛠️ 开发
### 前置条件
- Node.js 18.x、20.x 或 22.x
- npm 9.x 或更高版本
- VS Code 1.96.2 或更高版本
### 设置
1. 克隆仓库:
git clone https://github.com/alphacrack/cdk-nag-extension.git
cd cdk-nag-extension
2. 安装依赖:
npm install
3. 构建扩展:
npm run compile
4. 运行测试:
npm test # 沙盒 + 单元测试
npm run test:jest # Jest 单元测试
npm run test:integration # 启动 VS Code,检查激活情况
### 调试
1. 在 VS Code 中打开项目
2. 按 F5 开始调试
3. 将打开一个加载了该扩展的新 VS Code 窗口
## 📝 许可证
该项目基于 MIT 许可证授权 - 有关详情,请参阅 [LICENSE](LICENSE) 文件。
## 📫 支持
- [GitHub Issues](https://github.com/alphacrack/cdk-nag-extension/issues)
- [文档](https://github.com/alphacrack/cdk-nag-extension/wiki)
## 🔄 更新日志
有关每个版本的更改列表,请参阅 [CHANGELOG.md](CHANGELOG.md)。
标签:AWS CDK, MITM代理, SOC Prime, VSCode插件, 开发工具, 自动化攻击, 静态扫描