Proof-of-concept (PoC) of exploits for known vulnerabilities are widely shared in the security community. They help security analysts to learn from each other and they facilitate security assessments and red teaming tasks. In the recent years, PoCs have been widely distributed, e.g., via dedicated websites and platforms, and also via public code repositories like GitHub. However, public code repositories do not provide any guarantees that any given PoC comes from a trustworthy source, or even that it simply does exactly what it is supposed to do. In this work we investigate PoCs shared on GitHub for known vulnerabilities discovered in 2017-2021. We discovered that not all PoCs are trustworthy. Some proof-of-concepts are fake (i.e., they do not actually offer PoC functionality), or even malicious: e.g., they attempt to exfiltrate data from the system they are being run on, or they try to install malware on this system. To address this issue, we have proposed an approach to detect if a PoC is malicious. Our approach relies on detecting the symptoms we have observed in the collected dataset, for example, calls to malicious IP addresses, encoded malicious code, or included Trojanized binaries. With this approach, we have discovered 4893 malicious repository out of 47313 repositories that have been downloaded and checked (i.e., 10.3% of the studied repositories have symptoms of malicious intent). This figure shows a worrying prevalence of dangerous malicious PoCs among the exploit code distributed on GitHub.
翻译:安全界广泛分享对已知脆弱性的利用证据概念(PoC), 安全界广泛分享。 安全分析家互相学习, 有助于安全评估, 以及红队任务。 近年来, PoC 被广泛分发, 例如通过专门的网站和平台, 以及GitHub等公共代码库。 但是, 公共代码库并不能提供任何保证, 任何PoC 都来自一个值得信赖的来源, 甚至它只是做了它应该做的。 在这项工作中, 我们调查GitHub 所共享的关于已知脆弱性的PoC 。 我们发现并非所有PoC 都值得信赖。 一些验证概念是伪造的( 例如, 它们实际上不提供 PoC 功能 ), 甚至恶意代码库。 例如, 它们试图从它们运行的系统上提取数据, 或者试图在系统上安装恶意软件。 为了解决这个问题, 我们建议了一种方法来检测在 GitH 之间是否有恶意的 。 我们的方法是检测在 IP 13 的恶意存储库中观察到的症状, 。 我们的方法包括了恶意代码 4 。