您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“怎么使用VulnerableCode查看受漏洞影響的FOSS軟件代碼包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么使用VulnerableCode查看受漏洞影響的FOSS軟件代碼包”吧!
VulnerableCode是一個(gè)免費(fèi)的開放FOSS軟件包漏洞數(shù)據(jù)庫(kù),并且還包含了能夠創(chuàng)建并跟蹤當(dāng)前數(shù)據(jù)的相關(guān)工具。在該工具的幫助下,廣大研究人員能夠查看受漏洞影響的代碼包,并實(shí)現(xiàn)漏洞的聚合、關(guān)聯(lián)和管理。
FOSS,即Free and Open Source Software,這是聯(lián)合國(guó)教科文組織啟用的一個(gè)官方術(shù)語(yǔ)?!癋OSS產(chǎn)業(yè)”是有新意的,嚴(yán)格講來,它不完全等同于“開源產(chǎn)業(yè)”。FOSS把現(xiàn)代軟件業(yè)帶入一個(gè)全新階段?!癋OSS”的中譯文是“自由及開源軟件”。
VulnerableCode是FOSS社區(qū)開發(fā)的一款工具,它能夠提升開源軟件生態(tài)系統(tǒng)的安全性。
VulnerableCode獨(dú)立地聚合了許多軟件漏洞數(shù)據(jù)源,并以去中心化的方式支持?jǐn)?shù)據(jù)重新創(chuàng)建。這些數(shù)據(jù)源包括Linux和BSD發(fā)行版發(fā)布的安全建議、應(yīng)用程序軟件包管理器和包存儲(chǔ)庫(kù)、FOSS項(xiàng)目、GitHub等等。由于這種方法,數(shù)據(jù)集中在特定的生態(tài)系統(tǒng)上,但在單個(gè)數(shù)據(jù)庫(kù)中進(jìn)行聚合,從而能夠查詢代碼包之間更豐富的關(guān)系圖。特定性提高了數(shù)據(jù)的準(zhǔn)確性和有效性,因?yàn)榭绮煌鷳B(tài)系統(tǒng)的同一版本上游數(shù)據(jù)包可能會(huì)或可能不會(huì)受到同一漏洞的影響。
工具使用了Package URL PURL來作為主要標(biāo)識(shí)符,而沒有使用CPE。VulnerableCode對(duì)數(shù)據(jù)的主要訪問是通過REST API進(jìn)行的。
此外,工具還提供了一個(gè)高級(jí)的Web界面來幫助用戶更好地瀏覽和搜索漏洞數(shù)據(jù)庫(kù),并通過添加新的包和漏洞逐步實(shí)現(xiàn)數(shù)據(jù)的社區(qū)管理,以及審查和更新它們的關(guān)系。
我們需要使用下列命令將該項(xiàng)目源碼克隆至本地:
git clone https://github.com/nexB/vulnerablecode.git cd vulnerablecode
安裝VulnerableCode最簡(jiǎn)單的方法就是使用Docker容器和Docker Compose。安裝好Docker引擎和Docker Compose之后,我們就可以使用下列命令來啟動(dòng)VulnerableCode了:
sudo docker-compose up
接下來,通過下列地址即可訪問VulnerableCode:
http://localhost:8000/ http://127.0.0.1:8000/
別忘了運(yùn)行蝦類命令來在每一次git pull之后同步你的實(shí)例:
sudo docker-compose up -d --no-deps --build web
然后,我們可以使用下列命令來訪問VulnerableCode容器,這里我們可以訪問manage.py,并運(yùn)行管理命令來導(dǎo)入數(shù)據(jù):
sudo docker-compose exec web bash
系統(tǒng)要求:
Python 3.8+
PostgreSQL 9+
針對(duì)Python和PostgreSQL的編譯工具鏈和開發(fā)文件
在基于Debian的發(fā)行版系統(tǒng)上,可以使用下列下列命令安裝和配置VulnerableCode:
sudo apt-get install python3-venv python3-dev postgresql libpq-dev build-essential sudo -u postgres createuser --no-createrole --no-superuser --login \ --inherit --createdb --pwprompt vulnerablecode`` createdb --encoding=utf-8 --owner=vulnerablecode --user=vulnerablecode \ --password --host=localhost --port=5432 vulnerablecode python3 -m venv venv source venv/bin/activate pip install -r requirements.txt DJANGO_DEV=1 python manage.py collectstatic DJANGO_DEV=1 python manage.py migrate
下列命令可以運(yùn)行代碼風(fēng)格檢測(cè)和測(cè)試用例:
black -l 100 --check . DJANGO_DEV=1 python -m pytest
某些數(shù)據(jù)導(dǎo)入工具使用了GitHub API,首先我們需要使用下列命令導(dǎo)出GH_TOKEN環(huán)境變量:
export GH_TOKEN=yourgithubtoken
運(yùn)行所有的數(shù)據(jù)導(dǎo)入器:
DJANGO_DEV=1 python manage.py import --all
枚舉所有可用的導(dǎo)入器:
DJANGO_DEV=1 python manage.py import --list
運(yùn)行指定導(dǎo)入器:
DJANGO_DEV=1 python manage.py import rust npm
開啟Web服務(wù)器:
DJANGO_DEV=1 python manage.py runserver
獲取關(guān)于API節(jié)點(diǎn)的完整文檔:
http://127.0.0.1:8000/api/docs
如果你想要持續(xù)定期導(dǎo)入數(shù)據(jù),你可以使用一個(gè)系統(tǒng)定時(shí)器:
$ cat ~/.config/systemd/user/vulnerablecode.service [Unit] Description=Update vulnerability database [Service] Type=oneshot Environment="DJANGO_DEV=1" ExecStart=/path/to/venv/bin/python /path/to/vulnerablecode/manage.py import --all $ cat ~/.config/systemd/user/vulnerablecode.timer [Unit] Description=Periodically update vulnerability database [Timer] OnCalendar=daily [Install] WantedBy=multi-user.target
配置好之后,你就可以使用下列命令來開啟這個(gè)定時(shí)器:
systemctl --user daemon-reload systemctl --user start vulnerablecode.timer
VulnerableCode:https://github.com/nexB/vulnerablecode
https://nvd.nist.gov/products/cpe
https://github.com/nexB/vulnerablecode/blob/main/SOURCES.rst
https://github.com/package-url/purl-spec
https://github.com/nexB/vulnerablecode/blob/main/docs/Why-Is-There-No-Free-Software-Vulnerability-Database-v1.0.pdf
https://docs.docker.com/get-docker/
https://docs.docker.com/compose/install/#install-compose
https://nixos.org/download.html
https://github.com/DavHau/mach-nix
https://github.com/DavHau/pypi-deps-db
https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token
到此,相信大家對(duì)“怎么使用VulnerableCode查看受漏洞影響的FOSS軟件代碼包”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。