本文概述
- 什么是Electronegativity
- 如何使用它
在这篇简短的文章中, 我们想向你介绍用于Electron Framework应用程序的Electronegativity工具。
什么是Electronegativity【Electronegativity(一种识别Electron框架应用程序中的错误配置和安全性反模式的工具)】Electronegativity是一种识别基于Electron的应用程序中的错误配置和安全性反模式的工具。它利用AST和DOM解析来查找与安全性相关的配置, 如” Electron安全性清单-开发人员和审计师指南” 白皮书中所述。
使用Electron开发应用程序时, 软件开发人员和安全审核人员可以使用此工具来检测和缓解潜在的漏洞和实现错误。使用Electronegativity时, 仍需要对Electron安全性有一个很好的了解, 因为该工具检测到的某些潜在问题需要人工调查。
在@lucacarettoni对Electron Security Checklist的作者进行的研究期间, 该工具的开发人员广泛研究了Electron框架本身的安全性, 并向核心团队报告了漏洞。但是, 它们只关注应用程序级的设计和实现缺陷。
如何使用它要在系统上安装此软件包, 请在终端上运行以下命令:
npm install @doyensec/electronegativity -g
这将在系统上全局安装Electronegativity软件包。安装后, 你可以轻松地在包含Electron应用程序的目录中查找问题:
electronegativity -i ./project-directory
命令Electronegativity支持以下选项:
选项 | 描述 |
---|---|
-V | 输出版本号 |
-i, -输入 | input (directory, .js, .html, .asar) |
-l, -检查 | 仅运行以csv格式传递的指定检查 |
-s, -严重性 | 仅返回指定严重性级别或更高级别的结果 |
-c, -信心 | 仅返回指定置信度或更高的发现 |
-o, – output < 文件名[.csv或.sarif]> | 将结果保存为csv或sarif格式的文件 |
-r, -相对 | 显示文件的相对路径 |
-h, – help | 输出使用情况信息 |
electronegativity -i ./project-directory -o report.csv
以下命令将生成包含以下信息的CSV报告:
问题 | 严重程度 | 置信度 | 文件名 | 位置 | 样品 | 描述 | 网址 |
---|---|---|---|---|---|---|---|
AUXCLICK_JS_CHECK | 介质 | 公司 | C:\ Users \ sdkca \ Desktop \ Dev Workbench \ electron \ electron-quick-start \ main.js | 11:15 | mainWindow = new BrowserWindow({ | 将导航流限制为不受信任的来源。单击鼠标中键可能会导致Electron在新窗口中打开链接 | https://github.com/doyensec/electronegativity/wiki/AUXCLICK_JS_CHECK |
CONTEXT_ISOLATION_JS_CHECK | 高 | 公司 | C:\ Users \ sdkca \ Desktop \ Dev Workbench \ electron \ electron-quick-start \ main.js | 11:15 | mainWindow = new BrowserWindow({ | 查看contextIsolation选项的使用 | https://github.com/doyensec/electronegativity/wiki/CONTEXT_ISOLATION_JS_CHECK |
NODE_INTEGRATION_JS_CHECK | 信息性 | 公司 | C:\ Users \ sdkca \ Desktop \ Dev Workbench \ electron \ electron-quick-start \ main.js | 15:6 | nodeIntegration:正确 | 对不受信任的来源禁用nodeIntegration | https://github.com/doyensec/electronegativity/wiki/NODE_INTEGRATION_JS_CHECK |
SANDBOX_JS_CHECK | 介质 | 公司 | C:\ Users \ sdkca \ Desktop \ Dev Workbench \ electron \ electron-quick-start \ main.js | 11:15 | mainWindow = new BrowserWindow({ | 将沙箱用于不受信任的来源 | https://github.com/doyensec/electronegativity/wiki/SANDBOX_JS_CHECK |
CSP_GLOBAL_CHECK | 介质 | 某些 | 不适用 | 0:0 | 不适用 | 在目标应用程序中未检测到CSP | https://github.com/doyensec/electronegativity/wiki/CSP_GLOBAL_CHECK |
LIMIT_NAVIGATION_GLOBAL_CHECK | 高 | 某些 | 不适用 | 0:0 | 不适用 | 在新窗口和导航事件上使用。缺少导航限制 | https://github.com/doyensec/electronegativity/wiki/LIMIT_NAVIGATION_GLOBAL_CHECK |
PERMISSION_REQUEST_HANDLER_GLOBAL_CHECK | 介质 | 某些 | 不适用 | 0:0 | 不适用 | 缺少PermissionRequestHandler来限制特定权限(例如openExternal), 以响应来自特定来源的事件。 | https://github.com/doyensec/electronegativity/wiki/PERMISSION_REQUEST_HANDLER_GLOBAL_CHECK |
推荐阅读
- 管理员(单个PHP文件中的在线数据库管理器)
- WWW SQL Designer(在线SQL图表工具)
- 在Electron框架中创建你的应用或屏幕的屏幕截图
- Reko(通用二进制反编译器)
- 在Electron Framework中使用本机桌面通知
- 如何使用Electron Framework从Web视图发送检索信息和操作DOM
- 如何使用Electron Framework执行exe文件(系统应用程序)
- 使用Electron Framework监视文件和目录
- 如何使用CLI构建(发布)Electron应用程序的发行版(发布)