# eslint-plugin-nestjs-security 中文文档

规范地址：https://npmcn.com/package/eslint-plugin-nestjs-security/

版本：3\.2\.2
npm 元数据更新时间：2026-11-03T12:44:34.748Z
中文译文更新时间：2026-11-03T15:11:03.185Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/eslint-plugin-nestjs-security
原文对照：https://npmcn.com/package/eslint-plugin-nestjs-security/?lang=original
项目主页：https://eslint.interlace.tools/docs/security/plugin-nestjs-security?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security
源码仓库：https://github.com/ofri-peretz/eslint

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：109 kB，22 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：1 个
- peer 依赖：eslint ^8\.40\.0 \|\| ^9\.0\.0 \|\| ^10\.0\.0，@nestjs/common ^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0，class-validator ^0\.14\.0 \|\| ^0\.15\.0，@nestjs/throttler ^4\.0\.0 \|\| ^5\.0\.0 \|\| ^6\.0\.0，class-transformer ^0\.5\.0
- 首次发布：2025-12-30T04:24:32.205Z
- 最新版本发布：2026-11-03T12:44:34.410Z
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

用于NestJS安全的ESLint插件——检测缺失的认证保护、缺失的验证管道、未节流的路由和暴露的私有字段。

## 安装

```sh
npm install eslint-plugin-nestjs-security
```

也可以使用：`pnpm add eslint-plugin-nestjs-security`、`yarn add eslint-plugin-nestjs-security`、`bun add eslint-plugin-nestjs-security`

## README

