Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
redact — 零依赖的 Go 库,用于在凭据类模式(API 密钥、JWT、Authorization 头、URL 用户信息)到达日志/遥测系统之前将其剥离。 | Kitploit
工具/GitLabGitLab/phpboyscout/go/redact
防御工具隐私保护秘密检测日志分析
GitLabphpboyscout/go/redact

redact

零依赖的 Go 库,用于在凭据类模式(API 密钥、JWT、Authorization 头、URL 用户信息)到达日志/遥测系统之前将其剥离。

查看仓库
20小时52分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

redact

在字符串到达日志、遥测或任何第三方暴露面之前,剥离其中类似凭据的内容

Go Reference Pipeline Coverage phpboyscout Go toolkit

属于 phpboyscout Go 工具包的一部分 —— 从 go-tool-base 中提取的小型、无框架 Go 模块。文档:redact.go.phpboyscout.uk


gitlab.com/phpboyscout/go/redact 在可信与不可信可观测性表面之间的边界上,从自由格式字符串中剥离类似凭据的内容 —— 遥测供应商、日志聚合器、指标存储。错误消息、命令行参数和 HTTP 头值经常无意中携带机密(包含内嵌用户信息的 URL、os.Args 中的 --api-key=sk-… 标志、导出错误中被引用的 Authorization 头)。在输出时让它们经过 redact.String,它们就绝不会以明文形式离开进程。

设计

  • 零依赖。 纯标准库(regexp、strings)—— 只有模块本身进入你的依赖图。depfootprint_test.go 守卫测试会强制执行这一点。
  • 边界脱敏。 在数据离开主机的地方进行净化,而不是处处净化。
  • 默认保守。 不透明令牌回退机制要求至少 41 个字符,因此绝不会对 UUID、MD5 或 SHA-1 产生误报。

安装

root@kitploit:~
go get gitlab.com/phpboyscout/go/redact

用法

root@kitploit:~
import "gitlab.com/phpboyscout/go/redact"

safe := redact.String("failed calling https://user:[email protected]?api_key=sk-abc123…")
// → credentials in the URL userinfo, the api_key query param, and the sk- token are masked

msg := redact.Error(err) // redact.String applied to err.Error() (nil-safe)

if redact.IsSensitiveHeaderKey("Authorization") { /* … redact this header's value … */ }

redact.String 会剥离任意协议(https://、postgres://、redis:// 等)URL 中的用户信息、凭据 name=value 赋值、JSON 凭据字段(如 "access_token" 和 "client_secret")、Authorization 头令牌、JWT、知名供应商前缀(sk-、ghp_、glpat-、AIza、AKIA、Slack)以及长不透明令牌。SensitiveHeaderKeys / IsSensitiveHeaderKey 用于识别其值应被脱敏的头。

局限

模式目录永远无法达到 100% 的召回率,而这个包刻意保持保守:

  • 无配置。 你无法添加、禁用或重排模式 —— 该包仅导出四个符号,无可调参数。请围绕它进行组合。
  • String 不会屏蔽任意头值。 它只识别 Authorization:,其他一概不知;X-API-Key: … 会原样通过。这正是头符号的用途。
  • 定制化与过短的机密会漏过。 兜底回退机制需要 41 个字符,且每个供应商前缀都有硬性最小长度。
  • 模式仅限 ASCII,且脱敏是单向的 —— 无法还原,也没有被替换内容的记录。

redact 不做什么 阐述了完整的边界。

文档

完整指南、参考与威胁模型:redact.go.phpboyscout.uk。生成的 API 文档与可运行示例:pkg.go.dev。

许可证

参见 LICENSE。

下载工具