出发点
最近做敏感信息收集项目,需要做 Github 的敏感信息收集,特此写一篇文章记录一下比较有用的搜索语法
常用搜索语法
搜索仓库
限定符 |
示例 |
in:name |
jquery in:name 匹配名称中带有”jquery”的存储库。 |
in:description |
jquery in:name,description 匹配名称或说明中带有”jquery”的存储库。 |
in:topics |
jquery in:topics 将带”jquery”标签的存储库匹配为主题。 |
in:readme |
jquery in:readme 匹配自述文件中提及”jquery”的存储库。 |
repo:owner/name |
repo:octocat/hello-world 匹配特定的存储库名称。 |
搜索 Commit
限定符 |
示例 |
author:USERNAME |
author:defunkt 匹配作者 ``@defunkt` 的提交。 |
committer:USERNAME |
committer:defunkt 匹配提交者 ``@defunkt` 的提交。 |
author-name:NAME |
author-name:wanstrath 匹配作者姓名中包含“wanstrath”的提交。 |
committer-name:NAME |
committer-name:wanstrath 匹配提交者姓名中包含“wanstrath”的提交。 |
author-email:EMAIL |
author-email:chris@github.com 匹配作者 chris@github.com 的提交。 |
committer-email:EMAIL |
committer-email:chris@github.com 匹配提交者 chris@github.com 的提交。 |
搜索 Pull Requests 和 Issues
限定符 |
示例 |
type:pr |
cat type:p r` 匹配包含 “cat” 一词的拉取请求。 |
type:issue |
github commenter:defunkt type:issue 匹配包含 “github” 一词且包含 @defunkt 的评论的问题。 |
is:pr |
event is:pr 匹配包含 “event” 一词的拉取请求。 |
is:issue |
is:issue label:bug is:closed 匹配包含 “bug” 标签的已关闭问题。 |
in:title |
warning in:title 匹配标题中包含 “warning” 的问题。 |
in:body |
error in:title,body 匹配标题或正文中包含 “error” 的问题。 |
in:comments |
shipit in:comments 匹配在评论中提及 “shipit” 的问题。 |
involves:USERNAME |
involves:defunkt involves:jlord 匹配涉及 @defunkt 或 @jlord 的问题。 |
in:body involves:USERNAME |
NOT bootstrap in:body involves:mdo 匹配涉及 @mdo 且正文中不包含“bootstrap”一词的问题。 |
label:LABEL |
label:"help wanted" language:ruby 匹配标签为“help wanted”且位于 Ruby 存储库中的问题。 |
in:body -label:LABEL label:LABEL |
broken in:body -label:bug label:priority 匹配正文中包含“broken”一词且没有“bug”标签但有“priority”标签的问题。 |
label:LABEL label:LABEL |
label:bug label:resolved 匹配标签为“bug”和“已解决”的问题。 |
label:LABEL,LABEL |
label:bug,resolved 匹配标签为“bug”或“已解决”的问题。 |
mentions:USERNAME |
resque mentions:defunkt 匹配提及 @defunkt 且包含“resque”一词的问题。 |
team:ORGNAME/TEAMNAME |
team:jekyll/owners 匹配提及 @jekyll/owners 团队的问题。 |
team:ORGNAME/TEAMNAME is:open is:pr |
team:myorg/ops is:open is:pr 匹配提及 @myorg/ops 团队的打开的拉取请求。 |
commenter:USERNAME |
github commenter:defunkt org:github 匹配 GitHub 拥有的存储库中含有“github”一词且包含 @defunkt 评论的问题。 |
搜索 Fork 信息
限定符 |
示例 |
fork:true |
github fork:true 与所有包含“github”一词的存储库匹配,包括分支。 |
language:_LANGUAGE_ fork:true |
android language:java fork:true 与具有分支和常规存储库中用 Java 编写的“android”一词的代码相匹配。 |
fork:only |
github fork:only 与所有包含“github”一词的分支存储库匹配。 |
forks:>_n_ fork:only |
forks:>500 fork:only 与具有超过 500 个分支的存储库匹配,并且仅返回分支存储库。 |
搜索 Gist
限定符 |
示例 |
anon:true |
cat anon:true 在与 cat 相关的 Gist 搜索中包括匿名 Gist 。 |
filename:_FILENAME_ |
filename:.bashrc 查找包含“.bashrc”文件的所有 Gist 。 |
language:_LANGUAGE_ |
cat language:html 查找包含 HTML 文件且具有“cat”一词的所有 Gist 。 |
extension:_EXTENSION_ |
join extension:coffee 在具有 coffee 扩展的 Gist 中查找“join”的所有实例。 |
查询长度限制
在 GitHub 上搜索时,查询的长度有一些限制:
- 查询字符不超过256个;
- 查询中的逻辑运算符(
AND
、OR
或 NOT
) 不能使用超过5个 ;
敏感信息检索示例
常用搜索语法:
1 2 3 4
| content:<regex> in:description,readme <regex> fork:true in:body in:comments
|
常用正则表达式(regex):`(//)
1 2 3 4 5 6 7 8 9 10 11
| # email (/[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+/)
# host (/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/)
# IP /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/
# secret pass|password|pwd|key|secret|token
|