前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用PackageDNA检测不同编程语言的软件包安全性

如何使用PackageDNA检测不同编程语言的软件包安全性

作者头像
FB客服
发布2021-10-11 15:34:32
5130
发布2021-10-11 15:34:32
举报
文章被收录于专栏:FreeBuf

关于PackageDNA

PackageDNA是一款功能强大的代码安全检测工具。在很多场景中,我们往往会在自己的代码或项目中使用其他的软件包。而该工具可以帮助广大开发人员、研究人员和组织分析采用不同编程语言开发的软件包安全,并提供相关软件包的安全信息,使我们能够提前知道此软件库是否符合安全开发流程。

PackageDNA可以帮助我们检测目标软件包中可能的后门、嵌入的恶意代码、输入错误分析、版本历史记录和CVE漏洞等信息。

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/ElevenPaths/packagedna

PackageDNA使用了python-magic,即针对libmagic C代码库的一个简单封装,因此我们同样需要安装好这个库。

Debian/Ubuntu

代码语言:javascript
复制
$ sudo apt-get install libmagic1

macOS

代码语言:javascript
复制
brew install libmagic

port install file

Windows

代码语言:javascript
复制
pip install https://pypi.python.org/pypi/python-magic-bin/0.4.14

接下来,运行下列安装脚本:

代码语言:javascript
复制
python3 setup.py install --user

外部模块

PackageDNA使用了外部模块来实现其分析功能,因此同样需要预先安装下列外部模块。

Microsoft AppInpsector

代码语言:javascript
复制
https://github.com/microsoft/ApplicationInspector

Virus Total API

代码语言:javascript
复制
https://www.virustotal.com/

LibrariesIO API

代码语言:javascript
复制
https://libraries.io/

Rubocop

代码语言:javascript
复制
https://github.com/rubocop/rubocop

安装之后,你就可以直接配置外部模块了:

代码语言:javascript
复制
[1] VirusTotal API Key: Your API KEY

[2] AppInspector absolute path: /Local/Path/MSAppInpsectorInstallation

[3] Libraries.io API Key: Your API KEY

[4] Github Token: Your Token

[B] Back

[X] Exit

注意:外部模块并不是必须的,不安装外部模块PackageDNA也能继续执行,但我们建议广大用户安装这些模块,以便工具执行完整的分析。

运行PackageDNA

打开命令行终端,切换到项目根目录,并运行下列命令:

代码语言:javascript
复制
./packagedna.py

_____              _                          ____     __     _  _______

|  __ \            | |                        |  __ \  |   \  | ||  ___  |

| |__) |__ __ ____ | | __   __ __  ____   ___ | |  \ \ | |\ \ | || |___| |

|  ___// _` |/  __)| |/ /  / _` | / _  | / _ \| |   | || | \ \| ||  ___  |

| |   | (_| || (__ | |\ \ | (_| || (_| ||  __/| |__/ / | |  \   || |   | |

|_|    \__,_|\____)|_| \_\ \__,_| \__  | \___||_____/  |_|   \__||_|   |_|

                                   __| |

                                  (____|

Modular Packages Analyzer Framework

By ElevenPaths https://www.elevenpaths.com/

Usage: python3 ./packagedna.py

[*] -------------------------------------------------------------------------------------------------------------- [*]

[!] Select from the menu:

[*] -------------------------------------------------------------------------------------------------------------- [*]

[1] 分析包(最新版本)

[2] 分析包(所有版本)

[3] 分析本地包

[4] 信息收集

[5] 上传文件并分析所有包

[6] 列出之前分析过的包

[7] 工具配置

[X] 退出

[*] -------------------------------------------------------------------------------------------------------------- [*]

[!] Enter your selection:

项目地址

PackageDNA:点击阅读原文

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于PackageDNA
  • 工具安装
    • macOS
      • Windows
      • 外部模块
        • Microsoft AppInpsector
          • Virus Total API
            • LibrariesIO API
              • Rubocop
              • 运行PackageDNA
              • 项目地址
              相关产品与服务
              检测工具
              域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档