#hash #digest #install #shell #crypto

app pincers

从网络运行脚本的更安全方式

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2019年3月31日
0.1.0 2018年11月11日

#80#digest

MIT 许可证

15KB
284 代码行

pincers

Build Status Crates.io

从网络运行脚本的更安全方式

因为 curl | shwget | sh 在我们所处的世界中有点像牛仔。使用加密散列来检查下载的内容是否是你所期望的,在运行脚本之前。

注意

仅仅因为互联网上的脚本有校验和,并不意味着它是安全的或好的。它只能确保所有人都会得到相同的版本。我建议在您在自己的机器上运行之前,阅读并理解任何您不完全信任的第三方脚本。

SHA-1 和 MD5 散列被包含在内,以便与所有广泛使用的散列一起使用。然而,这些特定的散列存在可证明的攻击,应尽可能地避免。

示例

$pincers run https://sh.rustup.rs SHA3 0d420ca95887750de3b95326262cd05911f9c734a82ef66a3280eaa9c738621336321ee0ab0b146279e3dcd01b0134ddac97e2913ce102c344b63bef5cf0b4a9

$pincers run https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh SHA2 bb7e8f51023ab8b054c6578591fa0dc361ceeb08744e5cd1f0e551235c4912b2

$pincers hash https://www.opscode.com/chef/install.sh SHA2

$pincers hash https://nixos.org/nix/install SHA1

$pincers verify https://imgs.xkcd.com/comics/universal_install_script.png SHA3 f855bf08017a89c7d4755df6d909f9f86e4a7cd488470eb27b90f9e22048e451f8d1ec4481fdc44518cfaa709ecde20c67e453d6c2865275fd861664527714d2

用法

pincers 0.2.0
Greg Lutostanski <greg.lutostanski@mobilityhouse.com>
A more secure way to run scripts from the web

USAGE:
    pincers [FLAGS] <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -v               Sets the level of verbosity
    -V, --version    Prints version information

SUBCOMMANDS:
    hash      Generate a checksum for the given input
    help      Prints this message or the help of the given subcommand(s)
    run       Run the given script if the checksum matches
    verify    Verify the checksum matches the given input

安装

一路都是...

Cargo

$cargo install pincers

依赖项

~23MB
~464K SLoC