Hugging Face 与 TruffleHog 合作,实现风险预警

news/2024/10/30 10:59:26/文章来源:https://www.cnblogs.com/huggingface/p/18515419

我们非常高兴地宣布与 Truffle Security 建立合作伙伴关系并在我们的平台集成 TruffleHog 强大的风险信息扫描功能。这些特性是 我们持续致力于提升安全性 的重要举措之一。

TruffleHog 是一款开源工具,用于检测和验证代码中的机密信息泄露。它拥有广泛的检测器,覆盖多种流行 SaaS 和云服务提供商,可扫描文件和代码仓库中的敏感信息,如凭证、令牌和加密密钥。

错误地将敏感信息提交到代码仓库可能会造成严重问题。TruffleHog 通过扫描代码仓库中的机密信息,帮助开发者在问题发生前捕获并移除这些敏感信息,保护数据并防止昂贵的安全事件。

为了对抗公共和私有代码仓库中的机密信息泄露风险,我们与 TruffleHog 团队合作开展了两项举措: 利用 TruffleHog 增强我们的自动扫描流程,以及在 TruffleHog 中创建原生的 Hugging Face 扫描器。

使用 TruffleHog 增强我们的自动化扫描流程

在 Hugging Face,我们致力于保护用户的敏感信息。因此,我们扩展了包括 TruffleHog 在内的自动化扫描流程

每次推送到代码库时,我们都会对每个新文件或修改文件运行 trufflehog filesystem 命令,扫描潜在的风险。如果检测到已验证的风险,我们会通过电子邮件通知用户,使他们能够采取纠正措施

已验证的风险是指那些已确认可以用于对其相应提供者进行身份验证的风险。请注意,未验证的风险不一定是无害或无效的: 验证可能由于技术原因而失败,例如提供者的停机时间。

即使我们为你运行 trufflehog 或者你自己在代码库上运行 trufflehog 也始终是有价值的。例如,你可能已经更换了泄露的密匙,并希望确保它们显示为“未验证”,或者你希望手动检查未验证的风险是否仍然构成威胁。

We will eventually migrate to the trufflehog huggingface command, the native Hugging Face scanner, once support for LFS lands.

当我们支持 LFS 后,我们最终会迁移到原生的 Hugging Face 扫描器,即 trufflehog huggingface 命令。

TruffleHog 原生 Hugging Face 扫描器

创建原生 Hugging Face 扫描器的目标是积极的帮助我们的用户 (以及保护他们的安全团队) 扫描他们自己的账户数据,以发现泄露的风险。

TruffleHog 的新的开源 Hugging Face 集成可以扫描模型、数据集和 Spaces,以及任何相关的 PRs 或 Discussions。

唯一的限制是 TruffleHog 目前不会扫描任何存储在 LFS 格式中的文件。他们的团队正在努力解决这个问题,以便尽快支持所有的 git 源。

要使用 TruffleHog 扫描你或你组织的 Hugging Face 模型、数据集和 Spaces 中的秘密,请运行以下命令:

# For your user
trufflehog huggingface --user <username># For your organization
trufflehog huggingface --org <orgname># Or both
trufflehog huggingface --user <username> --org <orgname>

你可以使用 ( --include-discussions ) 和 PRs ( --include-prs ) 的可选命令来扫描 Hugging Face 讨论和 PR 评论。

如果你想要仅扫描一个模型、数据集或 Space,TruffleHog 有针对每一个的特定命令。

# Scan one model
trufflehog huggingface --model <model_id># Scan one dataset
trufflehog huggingface --dataset <dataset_id># Scan one Space
trufflehog huggingface --space <space_id>

如果你需要传入认证令牌,你可以使用 –token 命令,或者设置 HUGGINGFACE_TOKEN 环境变量。

这里是 TruffleHog 在 mcpotato/42-eicar-street 上运行时的输出示例:

trufflehog huggingface --model mcpotato/42-eicar-street
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷2024-09-02T16:39:30+02:00	info-0	trufflehog	running source	{"source_manager_worker_id": "3KRwu", "with_units": false, "target_count": 0, "source_manager_units_configurable": true}
2024-09-02T16:39:30+02:00	info-0	trufflehog	Completed enumeration	{"num_models": 1, "num_spaces": 0, "num_datasets": 0}
2024-09-02T16:39:32+02:00	info-0	trufflehog	scanning repo	{"source_manager_worker_id": "3KRwu", "model": "https://huggingface.co/mcpotato/42-eicar-street.git", "repo": "https://huggingface.co/mcpotato/42-eicar-street.git"}
Found unverified result 🐷🔑❓
Detector Type: HuggingFace
Decoder Type: PLAIN
Raw result: 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
Commit: 9cb322a7c2b4ec7c9f18045f0fa05015b831f256
Email: Luc Georges <luc.sydney.georges@gmail.com>
File: token_leak.yml
Line: 1
Link: https://huggingface.co/mcpotato/42-eicar-street/blob/9cb322a7c2b4ec7c9f18045f0fa05015b831f256/token_leak.yml#L1
Repository: https://huggingface.co/mcpotato/42-eicar-street.git
Resource_type: model
Timestamp: 2024-06-17 13:11:50 +0000
2024-09-02T16:39:32+02:00	info-0	trufflehog	finished scanning	{"chunks": 19, "bytes": 2933, "verified_secrets": 0, "unverified_secrets": 1, "scan_duration": "2.176551292s", "trufflehog_version": "3.81.10"}

