ESLint 用于开发性项目的安全相关问题检测/处理的插件
用于检测和缓解DevExpress项目安全相关问题的ESLint®插件.
⚠️ 重要:本包仅供内部使用. 它可能含有局限性,不应用于对任务至关重要的软件应用.
先决条件/依赖
ESLint 语录 v9+ (英语).
安装
npm install --save-dev @devexpress/eslint-plugin-dx-security
关键特性
- 一套注重安全的规则
- JSX 分析对
*.jsx财务报告和审定财务报表*.tsx文件 - ASPX 指令剥离处理器
*.js文件 - 第三方规则的可选违规过滤器
内部规则
| 规则 | 严重性 |
|---|---|
no-caller | 错误 |
no-eval | 错误 |
no-implied-eval | 错误 |
no-new-func | 错误 |
微软安全开发生命周期规则
| 规则 | 严重性 |
|---|---|
@microsoft/sdl/no-angular-bypass-sanitizer | 错误 |
@microsoft/sdl/no-angularjs-bypass-sce | 错误 |
@microsoft/sdl/no-angularjs-enable-svg | 错误 |
@microsoft/sdl/no-angularjs-sanitization-whitelist | 错误 |
@microsoft/sdl/no-document-domain | 错误 |
@microsoft/sdl/no-electron-node-integration | 错误 |
@microsoft/sdl/no-msapp-exec-unsafe | 错误 |
@microsoft/sdl/no-postmessage-star-origin | 错误 |
@microsoft/sdl/no-unsafe-alloc | 错误 |
@microsoft/sdl/no-winjs-html-unsafe | 错误 |
反应规则
| 规则 | 严重性 |
|---|---|
react/iframe-missing-sandbox | 错误 |
react/no-danger | 错误 |
redos 规则
| 规则 | 严重性 |
|---|---|
redos/no-vulnerable | 错误( 责任) |
security 规则
| 规则 | 严重性 |
|---|---|
security/detect-buffer-noassert | 错误 |
security/detect-child-process | 错误 |
security/detect-disable-mustache-escape | 错误 |
security/detect-new-buffer | 错误 |
security/detect-no-csrf-before-method-override | 错误 |
ASPX 指令取出
这个 strip-aspx-directives 处理器在 ESLint 解析 a 之前自动删除 ASP.NET 服务器侧指令 *.js 文档。 此动作可以防止JavaScript文件中嵌入服务器给定值的语法错误.
替代规则:
| 投入 | 产出 | 说明 |
|---|---|---|
'<% … %>' | '' | 清除单引文中包含的指令内容. |
"<% … %>" | "" | 清除双引号中包含的指示内容. |
<% … %> | "" | 将未关闭指令替换为空双引出字符串. |
用法实例
使用下列配置之一来激活插件 :
-
required将此配置添加到 互联网档案馆的存檔,存档日期2013-12-02 在所有文件中执行安全规则:
import dxSecurity from '@devexpress/eslint-plugin-dx-security'; export default [ ...dxSecurity.configs.required, ];
-
required-exclusive此配置压制由其它插件定义的 ESLint 规则( 包括
eslint-disable评论)。 用它来禁用可能干扰安全检查的规则.import dxSecurity from '@devexpress/eslint-plugin-dx-security'; export default [ ...dxSecurity.configs['required-exclusive'], ];