GitHub敏感信息收集与防御指南
目录
GitHub敏感信息收集与防御指南
一、基础搜索技巧
1. 核心敏感关键词搜索
2. 文件类型限定搜索
二、定向信息收集技术
1. 针对特定组织的搜索
2. 针对特定网站的搜索
3. 针对云服务的搜索
三、高级精准定位技巧
1. 组合搜索条件
2. 时间限定搜索
3. 路径限定搜索
四、防御策略
1. 预防措施
2. 监控与响应
3. 组织管理
GitHub敏感信息收集与防御指南
GitHub作为全球最大的代码托管平台,存储着数十亿行公开代码,其中可能包含大量意外泄露的敏感信息。本文将系统介绍从基础到进阶的GitHub信息收集技术,重点关注特定组织/网站的敏感信息发现方法。
一、基础搜索技巧
1. 核心敏感关键词搜索
"password" "api_key" "secret_key" "credentials" "database_password" "access_token" "auth_token" "encryption_key" "private_key"
2. 文件类型限定搜索
filename:.env "DB_PASSWORD" # 环境文件中的数据库密码 filename:config.json "api_key" # JSON配置文件中的API密钥 filename:.properties "jdbc.url" # Java属性文件中的数据库连接
二、定向信息收集技术
1. 针对特定组织的搜索
org:xxcompany "internal" # 搜索xxcompany组织内部信息 org:xxcompany "prod" AND "password" # xxcompany生产环境密码 org:xxcompany "staging" AND "credentials" # xxcompany测试环境凭证
2. 针对特定网站的搜索
"site:example.com" AND "password" # 查找与特定网站相关的密码 "site:example.com" AND "api_key" # 查找特定网站的API密钥 "site:example.com" AND "database" AND "password" # 特定网站数据库密码
3. 针对云服务的搜索
"AWS_ACCESS_KEY_ID" AND "AWS_SECRET_ACCESS_KEY" "AKIA[0-9A-Z]{16}" # AWS访问密钥模式 filename:credentials aws_access_key_id "service_account.json" AND "private_key"
三、高级精准定位技巧
1. 组合搜索条件
"aws_access_key_id" AND "aws_secret_access_key" filename:.env "slack_token" AND filename:.json "stripe_key" AND ("live" OR "prod")
2. 时间限定搜索
"password" pushed:>2023-01-01 # 最近一年的密码泄露 "api_key" created:>=2022-01-01 # 2022年后创建的API密钥 "secret" pushed:2023-01-01..2023-12-31 # 2023年全年的密钥泄露
3. 路径限定搜索
path:src/main/resources "application.yml" "password" path:.github/workflows "secret" # GitHub Actions中的密钥 path:config "database.yml" # 数据库配置文件 path:secrets "token" # secrets目录中的令牌
四、防御策略
1. 预防措施
-
预提交检查:使用git-secrets、truffleHog等工具在代码提交前扫描敏感信息
-
密钥管理:使用Vault、AWS Secrets Manager等专业密钥管理工具
-
环境隔离:严格区分开发、测试和生产环境的凭证
2. 监控与响应
-
定期扫描:使用GitHub API或第三方工具监控组织仓库
-
实时告警:设置敏感信息提交的即时通知
-
应急响应:建立凭证泄露后的快速轮换流程
3. 组织管理
-
权限控制:遵循最小权限原则,限制敏感仓库访问
-
代码审查:实施严格的代码审查制度
-
员工培训:定期进行安全意识培训