我正在专门查看emacs头盔,它具有以下属性:
- 它有成千上万的提交
 - 它主要由一个用户维护
 - 该维护者没有其他个人资料(社交媒体等),可以通过几次搜索找到
 - 它是积极维护(今天)
 
由于我要在计算机上安装任意代码以在文本编辑器中使用,因此我想验证此代码是否经过了任何审查过程。我想说的是“好吧,它是开源的”,但是我离自己审核所有代码的能力还很远。我想假设社区中的其他人已经对其进行了审查,但其中一项可能是错误的,其中有两项是最新的提交。我还缺少其他策略吗?
记录起来很简单:如果贡献者使用的是一次性帐户,或者没有审查程序,那么“开源”就没有多大关系。
                
                6
              
                  “ 验证 ”是一个大词。用这个词的常规意义来说,我认为答案是“您不(您不能)”。您可以跟踪图书馆的开发活动,还可以检查数字签名等,但是我相信没有什么可以确定的。
                
                
                  
                    —
                    德鲁
                    
                  
                
              
                  好问题。FWIW,Emacs随附的代码已经过审核(通过emacs-diffs邮件列表),但是如果某些贡献者要添加安全漏洞,我敢肯定他能够做到这一点而不会被注意到。当然,如果在Emacs中已经没有很多大的意外安全漏洞,我会感到惊讶,因此我不确定这可能有多少问题。因此,我认为,为了能够获得更加令人放心的答案,需要将注意力集中在特定的简单威胁上(例如,检查代码是否执行某种非隐藏监视应该相当容易)。
                
                
                  
                    —
                    Stefan 2015年
                    
                  
                
              
                  维护者多年来一直活跃在emacs devel上,可以通过搜索进行验证,因此可以保证:lists.gnu.org/archive/cgi-bin/…–
                
                
                  
                    —
                     Tom 
                    
                  
                
              
                  @Stefan,我只是想抽查。从我的角度来看,
                
                  
                    —
                    abo-abo 
                    
                  
                
              mapatoms可以用投入的“危险”组在一起start-process,eval和funcall。当然会有一些误报,但是,如果程序包不使用任何这些功能,则可以肯定地将其标记为无害。
                
                  您需要添加新的
                
                  
                    —
                    Stefan 
                    
                  
                
              make-process,以及call-process,dbus-<foo>,make-network-stream,然后vc-do-command,vc-git-command,...而且如果你把eval和funcall在“危险”的范畴,那么大多数/所有的包都是危险的。