github/securitylab

GitHub: github/securitylab

GitHub Security Lab 官方维护的 CodeQL 安全研究资源仓库,汇集了针对真实漏洞的查询示例、概念验证代码和学习资料。

Stars: 1587 | Forks: 284

# GitHub Security Lab 这是 [GitHub Security Lab](https://securitylab.github.com/) 的主要 git 仓库。 我们将其用于以下主要目的: * 我们在我们的 [文档](/docs) 中与社区分享有关安全研究和漏洞披露的一些最佳实践。 * 我们使用 [此仓库的 issues](https://github.com/github/securitylab/issues?q=is%3Aissue+is%3Aopen+label%3A%22All+For+One%22) 来追踪 CodeQL [赏金请求](https://securitylab.github.com/bounties)。 * 我们用它来发布我们的一些概念验证漏洞利用(在漏洞修复之后)。这些 PoC 可以在 [SecurityExploits](SecurityExploits) 子目录中找到。 * CodeQL 查询示例,可以在 [CodeQL_Queries](CodeQL_Queries) 子目录中找到。 ## CodeQL 资源 **这一部分属于你!** 你想与社区分享一个很酷的 CodeQL 查询吗?或者是一个很棒的教程或视频,或者一些有用的工具?欢迎你的贡献。请提交一个 pull request。请参阅下面的 [贡献](#Contributing) 部分。 ### 官方资源 * [CodeQL 文档](https://codeql.github.com/docs/) * [CodeQL GitHub 仓库](https://github.com/github/codeql) ### 示例查询 * Java * [Apache Struts CVE-2018-11776](CodeQL_Queries/java/Apache_Struts_CVE-2018-11776) * [Spring 应用中的不安全 JMS 反序列化](https://github.com/silentsignal/jms-codeql/) * C/C++ * [Apple XNU icmp_error CVE-2018-4407](CodeQL_Queries/cpp/XNU_icmp_error_CVE-2018-4407) * [Facebook Fizz 整数溢出漏洞 (CVE-2019-3560)](CodeQL_Queries/cpp/Facebook_Fizz_CVE-2019-3560) * [libssh2 中的错误码丢失问题](CodeQL_Queries/cpp/libssh2_eating_error_codes) * [Itergator](https://github.com/trailofbits/itergator) - 用于迭代器失效的库和查询([博客文章](https://blog.trailofbits.com/2020/10/09/detecting-iterator-invalidation-with-codeql/)) * Javascript * [Etherpad CVE-2018-6835](CodeQL_Queries/javascript/Etherpad_CVE-2018-6835) * C# * [C# Zip Slip 演示](CodeQL_Queries/csharp/ZipSlip) * GitHub Actions: * [带有显式 PR checkout 的 pull_request_target](https://github.com/github/codeql/blob/main/javascript/ql/src/experimental/Security/CWE-094/UntrustedCheckout.ql) * [来自用户控制的 Actions 上下文的命令注入](https://github.com/github/codeql/blob/main/javascript/ql/src/experimental/Security/CWE-094/ExpressionInjection.ql) ### 文章 * [CodeQL 实战入门](https://jorgectf.gitlab.io/blog/post/practical-codeql-introduction/) ### 视频 * 会议演讲/研讨会: * [使用 CodeQL 发现 JavaScript 中的安全漏洞 - GitHub Satellite 2020](https://www.youtube.com/watch?v=pYzfGaLTqC0) * [使用 CodeQL 发现 Java 中的安全漏洞 - GitHub Satellite 2020](https://www.youtube.com/watch?v=nvCd0Ee4FgE) * [CodeQL 作为审计预言机 - POC 2020](https://www.youtube.com/watch?v=XmAEgl8bVhg) * [mbuf-oflow:在 iOS/MacOS 网络代码中发现漏洞](https://www.youtube.com/watch?v=0EHP2gzwVAY) * Semmle 时代的 CodeQL 演示(简短的 Youtube 视频): * [PII 数据泄露:使用 CodeQL 识别日志中的个人信息](https://www.youtube.com/watch?v=hHaOxbyqy44) * [漏洞狩猎:使用 QL 寻找漏洞利用](https://www.youtube.com/watch?v=irrYp3wdtsw) * [在 Java 中发现不安全的反序列化](https://www.youtube.com/watch?v=XsUcSd75K00) * [在 Libssh2 中发现整数溢出](https://www.youtube.com/watch?v=czXicfULOfk) ### 工具 * 编辑器插件 * [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql) (官方) * [Neovim](https://github.com/pwntester/codeql.nvim) * [Emacs](https://github.com/anticomputer/emacs-codeql) * 代码生成 * [cqlgen](https://github.com/gagliardetto/cqlgen) — 一个用 Go 编写的 codeql 生成库。 * [codemill](https://github.com/gagliardetto/codemill) — 一个带有 Web UI 的 Go 语言 codeql 模型生成器。 ## 免责声明 GitHub Security Lab 提供的建议是善意的,是否应用这些建议最终由接收者自行决定。这适用于通过我们的书面或音频内容、我们的会议、我们在社区空间的回答,或我们的非正式办公时间给出的建议。 ## 贡献 我们欢迎对本 README 的 [CodeQL_Queries](CodeQL_Queries) 子目录和 [CodeQL 资源](#codeql-resources) 部分进行贡献。 如果你编写了一个很酷的 CodeQL 查询并希望与社区分享,请提交一个 pull request 将其添加到 [CodeQL_Queries](CodeQL_Queries) 子目录中。将你的查询放在它自己的新子目录中。例如:`CodeQL_Queries/cpp/mynewsubdir/mycoolquery.ql`。当然,如果你认为你的查询可能有资格获得 [赏金](https://securitylab.github.com/bounties),那么你应该向 [codeql](https://github.com/github/codeql) 仓库提交 pull request,因为对于提交到本仓库的查询,我们不提供赏金。本仓库中的查询通常是仅对特定代码库有意义的高度专业化查询,例如专门针对 [Chrome](CodeQL_Queries/cpp/Chrome) 或 [Apache Struts](CodeQL_Queries/java/Apache_Struts_CVE-2018-11776) 的查询,或者是帮助你探索代码而不一定非要发现漏洞的实用查询。此类查询不适合 [codeql](https://github.com/github/codeql) 仓库,该仓库仅用于通用查询。 如果你想在 README 的 [CodeQL 资源](#codeql-resources) 部分添加链接,以分享一个不错的视频或很棒的工具,只需在相应部分添加另一个要点即可。 * 每个要点应包含一个带超链接的标题和一个简短的描述。如果标题本身已经不言自明,则简短描述是可选的。 * 请在列表底部添加新要点。将来,我们可能会选择其他排序方式(例如按字母顺序),但目前只是一个顺序列表。 有关我们的贡献指南和许可的更多信息,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)、[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 和 [LICENSE.md](LICENSE.md)。
标签:CISA项目, CodeQL, CSharp安全, CVE分析, C++安全, DevSecOps, GHAS, GitHub Security Lab, JavaScript安全, Java安全, JS文件枚举, PoC验证代码, UML, 上游代理, 云安全监控, 云资产清单, 安全专业人员, 安全实验室, 安全评估工具, 客户端加密, 客户端加密, 数据可视化, 文档安全, 漏洞披露, 网络安全, 逆向工程, 隐私保护, 静态分析