致敬 TruffleHog 团队,感谢他们提供了这样一个优秀的工具,使我们的社区更安全!随着我们继续合作,敬请期待更多功能,通过 Hugging Face Hub 平台为所有人提供更加安全的服务。


英文原文: https://hf.co/blog/trufflesecurity-partnership

原文作者: Luc Georges

译者: smartisan

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824051.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3知识点:Teleport组件

vue3知识点:Teleport组件@目录五、新的组件2.Teleport案例完整代码本人其他相关文章链接 五、新的组件 2.Teleport问题:什么是Teleport?答案:Teleport 是一种能够将我们的组件html结构移动到指定位置的技术。 <teleport to="移动位置"><div v-if="…

Jenkins使用maven打包项目

Jenkins使用maven打包项目 作为一名软件测试工程师,在日常工作中,我们经常需要使用Jenkins进行持续集成和持续部署(CI/CD)。而Maven作为Java项目的构建工具,更是不可或缺。今天,我将向大家介绍如何在Jenkins中使用Maven打包项目。 一、准备工作 登录Jenkins后,点击Manag…

3216. 交换后字典序最小的字符串

给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的 字典序最小的字符串 。 如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。 示例 1: 输入: s = "4…

实现注解校验Dto字段是否为空

一、背景 我们用json对象作为接收参数的包装器,最后要转化为dto进行业务操作,操作之前要做非空校验,我们可以实现2个注解来实现这个通用的操作。@NotNullField @CheckNull 二、思路 1.实现@NotNullField注解,注解标记在dto字段名上面 @Target(ElementType.FIELD) // 目标为字…

学习高校课程-系统设计与分析-进入设计领域(lec6)

IndexFundamental Design Tasks and Activities 基本设计任务和活动 Understanding the challenges in Iteration 0 了解迭代 0 中的挑战 Structural Modeling and Behavior Modeling 结构建模和行为建模 More on Common Used DiagramsPackage Diagram 封装图 Interaction Diag…

乐维网管平台(三)如何高效管理无线网络

一、无线网络管理概述 1.什么是无线网络管理 无线网络管理是指利用专门的软件平台(如网管平台)对无线网络设备(如无线接入点、无线控制器等)及其相关资源进行集中监控、配置、优化和维护的一系列操作。其主要目的是确保无线网络的高效稳定运行,提升用户体验,保障网络安全…

销售的艺术:价值与策略

一、销售的核心在于展现价值 销售不仅仅是表面的推销技巧,如“多多关照,多多捧场”或“只有今天的500单有这个价格”。其核心在于“展现价值”,即将商品的功能、优点、魅力和价值传递给有需求的人,激发他们的购买欲望。一个简单的公式——价值>价格,是销售过程中的关键所…

Fastjson枚举序列化和反序列化的推荐实现

一、背景 项目中定义了很多dto,包含枚举类型,而且这些枚举全都自定义标志码。比如7001 对应 某种操作。返回前台时,需要转化为对应的7001,前台传入后台时也希望7001转化为枚举。 二、研究思路 一开始,研究了fastjson的默认实现。发现只有不自定义类似7001这种默认值的时候,…

第13课—数据库之索引

一、索引的介绍 1、什么是索引? (1)定义:索引是一种数据结构 一个索引在存储的表中的数据结构; (2)索引是在表的字段上创建的 (3)索引包含了一列值,这个值保存在一个数据结构中 2、索引作用? (1)保证数据记录的唯一性 (2)实现表与表之间的参照性 (3)减少排序和…

触觉智能SOM3588S鸿蒙核心板现已上市,RK3588S八核6T超高算力!

触觉智能SOM3588S鸿蒙核心板,搭载瑞芯微RK3588S芯片,采用4.5*5cm超小尺寸邮票孔+LGA封装,10层盲埋孔沉金工艺!内置八核64位CPU,Mali-G610四核GPU,6T超高算力NPU,广泛应用边缘计算、人工智能、云计算、虚拟/增强现实等行业深圳触觉智能SOM3588S鸿蒙核心板现已上市,搭载瑞…

2个月搞定计算机二级C语言——真题(6)解析

1. 前言 本篇我们讲解2个月搞定计算机二级C语言——真题 62. 程序填空题 2.1 题目要求2.2 提供的代码 #include <stdio.h> unsigned long fun(unsigned long n) {unsigned long x = 0;int t;while (n) {t = n % 10;/**********found**********/if (t % 2 == __…