alphacrack/cdk-nag-extension

GitHub: alphacrack/cdk-nag-extension

一款在 VS Code 编辑器内直接对 AWS CDK 项目运行 cdk-nag 合规与安全检查的扩展工具。

Stars: 1 | Forks: 0

# CDK NAG Validator VS Code 扩展 [![Version](https://img.shields.io/visual-studio-marketplace/v/alphacrack.cdk-nag-validator.svg)](https://marketplace.visualstudio.com/items?itemName=alphacrack.cdk-nag-validator) [![Downloads](https://img.shields.io/visual-studio-marketplace/d/alphacrack.cdk-nag-validator.svg)](https://marketplace.visualstudio.com/items?itemName=alphacrack.cdk-nag-validator) [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/cas/a9/a9f5326366f51c3253ea8edc2324f6acbb064827e08768de7425f0e1f9323e04.svg)](https://github.com/alphacrack/cdk-nag-extension/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/alphacrack/cdk-nag-extension.svg)](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插件, 开发工具, 自动化攻击, 静态扫描