vulnerabilityhistoryproject / shepherd-tools Goto Github PK
View Code? Open in Web Editor NEWCommand line and APIs for the Vulnerability History Project
License: MIT License
Command line and APIs for the Vulnerability History Project
License: MIT License
We need to port our "find new CVEs" scripts in each case study to vhp update
.
vhp update --project django
vhp update --project tomcat
vhp update --project kernel
vhp update --project chromium
vhp update --project httpd
vhp update --project ffmpeg
vhp update --project struts
vhp update --project systemd
Need to double-check that we're not actively using this, but I'm not sure this is used anymore? And I'm unclear on what it actually does.
So it's easier to get things like fix commits and CVSS
Add the vhp update
script for this project.
Most of these scripts exist in the old project-vulnerabilities repo, but now it's time to consolidate those scripts into vhp update
.
For Tomcat, we have the URLs of the pages and some reasonable parsing routines
vhp find publicvulns
produces incorrect output possibly due to incorrect parsing of renames in fix commits. Shown below is an example from public_vulns-struts-6_month.csv.
plugins/rest/src/main/java/org/apache/struts2/rest/handler/{JacksonJsonHandler.java => JacksonLibHandler.java}
Once #11 is done, let's add a command for adding CWEs
Use the example from httpd to make the migration generator simpler than it is now
Seems like mercenary isn't the most common command line tool out there for Ruby and hasn't gotten as much maintenance as I'd hoped. It would appear that thor
is de facto standard and it might be time to convert over. This would also give us an opportunity to clean up our interface anyway.
vhp find publicvulns
fails with undefined local variable or method
error.
~/vhp/struts-vulnerabilities$ git remote -v
origin https://github.com/vulnerabilityhistoryproject/struts-vulnerabilities (fetch)
origin https://github.com/vulnerabilityhistoryproject/struts-vulnerabilities (push)
~/vhp/struts-vulnerabilities$ git status
HEAD detached at v3.0
nothing to commit, working tree clean
~/vhp/struts-vulnerabilities$ vhp --version
vhp 0.4.0
~/vhp/struts-vulnerabilities$ vhp find publicvulns --repo /scratch/repositories/struts/ --output struts.csv --start
2014-01-01 --end 2019-01-01
Getting vulnerable files list
Period start: 2014-01-01
Period end: 2019-01-01
Writing output file struts.csv
vhp 0.4.0 | Error: undefined local variable or method `result' for #<VHP::VulnerableFileExtractor:0x000055efcad38c08>
~/vhp/struts-vulnerabilities$ cat struts.csv
filepath
The environment in which vhp
fails is as described in the output below.
~/vhp/struts-vulnerabilities$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
~/vhp/struts-vulnerabilities$ ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
~/vhp/struts-vulnerabilities$ rake --version
rake, version 13.0.3
~/vhp/struts-vulnerabilities$ gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.3.4)
bundler (2.2.16)
byebug (11.1.3)
cmath (default: 1.0.0)
csv (default: 1.0.0)
date (default: 1.0.0)
dbm (default: 1.0.0)
did_you_mean (1.2.0)
diff-lcs (1.4.4)
etc (default: 1.0.0)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.0.2)
gdbm (default: 2.0.0)
git (1.5.0)
httparty (0.17.0)
io-console (default: 0.4.6)
ipaddr (default: 1.2.0)
json (default: 2.1.0)
mercenary (0.3.6)
mime-types (3.3.1)
mime-types-data (3.2021.0225)
minitest (5.10.3)
multi_xml (0.6.0)
net-telnet (0.1.1)
openssl (default: 2.1.1)
os (1.1.0)
parallel (1.13.0)
power_assert (0.2.7)
psych (default: 3.0.2)
rake (13.0.3, 12.3.1)
rdoc (default: 6.0.1)
require_all (3.0.0)
rspec (3.10.0)
rspec-core (3.10.1)
rspec-expectations (3.10.1)
rspec-mocks (3.10.2)
rspec-support (3.10.2)
ruby-progressbar (1.10.1)
scanf (default: 1.0.0)
sdbm (default: 1.0.0)
stringio (default: 0.0.1)
strscan (default: 1.0.0)
test-unit (3.2.5)
vhp (0.4.0)
webrick (default: 1.4.2)
zlib (default: 1.0.0)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.