#electron #security #command-line #command-line-tool #hardening

bin+lib electron-hardener

移除 Electron 中修改运行时行为的功能的工具

4 个版本

0.2.2 2021 年 9 月 22 日
0.2.1 2021 年 6 月 2 日
0.2.0 2021 年 6 月 1 日
0.1.0 2021 年 4 月 23 日

876文件系统 中排名

Download history 21144/week @ 2024-04-02 9073/week @ 2024-04-09 19426/week @ 2024-04-16 20234/week @ 2024-04-23 21394/week @ 2024-04-30 18638/week @ 2024-05-07 22089/week @ 2024-05-14 25837/week @ 2024-05-21 28824/week @ 2024-05-28 24864/week @ 2024-06-04 20164/week @ 2024-06-11 19810/week @ 2024-06-18 24508/week @ 2024-06-25 20292/week @ 2024-07-02 20078/week @ 2024-07-09 22119/week @ 2024-07-16

91,508 每月下载量

MIT/Apache

35KB
578

electron-hardener

crates.io version crate documentation MSRV crates.io downloads CI

A Rust 库和命令行工具,用于强化 Electron 二进制文件以抵御运行时行为修改。

这为强化 Electron 应用程序以抵御一类特定的运行时行为修改提供了一种方法。具体来说,如果一个无特权的进程无法写入应用程序的二进制文件或进程地址空间,那么它不应该能够在运行时改变应用程序的行为。

该库提供了两组功能

  • 一个应用程序中熔断器的查看和修改状态的接口,类似于官方的 熔断器包
  • Dimitri Witkowski 创建的 electron-evil-feature-patcher 工具的快速且可配置的替代实现。它所能执行的补丁也都在这个包中公开。有关其工作原理的更多详细信息,请参阅其 README 文件。

使用方法

该库提供了一个简单且可配置的接口

use electron_hardener::{ElectronApp, Fuse, NodeJsCommandLineFlag};

let mut app = ElectronApp::from_bytes(&mut application_bytes)?;

app.set_fuse_status(Fuse::RunAsNode, false)?;

app.patch_option(NodeJsCommandLineFlag::Inspect)?;

查看命令行工具的源代码或示例,以了解更多使用方法。

命令行工具

命令行工具提供了与 electron-evil-feature-patcher 相同的功能和接口

electron-hardener ./path/to/packaged/electron/app

安装

在项目的 Cargo.toml 文件中

electron_hardener = "0.1"

命令行工具

确保已安装 Rust 编译器,然后运行

cargo install electron-hardener

Electron 兼容性

electron-harder 跟踪 Electron 的最新稳定版本。功能目前已在 Electron 15 的最低版本上进行测试。旧版本可能部分工作,但无法保证。

MSRV

当前支持的最小 Rust 版本是 1.46.0。在需要时将提升到 Rust 的最新稳定版本。

致谢

由1Password团队用❤️制作,特别感谢1Password团队,以及Dimitri Witkowski花费时间和精力发现可以禁用的命令行标志,并最终创建了这个项目的原始工具。

许可证

根据您的选择,许可协议为Apache License, Version 2.0MIT许可证
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,包括但不限于在代码库中包含的贡献,均将按上述方式双许可,不附加任何额外的条款或条件。

依赖项

约2.7–4MB
~66K SLoC