# @doyensec/electronegativity 中文文档

规范地址：https://npmcn.com/package/%40doyensec/electronegativity/

版本：1\.10\.3
npm 元数据更新时间：2023-03-09T15:25:06.121Z
中文译文更新时间：2026-11-12T18:04:28.598Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40doyensec/electronegativity
原文对照：https://npmcn.com/package/%40doyensec/electronegativity/?lang=original
项目主页：https://github.com/doyensec/electronegativity#readme
源码仓库：https://github.com/doyensec/electronegativity

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

- 包体积（解压后）：9 MB，581 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：27 个
- 首次发布：2018-08-30T00:48:37.896Z
- 最新版本发布：2023-03-09T15:25:05.951Z
- 近 30 天下载量：45657（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 0 个）

## 中文简介

电容是识别电容应用中的错配置和安全防标的工具

## 安装

```sh
npm install @doyensec/electronegativity
```

也可以使用：`pnpm add @doyensec/electronegativity`、`yarn add @doyensec/electronegativity`、`bun add @doyensec/electronegativity`

## README

# 电容

## 什么是电容?

**电容** 这是一种工具,用以识别在下列系统中的不正确配置和安全防标 [电子](https://electronjs.org/)\- 基于应用程序.

![](https://github.com/doyensec/electronegativity/raw/master/docs/resources/img/electronegalogo.png)

它利用AST和DOM解析来寻找与安全有关的配置,详见 ["电子安全检查清单——开发者和审计师指南"](https://doyensec.com/resources/us-17-Carettoni-Electronegativity-A-Study-Of-Electron-Security-wp.pdf) 白纸.

软件开发者和安全审计员在使用Electron开发应用程序时,可以利用这一工具来检测并缓解潜在的弱点和执行错误. 在使用电负性时仍然需要对电(in)安全性有很好的了解,因为工具所发现的一些潜在问题需要人工调查.

如果你对电能安全感兴趣 请看看我们 _黑发2017年_ 研究 [电能 - 电能安全研究](https://doyensec.com/resources/us-17-Carettoni-Electronegativity-A-Study-Of-Electron-Security.pdf) 看着他 [多恩塞克的博客](http://blog.doyensec.com/)。 。 。 .

![Electronegativity Demo](https://github.com/doyensec/electronegativity/raw/master/docs/resources/img/electrodemo.gif "Electronegativity Demo")

## 电子NG改进版

如果您需要更强大或更新的东西,由于应用了多年的研发成果,基于电负性(Electronegative)的改进型SAST工具可以使用 [多恩塞克语Name](https://doyensec.com/)2020年底,我们坐下来制定项目路线图,并建立了一个开发小组,以研究现在的情况 [电能](https://get-electrong.com/)您可以在最近阅读一些与开放源码软件版本相比的主要改进 [博客文章](https://blog.doyensec.com/2022/09/06/electrong-launch.html)。 。 。 .

![](https://get-electrong.com/img/lead.png)

## 安装

主要释放被推向国家预防机制,可以简单地使用:

```
$ npm install @doyensec/electronegativity -g
```

## 使用量

### 国 际

```
$ electronegativity -h
```

| 选项 | 说明 |
| :-: | :-: |
| \- 维 | 输出版本编号 |
| \-一, -输入 | 输入(目录、.js、.html、.asar) |
| \-i, -- 检查 | 只运行指定的检查, 以 csv 格式通过 |
| \-x, -- 不包括检查 | 跳过指定的检查列表,以 csv 格式通过 |
| \-s, -- 绝对的 | 仅返回具有规定严重或以上程度的检测结果 |
| \-c -- 自信 | 仅返回具有特定信任程度或以上的结果 |
| \-o, --output <filename \[.csv或.sarif\]\] (中文(简体) ) | 将结果保存到 csv 或 sarif 格式的文件 |
| \-r, -- 相对 | 显示文件的相对路径 |
| \-v, -- 动词 | 显示结果的描述,默认为真实 |
| \-u, -- 升级 | 运行Electron升级检查, eg -u 7.8 |
| \-e, --电子版本 | 假设设定的 Electron 版本, 凌驾于检测到的版本, 如 -e 7. 0 |
| \-p, --parser-插头 | 指定用逗号分隔的附加解析器插件, 例如 - p 可选 链条 |
| \-h, --帮助 | 产出使用信息 |

使用电负性在包含有 Electron app的目录中查找问题:

```
$ electronegativity -i /path/to/electron/app
```

利用电负性在 `asar` 归档和保存结果于 csv 文件 :

```
$ electronegativity -i /path/to/asar/archive -o result.csv
```

在从一个电子版本升级到另一个版本时使用电负性来发现断裂变化:

```
$ electronegativity -i /path/to/electron/app -v -u 7..8
```

注:如果运行到致命错误“ JavaScript heap ” , 您可以使用 `node --max-old-space-size=4096 electronegativity -i /path/to/asar/archive -o result.csv`

### 忽略行或文件

电容允许您使用 `eng-disable` 评论。 例如,如果想要特定检查忽略一行代码,可以按以下方式禁用:

```js
const res = eval(safeVariable); /* eng-disable DANGEROUS_FUNCTIONS_JS_CHECK */
```

```html
<webview src="https://doyensec.com/" enableblinkfeatures="DangerousFeature"></webview> <!-- eng-disable BLINK_FEATURES_HTML_CHECK -->
```

任意 `eng-disable` 内置注释( i)`// eng-disable`, (中文(简体) ), `/* eng-disable */`, (中文(简体) ), `<!-- eng-disable -->`)将禁用该行的指定检查。 也可以使用他们的蛇案身份证提供多个核对名称(`DANGEROUS_FUNCTIONS_JS_CHECK`或它们的构造名称(`dangerousFunctionsJSCheck`:

```js
shell.openExternal(eval(safeVar)); /* eng-disable OPEN_EXTERNAL_JS_CHECK DANGEROUS_FUNCTIONS_JS_CHECK */
```

如果你放一个 `eng-disable` a 顶端任何代码之前的指令 `.js` 或者说 `.html` 文件,将禁用已通过的检查 _整个_ 文档.

#### 关于全球检查和 `eng-disable` 说明

在 v1. 9.0 全球 之前 无法使用代码说明来禁用检查 。 如果您仍在使用旧版本, 请使用 `-x` 手动禁用检查列表的 CLI 参数( 例如 ). `-x LimitNavigationJsCheck,PermissionRequestHandlerJsCheck,CSPGlobalCheck`) (中文(简体) ). 请注意,使用说明可能不适用于某些更高级别的检查,例如: `CSP_GLOBAL_CHECK` 或者说 `AVAILABLE_SECURITY_FIXES_GLOBAL_CHECK`对于这些案例,你可能想使用 `-x` 标记以排除扫描中的特定检查.

### 排雷中心/发改委

[电容动作](https://github.com/marketplace/actions/electronegativity) 可能作为您的 GitHub CI/CD 管道的一部分运行以获取“代码扫描提示 ” :

![Code scanning alerts](https://github.com/doyensec/electronegativity/raw/master/docs/resources/img/codescanningalerts.png "Code scanning alerts")

### 程序

也可以在程序上使用电负性,使用与CLI相似的选项:

```js
const run = require('@doyensec/electronegativity')
// or: import run from '@doyensec/electronegativity';

run({
  // input (directory, .js, .html, .asar)
  input: '/path/to/electron/app',
  // save the results to a file in csv or sarif format (optional)
  output: '/path/for/output/file',
  // true to save output as sarif, false to save as csv (optional)
  isSarif: false,
  // only run the specified checks (optional)
  customScan: ['dangerousfunctionsjscheck', 'remotemodulejscheck'],
  // only return findings with the specified level of severity or above (optional)
  severitySet: 'high',
  // only return findings with the specified level of confidence or above (optional)
  confidenceSet: 'certain',
  // show relative path for files (optional)
  isRelative: false,
  // run Electron upgrade checks, eg -u 7..8 to check upgrade from Electron 7 to 8 (optional)
  electronUpgrade: '7..8',
  // assume the set Electron version, overriding the detected one
  electronVersion: '5.0.0',
  // use additional parser plugins
  parserPlugins: ['optionalChaining']
})
    .then(result => console.log(result))
    .catch(err => console.error(err));
```

结果包含全球和原子检查的次数、分析时遇到的任何错误以及发现的一系列问题,例如:

```js
{
  globalChecks: 6,
  atomicChecks: 36,
  errors: [
    {
      file: 'ts/main/main.ts',
      sample: 'shell.openExternal(url);',
      location: { line: 328, column: 4 },
      id: 'OPEN_EXTERNAL_JS_CHECK',
      description: 'Review the use of openExternal',
      properties: undefined,
      severity: { value: 2, name: 'MEDIUM', format: [Function: format] },
      confidence: { value: 0, name: 'TENTATIVE', format: [Function: format] },
      manualReview: true,
      shortenedURL: 'https://git.io/JeuMC'
    },
    {
      file: 'ts/main/main.ts',
      sample: 'const popup = new BrowserWindow(options);',
      location: { line: 340, column: 18 },
      id: 'CONTEXT_ISOLATION_JS_CHECK',
      description: 'Review the use of the contextIsolation option',
      properties: undefined,
      severity: { value: 3, name: 'HIGH', format: [Function: format] },
      confidence: { value: 1, name: 'FIRM', format: [Function: format] },
      manualReview: false,
      shortenedURL: 'https://git.io/Jeu1p'
    }
  ]
}
```

## 捐款

如果你想为这个项目做贡献 请看看我们 [捐款额](https://github.com/doyensec/electronegativity/blob/master/CONTRIBUTING.md)。 。 。 .

## 贷项

由于许多人的工作,电磁成为可能 [捐助者](https://github.com/doyensec/electronegativity/graphs/contributors)。 。 。 .

该项目由下列机构赞助: [多恩塞克有限责任公司](https://www.doyensec.com/)。 。 。 .

![alt text](https://doyensec.com/images/logo.svg "Doyensec Logo")

[{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}让我们分手吧](https://doyensec.com/auditing.html) 你的Electron.js应用程序!

## 常见问题

### @doyensec/electronegativity 是什么？

电容是识别电容应用中的错配置和安全防标的工具

### 如何安装 @doyensec/electronegativity？

在项目目录运行 npm install @doyensec/electronegativity，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 electronegativity，可以用 npx electronegativity 直接运行。

### @doyensec/electronegativity 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/doyensec\_\_electronegativity 是否存在。

### @doyensec/electronegativity 支持 ESM 还是 CommonJS？

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

### @doyensec/electronegativity 可以商用吗？

@doyensec/electronegativity 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @doyensec/electronegativity 的下载量有多少？

根据 npm 官方下载统计，@doyensec/electronegativity 在 2026/10/13 – 2026/11/11 这 30 天内被下载 45,657 次，日均约 1,522 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @doyensec/electronegativity 还在维护吗？

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