[![Interlace](https://eslint.interlace.tools/logos/interlace-light.svg)](https://eslint.interlace.tools/docs/security/plugin-nestjs-security?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security)    [![NestJS](https://eslint.interlace.tools/logos/nestjs.svg)](https://nestjs.com/)    [![oxlint](https://eslint.interlace.tools/logos/oxlint-light.svg)](https://oxc.rs/)    [![ESLint](https://eslint.interlace.tools/logos/eslint-light.svg)](https://eslint.org/)

为NestJS应用量身定制的安全规则（控制器、提供者、装饰器）。

[![NPM Version](https://img.shields.io/npm/v/eslint-plugin-nestjs-security.svg)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) [![NPM Downloads](https://img.shields.io/npm/dm/eslint-plugin-nestjs-security.svg)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) [![Install Size](https://badgen.net/packagephobia/install/eslint-plugin-nestjs-security)](https://packagephobia.com/result?p=eslint-plugin-nestjs-security) [![Package License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Codecov](https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-nestjs-security)](https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=eslint-plugin-nestjs-security) [![Since Dec 2025](https://img.shields.io/badge/Since-Dec_2025-blue?logo=rocket&logoColor=white)](https://github.com/ofri-peretz/eslint) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/ofri-peretz/eslint/badge)](https://scorecard.dev/viewer/?uri=github.com/ofri-peretz/eslint)

> ⭐如果这个插件为你捕获了一个真正的错误， [**用星号标记回购**](https://github.com/ofri-peretz/eslint) -这是维持这些规则的信号。

## 描述

这个插件提供了针对NestJS应用（控制器、提供者、装饰器）量身定制的安全规则。

-   **为什么** ——没人读的书什么也保护不了。我们宁愿错过一个发现 而不是把你的注意力花在一个不真实的人身上。
-   **如何** -证据，不是名字。一个规则触发什么代码 _做_,解决 通过AST和ESLint自己的作用域分析。
-   **什么** ——每一个发现都有它的意义，对一个人来说，都是结构化的 代理的JSON。安全规则添加一个CWE映射，并在分配时添加一个CVSS分数。

这种贸易成本让我们回想起来，我们对它进行了衡量： [方法](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-METHODOLOGY.md) · [结果](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-RESULTS.md) · [误报是错误的](https://github.com/ofri-peretz/eslint/issues)。

## 开始

-   要查看 [指南](https://eslint.interlace.tools/docs/security/plugin-nestjs-security?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security),请访问 [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security)． 📚

**oxlint / Vite+** -同样的规则下同样的 `nestjs-security/<rule>` id，没有ESLint：

```bash
npm install oxlint-plugin-nestjs-security --save-dev
```

```jsonc
// .oxlintrc.json
{ "jsPlugins": ["oxlint-plugin-nestjs-security"] }
```

```ts
// vite.config.ts
import { defineConfig } from 'vite-plus';

export default defineConfig({
  lint: { jsPlugins: ['oxlint-plugin-nestjs-security'] },
});
```

**ESLint:**

```bash
npm install eslint-plugin-nestjs-security --save-dev
```

## ⚙️配置预设

| 预设 | 描述 |
| :-- | :-: |
| `recommended` | 启用具有合理严重级别的所有安全规则 |
| `strict` | 所有安全规则设置为“error”以获得最大保护 |

## 📚支持的库

| 图书馆 | npm | 下载 | 检测 |
| :-- | :-: | :-- | :-: |
| `@nestjs/common` | [![npm](https://img.shields.io/npm/v/@nestjs/common.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/common) | [![downloads](https://img.shields.io/npm/dt/@nestjs/common.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/common) | decorator,警卫 |
| `@nestjs/core` | [![npm](https://img.shields.io/npm/v/@nestjs/core.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/core) | [![downloads](https://img.shields.io/npm/dt/@nestjs/core.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/core) | 应用程序配置 |
| `class-validator` | [![npm](https://img.shields.io/npm/v/class-validator.svg?style=flat-square)](https://www.npmjs.com/package/class-validator) | [![downloads](https://img.shields.io/npm/dt/class-validator.svg?style=flat-square)](https://www.npmjs.com/package/class-validator) | DTO验证 |
| `@nestjs/throttler` | [![npm](https://img.shields.io/npm/v/@nestjs/throttler.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/throttler) | [![downloads](https://img.shields.io/npm/dt/@nestjs/throttler.svg?style=flat-square)](https://www.npmjs.com/package/@nestjs/throttler) | 速度限制 |

* * *

## ⚠️全局配置处理

NestJS应用了守卫、管道和速率限制 **应用程序**，在一个文件中 控制器从不导入。从v1.3.0开始，插件会发现这些注册 本身：在第一次查找时，它定位项目根（最近的） `package.json`） 扫描引导和 `*.module.ts` 文件一次，缓存结果。

| 方法 | 例子 | 检测到? |
| :-- | :-: | :-- |
| **Per-Controller** | `@UseGuards(AuthGuard)` 在类 | ✅ |
| **每个方法** | `@UseGuards(AuthGuard)` 在方法 | ✅ |
| **复合** | `@AuthJwtAccessProtected()` 包装 `UseGuards` | ✅¹ |
| **全局(main.ts)** | `app.useGlobalGuards()` / `app.useGlobalPipes()` | ✅ |
| **全局(模块)** | `{ provide: APP_GUARD, useClass: AuthGuard }` | ✅ |
| **全局(模块)** | `{ provide: APP_PIPE, useClass: ValidationPipe }` | ✅ |
| **全局(模块)** | `ThrottlerModule.forRoot([{ ttl: 60000, limit: 10 }])` | ✅ |

¹复合装饰器不能被语法过滤器解析，所以任何路由 携带一个插件无法识别的装饰器被认为是受保护的。一个 错过查找比在别人的代码库中出现误报要便宜得多。集 `allowCustomDecorators: false` 在 `require-guards` 如果你想要严格的 行为。

`ThrottlerGuard` 注册为 `APP_GUARD` 作为速率限制， **不** 作为 身份验证——一个只会节流的项目 `require-guards` 发现。

### 逃生出口: `assumeGlobal*` 和 `detectGlobal*` 选项

`assumeGlobal*: true` 直接禁用规则而不扫描项目； `detectGlobal*: false` 禁用项目扫描并恢复严格的每个文件 检查:

```javascript
// eslint.config.js
import nestjsSecurity from 'eslint-plugin-nestjs-security';

export default [
  {
    ...nestjsSecurity.configs.recommended,
    rules: {
      // Tell ESLint: "We have app.useGlobalGuards() in main.ts"
      'nestjs-security/require-guards': ['warn', { assumeGlobalGuards: true }],

      // Tell ESLint: "We have app.useGlobalPipes(new ValidationPipe()) in main.ts"
      'nestjs-security/no-missing-validation-pipe': [
        'warn',
        { assumeGlobalPipes: true },
      ],

      // Tell ESLint: "We have ThrottlerModule.forRoot() in app.module.ts"
      'nestjs-security/require-throttler': [
        'warn',
        { assumeGlobalThrottler: true },
      ],

      // Or keep strict per-file checking and skip the project scan entirely
      // 'nestjs-security/require-guards': ['error', { detectGlobalGuards: false }],
    },
  },
];
```

### 可选：使用跳过装饰器

规则承认故意不受保护的端点的常见“旁路”装饰器：

```typescript
// These bypass require-guards
@Public()        // nestjs-passport pattern
@SkipAuth()      // common custom decorator
@AllowAnonymous() // alternative naming
@NoAuth()        // alternative naming

// These bypass require-throttler
@SkipThrottle()  // @nestjs/throttler built-in
```

### 费率限制报告在哪里

`require-throttler` 报告 **一次，在根模块上** （`AppModule`，或任何 `@Module` 类 `app.module.ts`)当没有时 `ThrottlerModule` 配置 在项目的任何地方。采用单模块注册限速， 因此，在每个路由上报告它将一行修复描述为数十个错误。

* * *

## 📦兼容性

| 包 | 版本 |
| :-- | :-: |
| ESLint | `^8.40.0 || ^9.0.0 || ^10.0.0` |
| node . js | `>=18.0.0` |

看到 [ESLint版本支持策略](https://npmcn.com/docs/ESLINT_VERSION_SUPPORT.md) -当前生态系统份额数据，20%门，以及v10的前瞻性例外。

## 规则

**传说**

| 图标 | 描述 |
| :-- | :-: |
| 💼 | **推荐**：包含在推荐的预置中。 |
| ⚠️ | **警告**：在推荐设置中设置为警告。 |
| 🔧 | **Auto-fixable**：可自动修复 `--fix` CLI的选择。 |
| 💡 | **建议**在IDE中提供代码建议。 |
| 🚫 | **弃用**：该规则已弃用。 |
| 🟢 | **Type-unaware**： AST-only，运行在oxlint JS-plugin层。 |
| 🟡 | **Type-aware(精炼)**：纯ast主路径；类型提高了精度。 |
| 🟠 | **Type-aware(优雅)**：要求TS程序；没有它，寂静无声。 |

| 规则 | CWE | OWASP | CVSS | 描述 | 🧠 | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |
| :-- | :-: | :-- | :-: | :-- | :-: | :-: | :-: | :-: | :-: | :-: |
| [no-exposed-private-fields](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-exposed-private-fields?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 200 | A01:2021 |  | 该规则检测实体或DTO类中不存在的敏感字段（如密码、令牌、秘密）。 | 🟢 |  | ⚠️ |  |  |  |
| [no-hybrid-app-config-loss](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-hybrid-app-config-loss?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | CWE-20 | A03:2021 |  | 检测不带inheritAppConfig的connectMicroservice()，它会静默地丢弃每个全局管道和守卫…… | 🟢 | 💼 |  |  |  |  |
| [no-missing-validation-pipe](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-missing-validation-pipe?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | CWE-20 | A03:2021 |  | 该规则提供了llm优化的错误消息（紧凑的2行格式）和可操作的安全指导： | 🟡 |  | ⚠️ |  |  |  |
| [no-permissive-cors](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-permissive-cors?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 942 | A05:2021 |  | 标志CORS配置为接受任何原点-一个裸的enableCors()，原点‘\*’，或反映原点为true。 | 🟢 | 💼 |  |  |  |  |
| [no-res-bypass-serialization](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-res-bypass-serialization?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 200 | A01:2021 |  | 该规则检测的路由处理程序注入@Res（）而不通过传递，然后写入一个对象，这仍然… | 🟢 |  | ⚠️ |  |  |  |
| [no-unguarded-swagger](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-unguarded-swagger?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 200 | A01:2021 |  | 该规则检测在应用程序引导中无条件运行的SwaggerModule.setup()，它发布… | 🟢 |  | ⚠️ |  |  |  |
| [no-unsafe-multer-filename](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/no-unsafe-multer-filename?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | CWE-22 | A01:2021 |  | 标记一个multer diskStorage文件名回调，该回调将上传存储在客户端选择的名称下。 | 🟢 | 💼 |  |  |  |  |
| [require-guards](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/require-guards?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 306 | A01:2021 |  | 该规则提供了llm优化的错误消息（紧凑的2行格式）和可操作的安全指导： | 🟢 | 💼 |  |  |  |  |
| [require-throttler](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/require-throttler?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 770 | A05:2021 |  | 该规则检测缺乏速率限制的NestJS控制器和路由处理程序，这会使应用程序… | 🟢 |  | ⚠️ |  |  |  |
| [require-validation-pipe-whitelist](https://eslint.interlace.tools/docs/security/plugin-nestjs-security/rules/require-validation-pipe-whitelist?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security) | cwe - 915 | A03:2021 |  | 在ValidationPipe上要求白名单为true，因此DTO从未声明的属性将被剥离，而不是重新定义… | 🟢 | 💼 |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |

## 🔗相关ESLint插件

部分 **交错ESLint生态系统** -带有llm优化错误消息的ai本地规则；

**安全**

| 插件 | 下载 | 描述 |
| :-- | :-: | :-- |
| [`eslint-plugin-anthropic-security`](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-anthropic-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | Anthropic SDK安全性。 |
| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | XSS， DOM安全性。 |
| [`eslint-plugin-drizzle-security`](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-drizzle-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | 细雨安全。 |
| [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | 快速中间件加固。 |
| [`eslint-plugin-gemini-security`](https://www.npmjs.com/package/eslint-plugin-gemini-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-gemini-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-gemini-security) | 谷歌Gemini SDK安全。 |
| [`eslint-plugin-jwt-security`](https://www.npmjs.com/package/eslint-plugin-jwt-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt-security) | 令牌的安全。 |
| [`eslint-plugin-knex-security`](https://www.npmjs.com/package/eslint-plugin-knex-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-knex-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-knex-security) | Knex安全。 |
| [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda加固。 |
| [`eslint-plugin-mcp-sdk-security`](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mcp-sdk-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | MCP SDK安全。 |
| [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB注入。 |
| [`eslint-plugin-mysql-security`](https://www.npmjs.com/package/eslint-plugin-mysql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mysql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mysql-security) | MySQL安全。 |
| [`eslint-plugin-node-security`](https://www.npmjs.com/package/eslint-plugin-node-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-node-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-node-security) | 服务器端模式。 |
| [`eslint-plugin-openai-security`](https://www.npmjs.com/package/eslint-plugin-openai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-openai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-openai-security) | OpenAI SDK安全。 |
| [`eslint-plugin-postgresql-security`](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-postgresql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | PostgreSQL的安全。 |
| [`eslint-plugin-prisma-security`](https://www.npmjs.com/package/eslint-plugin-prisma-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-prisma-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-prisma-security) | 棱镜的安全。 |
| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | 预防注射。 |
| [`eslint-plugin-sequelize-security`](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sequelize-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | 序列化ORM安全性。 |
| [`eslint-plugin-sqlite-security`](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sqlite-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | SQLite安全。 |
| [`eslint-plugin-supabase-security`](https://www.npmjs.com/package/eslint-plugin-supabase-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-supabase-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-supabase-security) | Supabase安全。 |
| [`eslint-plugin-typeorm-security`](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-typeorm-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | TypeORM安全。 |
| [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | AI SDK安全。 |

**代码质量**

| 插件 | 下载 | 描述 |
| :-- | :-: | :-- |
| [`eslint-plugin-conventions`](https://www.npmjs.com/package/eslint-plugin-conventions) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-conventions.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-conventions) | 团队特有的习惯和风格。 |
| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | 快速循环+导入图形分析。 |
| [`eslint-plugin-maintainability`](https://www.npmjs.com/package/eslint-plugin-maintainability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-maintainability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-maintainability) | 认知负荷和干净的代码模式。 |
| [`eslint-plugin-modernization`](https://www.npmjs.com/package/eslint-plugin-modernization) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modernization.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modernization) | ESNext迁移+语法进化。 |
| [`eslint-plugin-modularity`](https://www.npmjs.com/package/eslint-plugin-modularity) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modularity.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modularity) | 结构完整性和DDD模式。 |
| [`eslint-plugin-operability`](https://www.npmjs.com/package/eslint-plugin-operability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-operability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-operability) | 生产就绪和资源运行状况。 |
| [`eslint-plugin-react-a11y`](https://www.npmjs.com/package/eslint-plugin-react-a11y) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-a11y.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-a11y) | React可访问性/ WCAG。 |
| [`eslint-plugin-react-features`](https://www.npmjs.com/package/eslint-plugin-react-features) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-features.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-features) | React最佳实践和优化。 |
| [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-reliability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-reliability) | 运行时稳定性和错误安全性。 |

## ⭐支持与关注

如果这个插件为你捕获了一个真正的bug， **[用星号标记回购](https://github.com/ofri-peretz/eslint)** -星星是维持Interlace ESLint生态系统的信号-和 **[关注Dev.to上的文章](https://dev.to/ofri-peretz)** 对于这些规则背后的基准和安全研究。

[![GitHub stars](https://img.shields.io/github/stars/ofri-peretz/eslint?style=social)](https://github.com/ofri-peretz/eslint)

## 📄许可证

麻省理工学院© [Ofri佩雷茨](https://github.com/ofri-peretz)

[![ESLint Interlace Plugin](https://eslint.interlace.tools/images/og-nestjs-security.png)](https://eslint.interlace.tools/docs/security/plugin-nestjs-security?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security)

[![Interlace](https://eslint.interlace.tools/logos/interlace-light.svg)](https://eslint.interlace.tools/docs/security/plugin-nestjs-security?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-nestjs-security)

## 常见问题

### eslint-plugin-nestjs-security 是什么？

用于NestJS安全的ESLint插件——检测缺失的认证保护、缺失的验证管道、未节流的路由和暴露的私有字段。

### 如何安装 eslint-plugin-nestjs-security？

在项目目录运行 npm install eslint-plugin-nestjs-security，或使用 pnpm add / yarn add / bun add。

### eslint-plugin-nestjs-security 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### eslint-plugin-nestjs-security 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### eslint-plugin-nestjs-security 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### eslint-plugin-nestjs-security 可以商用吗？

eslint-plugin-nestjs-security 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### eslint-plugin-nestjs-security 还在维护吗？

最新版本 3\.2\.2 发布于 2026/11/03（今天）；至今共发布 30 个版本，其中过去 12 个月发布了 30 个；首次发布于 2025/12/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

