假设我制作了一个 go 程序,在源代码中创建了一个带有包含 API 令牌的硬编码值的字符串变量,然后构建该程序,将其传输到另一台远程计算机,然后在该计算机上运行二进制文件.
是否可以从二进制内容中检索 API 令牌?或者甚至在运行时检查进程?
让我们将这个现代基本示例与标准 Go 工具一起使用:
import "golang.org/x/oauth2"
//[...]
ts := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: "<my_API_token>"})
client := NewClient(oauth2.NoContext, ts)
此代码是否会从生成的编译二进制文件中泄漏令牌?
是的。输入
strings <program>
,这可能足以吐出它。