Vuls is an agentless vulnerability scanner written in golang.

It can scan localhost or remote hosts via SSH. Vuls has a Terminal-Based User
Interface(TUI) to display the scan results.

Vuls' features include:

* scan for vulnerabilitie in Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Oracle Linux, FreeBSD and Raspbian;
* scan middleware that are not included in OS package management;
* nondestructive testing;
* email and slack notification.

WWW: https://github.com/future-architect/vuls

PR:		220328
Submitted by:	Alexandru Ciobanu <iscandr@gmail.com> (maintainer)
Reviewed by:	matthew (mentor), mat
Approved by:	matthew (mentor)
Differential Revision:	https://reviews.freebsd.org/D11746
This commit is contained in:
Richard Gallamore 2017-07-28 18:28:41 +00:00
parent fda3db8dd1
commit 82fd28fcab
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=446844
12 changed files with 541 additions and 0 deletions

View file

@ -1218,6 +1218,7 @@
SUBDIR += vm-to-tor
SUBDIR += vnccrack
SUBDIR += vpnc
SUBDIR += vuls
SUBDIR += vuxml
SUBDIR += vxquery
SUBDIR += w3af

166
security/vuls/Makefile Normal file
View file

@ -0,0 +1,166 @@
# $FreeBSD$
PORTNAME= vuls
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.0-19
DISTVERSIONSUFFIX= -g7ecd09f
CATEGORIES= security
MAINTAINER= iscandr@gmail.com
COMMENT= Agentless vulnerability scanner
LICENSE= GPLv3
RUN_DEPENDS= ${LOCALBASE}/bin/go-cve-dictionary:security/go-cve-dictionary
USES= go:1.7.1+
USE_GITHUB= yes
GH_ACCOUNT= future-architect
GH_SUBDIR= src/github.com/${GH_ACCOUNT_DEFAULT}/${PORTNAME}
GH_TUPLE+= Azure:azure-sdk-for-go:2629e2d:azuresdkforgo/src/github.com/Azure/azure-sdk-for-go
GH_TUPLE+= Azure:azure-storage-go:12ccaad:azurestoragego/src/github.com/Azure/azure-storage-go
GH_TUPLE+= Azure:go-autorest:v8.1.0:azuregoautorest/src/github.com/Azure/go-autorest
GH_TUPLE+= BurntSushi:toml:2ceedfe:toml/src/github.com/BurntSushi/toml
GH_TUPLE+= aws:aws-sdk-go:v1.10.3:awssdkgo/src/github.com/aws/aws-sdk-go
GH_TUPLE+= jroimartin:gocui:612b0b2:gocui/src/github.com/jroimartin/gocui
GH_TUPLE+= go-redis:redis:v6.5.0:redis/src/github.com/go-redis/redis
GH_TUPLE+= mattn:go-colorable:v0.0.8:gocolorable/src/github.com/mattn/go-colorable
GH_TUPLE+= mattn:go-runewidth:97311d9:gorunewidth/src/github.com/mattn/go-runewidth
GH_TUPLE+= mattn:go-isatty:v0.0.2:goisatty/src/github.com/mattn/go-isatty
GH_TUPLE+= mattn:go-sqlite3:v1.2.0:gosqlite3/src/github.com/mattn/go-sqlite3
GH_TUPLE+= kotakanbe:go-cve-dictionary:d47709b:gocvedictionary/src/github.com/kotakanbe/go-cve-dictionary
GH_TUPLE+= kotakanbe:logrus-prefixed-formatter:e7519b8:logrusprefixedformatter/src/github.com/kotakanbe/logrus-prefixed-formatter
GH_TUPLE+= camlistore:go4:034d17a:go4syncutil/src/go4.org
GH_TUPLE+= asaskevich:govalidator:v6:govalidator/src/github.com/asaskevich/govalidator
GH_TUPLE+= boltdb:bolt:v1.3.0:bolt/src/github.com/boltdb/bolt
GH_TUPLE+= cenkalti:backoff:v1.0.0:backoff/src/github.com/cenkalti/backoff
GH_TUPLE+= cheggaaa:pb:v2.0.4:pb/src/gopkg.in/cheggaaa/pb.v2
GH_TUPLE+= dgrijalva:jwt-go:v3.0.0:jwtgo/src/github.com/dgrijalva/jwt-go
GH_TUPLE+= gosuri:uitable:36ee7e9:uitable/src/github.com/gosuri/uitable
GH_TUPLE+= howeyc:gopass:bf9dde6:gopass/src/github.com/howeyc/gopass
GH_TUPLE+= jinzhu:gorm:eae7f6b:gorm/src/github.com/jinzhu/gorm
GH_TUPLE+= jinzhu:inflection:1c35d90:inflection/src/github.com/jinzhu/inflection
GH_TUPLE+= k0kubun:pp:v2.3.0:pp/src/github.com/k0kubun/pp
GH_TUPLE+= kotakanbe:go-pingscanner:v0.1.0:gopingscanner/src/github.com/kotakanbe/go-pingscanner
GH_TUPLE+= satori:go.uuid:5bf94b6:gouuid/src/github.com/satori/uuid
GH_TUPLE+= sirupsen:logrus:v1.0.0:logrus/src/github.com/sirupsen/logrus
GH_TUPLE+= mgutz:ansi:9520e82:ansi/src/github.com/mgutz/ansi
GH_TUPLE+= mgutz:minimist:39eb8cf:minimist/src/github.com/mgutz/minimist
GH_TUPLE+= mgutz:str:968bf66:str/src/github.com/mgutz/str
GH_TUPLE+= mgutz:to:00c0640:to/src/github.com/mgutz/to
GH_TUPLE+= mgutz:goa:d673c4f:goa/src/github.com/mgutz/goa
GH_TUPLE+= nozzle:throttler:d9b45f1:throttler/src/github.com/nozzle/throttler
GH_TUPLE+= denisenkom:go-mssqldb:a8b933e:gomssqldb/src/github.com/denisenkom/go-mssqldb
GH_TUPLE+= go-sql-driver:mysql:v1.3:mysql/src/github.com/go-sql-driver/mysql
GH_TUPLE+= lib:pq:8837942:pq/src/github.com/lib/pq
GH_TUPLE+= nsf:termbox-go:72800b7:termboxgo/src/github.com/nsf/termbox-go
GH_TUPLE+= parnurzeal:gorequest:v0.2.15:gorequest/src/github.com/parnurzeal/gorequest
GH_TUPLE+= moul:http2curl:4e24498:http2curl/src/github.com/moul/http2curl
GH_TUPLE+= pkg:errors:c605e28:pkgerrors/src/github.com/pkg/errors
GH_TUPLE+= rifflock:lfshook:1.6:lfshook/src/github.com/rifflock/lfshook
GH_TUPLE+= labstack:echo:bc173df:echo/src/github.com/labstack/echo
GH_TUPLE+= labstack:gommon:1121fd3:gommon/src/github.com/labstack/gommon
GH_TUPLE+= shopspring:decimal:16a9418:decimal/src/github.com/shopspring/decimal
GH_TUPLE+= valyala:fasthttp:0f5182f:fasthttp/src/github.com/valyala/fasthttp
GH_TUPLE+= valyala:fasttemplate:dcecefd:fasttemplate/src/github.com/valyala/fasttemplate
GH_TUPLE+= valyala:bytebufferpool:e746df9:bytebufferpool/src/github.com/valyala/bytebufferpool
GH_TUPLE+= valyala:tcplisten:ceec8f9:tcplisten/src/github.com/valyala/tcplisten
GH_TUPLE+= PuerkitoBio:goquery:v1.1.0:goquery/src/github.com/PuerkitoBio/goquery
GH_TUPLE+= fatih:color:v1.5.0:colorv1/src/gopkg.in/fatih/color.v1
GH_TUPLE+= andybalholm:cascadia:349dd02:cascadia/src/github.com/andybalholm/cascadia
GH_TUPLE+= GoogleCloudPlatform:google-cloud-go:v0.9.0:googlecloudgo/src/cloud.google.com/go
GH_TUPLE+= google:subcommands:ce3d4cf:subcommands/src/github.com/google/subcommands
GH_TUPLE+= googleapis:gax-go:84ed267:gaxgo/src/github.com/googleapis/gax-go
GH_TUPLE+= google:google-api-go-client:1ba364a:googleapigoclient/src/google.golang.org/api
GH_TUPLE+= google:go-genproto:aa2eb68:gogenproto/src/google.golang.org/genproto
GH_TUPLE+= golang:oauth2:f047394:oauth2/src/golang.org/x/oauth2
GH_TUPLE+= golang:crypto:ed779e1:crypto/src/golang.org/x/crypto
GH_TUPLE+= golang:net:5f8847a:golangnet/src/golang.org/x/net
GH_TUPLE+= golang:text:4e9ab9e:golangtext/src/golang.org/x/text
GH_TUPLE+= golang:tools:e6cb469:golangtools/src/golang.org/x/tools
GH_TUPLE+= golang:debug:e48e171:debug/src/golang.org/x/debug
GH_TUPLE+= golang:sync:f52d181:sync/src/golang.org/x/sync
GH_TUPLE+= golang:time:8be79e1:time/src/golang.org/x/time
GH_TUPLE+= golang:sys:c23410a:sys/src/golang.org/x/sys
GH_TUPLE+= golang:geo:f65fe01:geo/src/github.com/golang/geo
GH_TUPLE+= golang:glog:23def4e:glog/src/github.com/golang/glog
GH_TUPLE+= golang:protobuf:6a1fa94:protobuf/src/github.com/golang/protobuf
GH_TUPLE+= golang:mock:93f6609:mock/src/github.com/golang/mock
GH_TUPLE+= grpc:grpc-go:v1.4.2:grpcgo/src/google.golang.org/grpc
GH_TUPLE+= VividCortex:ewma:v1.0:ewma/src/gopkg.in/VividCortex/ewma.v1
GH_TUPLE+= MichaelTJones:walk:4748e29:mtjwalk/src/github.com/MichaelTJones/walk
GH_TUPLE+= go-godo:godo:v1.4.5:gogodov1/src/gopkg.in/godo.v1
GH_TUPLE+= go-godo:godo:v2.0.9:gogodo/src/gopkg.in/godo.v2
GH_TUPLE+= gokyle:fswatch:1dbdf83:walk/src/github.com/gokyle/fswatch
GH_TUPLE+= klauspost:compress:v1.2.1:compress/src/github.com/klauspost/compress
GH_TUPLE+= klauspost:cpuid:09cded8:cpuid/src/github.com/klauspost/cpuid
GH_TUPLE+= klauspost:crc32:1bab8b3:crc32/src/github.com/klauspost/crc32
GH_TUPLE+= stretchr:testify:f6abca5:testify/src/github.com/stretchr/testify
GH_TUPLE+= gorilla:websocket:v1.2.0:websocket/src/github.com/gorilla/websocket
GH_TUPLE+= kardianos:osext:ae77be6:osext/src/github.com/kardianos/osext
GH_TUPLE+= facebookgo:grace:4afe952:grace/src/github.com/facebookgo/grace
GH_TUPLE+= facebookgo:httpdown:a3b1354:httpdown/src/github.com/facebookgo/httpdown
GH_TUPLE+= facebookgo:clock:600d898:clock/src/github.com/facebookgo/clock
GH_TUPLE+= facebookgo:stats:1b76add:stats/src/github.com/facebookgo/stats
GH_TUPLE+= GeertJohan:go.rice:c02ca9a:gorice/src/github.com/GeertJohan/go.rice
GH_TUPLE+= GeertJohan:go.incremental:1172aab:goincremental/src/github.com/GeertJohan/go.incremental
GH_TUPLE+= daaku:go.zipexe:a5fe243:gozipexe/src/github.com/daaku/go.zipexe
GH_TUPLE+= davecgh:go-spew:346938d:gospew/src/github.com/davecgh/go-spew
GH_TUPLE+= akavel:rsrc:ba14da1:rsrc/src/github.com/akavel/rsrc
GH_TUPLE+= jessevdk:go-flags:5695738:goflags/src/github.com/jessevdk/go-flags
GH_TUPLE+= tylerb:graceful:v1.2.15:graceful/src/gopkg.in/tylerb/graceful.v1
GH_TUPLE+= airbrake:gobrake:v2.0.9:gobrake/src/gopkg.in/airbrake/gobrake.v2
GH_TUPLE+= gemnasium:logrus-airbrake-hook:v2.1.2:logrusairbrakehook/src/gopkg.in/gemnasium/logrus-airbrake-hook.v2
GH_TUPLE+= urfave:negroni:460c556:negroni/src/github.com/urfave/negroni
PLIST_FILES= bin/${PORTNAME} \
"@sample ${ETCDIR}/config.toml.sample"
post-patch:
@${REINPLACE_CMD} -e 's|Sirupsen|sirupsen|' \
${WRKSRC}/cache/bolt.go \
${WRKSRC}/cache/bolt_test.go \
${WRKSRC}/commands/discover.go \
${WRKSRC}/config/config.go \
${WRKSRC}/config/tomlloader.go \
${WRKSRC}/report/slack.go \
${WRKSRC}/report/tui.go \
${WRKSRC}/scan/base.go \
${WRKSRC}/scan/debian_test.go \
${WRKSRC}/scan/executil.go \
${WRKSRC}/util/logutil.go \
${WRKSRC}/src/github.com/kotakanbe/go-cve-dictionary/log/log.go \
${WRKSRC}/src/github.com/kotakanbe/logrus-prefixed-formatter/formatter.go \
${WRKSRC}/src/github.com/kotakanbe/logrus-prefixed-formatter/examples/basic.go \
${WRKSRC}/src/github.com/rifflock/lfshook/lfshook.go
@${REINPLACE_CMD} -e 's|github.com/cheggaaa/pb|gopkg.in/cheggaaa/pb.v2|' \
${WRKSRC}/src/github.com/kotakanbe/go-cve-dictionary/db/db.go \
${WRKSRC}/src/github.com/kotakanbe/go-cve-dictionary/jvn/jvn.go \
${WRKSRC}/src/github.com/kotakanbe/go-cve-dictionary/nvd/nvd.go
@${REINPLACE_CMD} -e 's|github.com/tylerb/graceful|gopkg.in/tylerb/graceful.v1|' \
${WRKSRC}/src/github.com/labstack/echo/recipe/graceful-shutdown/graceful/server.go
@${REINPLACE_CMD} -e 's|gopkg.in/mattn/go-runewidth.v0|github.com/mattn/go-runewidth|' \
${WRKSRC}/src/gopkg.in/cheggaaa/pb.v2/util.go
@${REINPLACE_CMD} -e 's|gopkg.in/mattn/go-colorable.v0|github.com/mattn/go-colorable|' \
${WRKSRC}/src/gopkg.in/cheggaaa/pb.v2/pb.go
@${REINPLACE_CMD} -e 's|gopkg.in/mattn/go-isatty.v0|github.com/mattn/go-isatty|' \
${WRKSRC}/src/gopkg.in/cheggaaa/pb.v2/pb.go
@${REINPLACE_CMD} -e 's|%%ETCDIR%%|${ETCDIR}|' \
${WRKSRC}/commands/configtest.go \
${WRKSRC}/commands/report.go \
${WRKSRC}/commands/scan.go
do-build:
@cd ${GO_WRKSRC} && \
${SETENV} ${MAKE_ENV} ${GO_ENV} GOPATH=${WRKSRC} \
${GO_CMD} build -v -x -ldflags "-X main.version=${PORTVERSION}" \
-o ${WRKSRC}/${PORTNAME}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${FILESDIR}/config.toml.sample ${STAGEDIR}${ETCDIR}
.include <bsd.port.mk>

193
security/vuls/distinfo Normal file
View file

@ -0,0 +1,193 @@
TIMESTAMP = 1501177779
SHA256 (future-architect-vuls-v0.3.0-19-g7ecd09f_GH0.tar.gz) = 674c623ab3dfd1468fda9f61f60021425c2abe570fd59a1ba17afa027b15dadd
SIZE (future-architect-vuls-v0.3.0-19-g7ecd09f_GH0.tar.gz) = 1251380
SHA256 (Azure-azure-sdk-for-go-2629e2d_GH0.tar.gz) = 24097a626ea33e50fed2f6dbda921f7980c9082bf904289b6d9a03ecdb4bf740
SIZE (Azure-azure-sdk-for-go-2629e2d_GH0.tar.gz) = 974693
SHA256 (Azure-azure-storage-go-12ccaad_GH0.tar.gz) = 39c440b0e9eac252ef47175de3a5dd94e4ffa3de72a01a82416cd0a548875784
SIZE (Azure-azure-storage-go-12ccaad_GH0.tar.gz) = 50836
SHA256 (Azure-go-autorest-v8.1.0_GH0.tar.gz) = 32c7d963f056dcaf59262897f8c72f612703a99c0a2e006e10266e6314f1fa65
SIZE (Azure-go-autorest-v8.1.0_GH0.tar.gz) = 85241
SHA256 (BurntSushi-toml-2ceedfe_GH0.tar.gz) = 60643ab230129be2fa75c2731ee3a1d17c2c06364f0680d9b99a8365de637657
SIZE (BurntSushi-toml-2ceedfe_GH0.tar.gz) = 33498
SHA256 (aws-aws-sdk-go-v1.10.3_GH0.tar.gz) = ef56134fceb8d6f0139e9a1c4c30bf1824bf8316eb36968a55fdf63446d89fe8
SIZE (aws-aws-sdk-go-v1.10.3_GH0.tar.gz) = 6930947
SHA256 (jroimartin-gocui-612b0b2_GH0.tar.gz) = b494beee95c461b7faa5525ab445c26830bff3273cd916d6bd176cc9bd247fa0
SIZE (jroimartin-gocui-612b0b2_GH0.tar.gz) = 27711
SHA256 (go-redis-redis-v6.5.0_GH0.tar.gz) = 992b27dee80639c3605b99525adf76e5e76e4d1acd7e1e97476c5d0446e0d0b8
SIZE (go-redis-redis-v6.5.0_GH0.tar.gz) = 72475
SHA256 (mattn-go-colorable-v0.0.8_GH0.tar.gz) = 4f7b0196c6d7a7be96ba394c94860384b537cec6e0da57951bccda0d42c1c23c
SIZE (mattn-go-colorable-v0.0.8_GH0.tar.gz) = 7526
SHA256 (mattn-go-runewidth-97311d9_GH0.tar.gz) = 8330497728f75464111ee7145fc97cfa588cb0d6561b3af5447aa05d489bca85
SIZE (mattn-go-runewidth-97311d9_GH0.tar.gz) = 22384
SHA256 (mattn-go-isatty-v0.0.2_GH0.tar.gz) = c0681d72b185a8d4aa8f6a557d181bf25c6e3e7f3874711de507e550b25408bf
SIZE (mattn-go-isatty-v0.0.2_GH0.tar.gz) = 3258
SHA256 (mattn-go-sqlite3-v1.2.0_GH0.tar.gz) = ec21a30c397d0d3153d54b3aa71065481dd9702819006fb8bc0443a6ab47caa8
SIZE (mattn-go-sqlite3-v1.2.0_GH0.tar.gz) = 1998473
SHA256 (kotakanbe-go-cve-dictionary-d47709b_GH0.tar.gz) = b149ede0909d1bcfa024c81c246abb556f035fa40def6c8b2709ec5a82202aec
SIZE (kotakanbe-go-cve-dictionary-d47709b_GH0.tar.gz) = 23334
SHA256 (kotakanbe-logrus-prefixed-formatter-e7519b8_GH0.tar.gz) = e14b91af06bc0a752c97519dff4accf4a03547cbb9dd2ba197a9420fb3f14303
SIZE (kotakanbe-logrus-prefixed-formatter-e7519b8_GH0.tar.gz) = 3862
SHA256 (camlistore-go4-034d17a_GH0.tar.gz) = 1c9111f937747660e5cee7c6c435d010011d6fe506df5603b88cce4dd102f39c
SIZE (camlistore-go4-034d17a_GH0.tar.gz) = 78850
SHA256 (asaskevich-govalidator-v6_GH0.tar.gz) = 17ee798f3758885e6ed6f1cfc81033c3aca4c15a9d2b3856a01e648ffb46f0a0
SIZE (asaskevich-govalidator-v6_GH0.tar.gz) = 39610
SHA256 (boltdb-bolt-v1.3.0_GH0.tar.gz) = e417fccc1186dcf8807e3b2a7afb31bad31faf2ca383d203002a7d783c872f13
SIZE (boltdb-bolt-v1.3.0_GH0.tar.gz) = 80322
SHA256 (cenkalti-backoff-v1.0.0_GH0.tar.gz) = a9511bd60331870455f89c69892ec5c90131e4c0f973f7e25f4f4a88ce95a4a2
SIZE (cenkalti-backoff-v1.0.0_GH0.tar.gz) = 7002
SHA256 (cheggaaa-pb-v2.0.4_GH0.tar.gz) = 21388e5df7bed43ae2b8157a4e17b85ef416ca4925723ddc182f43e3fc719225
SIZE (cheggaaa-pb-v2.0.4_GH0.tar.gz) = 17205
SHA256 (dgrijalva-jwt-go-v3.0.0_GH0.tar.gz) = af12bdfbfb897c4a5c86aeffd11cab35ee18ab0180b1a6e22e1a1a61d9f70543
SIZE (dgrijalva-jwt-go-v3.0.0_GH0.tar.gz) = 33451
SHA256 (gosuri-uitable-36ee7e9_GH0.tar.gz) = 4742cc0ea0b751eb046a8f4afaff943a8d38ee0925b89e39e5234a6fdaee5807
SIZE (gosuri-uitable-36ee7e9_GH0.tar.gz) = 6858
SHA256 (howeyc-gopass-bf9dde6_GH0.tar.gz) = 365806397c1f279fbb45b86562c43e6f112e8a81cf788df5ea356a18c80f6537
SIZE (howeyc-gopass-bf9dde6_GH0.tar.gz) = 11287
SHA256 (jinzhu-gorm-eae7f6b_GH0.tar.gz) = aff8d777868e65751deadff1353949cdc1c8c0680e4f687c2fa9311fdb6dfe74
SIZE (jinzhu-gorm-eae7f6b_GH0.tar.gz) = 79432
SHA256 (jinzhu-inflection-1c35d90_GH0.tar.gz) = 9403d9051e6fb253555c83261ce4c9ff9cb0210a4f326b8568b18d3e1bfbed24
SIZE (jinzhu-inflection-1c35d90_GH0.tar.gz) = 4499
SHA256 (k0kubun-pp-v2.3.0_GH0.tar.gz) = e411569ac6fe6413b24b63765fd9d6b7cbb03d162068c31186db947aeaf4b0b8
SIZE (k0kubun-pp-v2.3.0_GH0.tar.gz) = 8778
SHA256 (kotakanbe-go-pingscanner-v0.1.0_GH0.tar.gz) = 8be39850ce4db2cdf3a7d6c99d5b875c820beecc18e21e8e4bc95e143526e32d
SIZE (kotakanbe-go-pingscanner-v0.1.0_GH0.tar.gz) = 5681
SHA256 (satori-go.uuid-5bf94b6_GH0.tar.gz) = eb26d69da0a36d9318183dd4a15b162cf8d6e4493f6c12ae635ba0a072e06da1
SIZE (satori-go.uuid-5bf94b6_GH0.tar.gz) = 7607
SHA256 (sirupsen-logrus-v1.0.0_GH0.tar.gz) = de40c5f36b126217234cf5d40def87ce26789ce95c8f887b229b9f2ea1e3ed6b
SIZE (sirupsen-logrus-v1.0.0_GH0.tar.gz) = 27996
SHA256 (mgutz-ansi-9520e82_GH0.tar.gz) = eed589c0869270ea90e776fa623a0a29a5973f2acc86fbf305573b4861887140
SIZE (mgutz-ansi-9520e82_GH0.tar.gz) = 4870
SHA256 (mgutz-minimist-39eb8cf_GH0.tar.gz) = cf088f7d8ad63f70204a9d6663839c4fb0015ef479170676ef215521ecf5c4ed
SIZE (mgutz-minimist-39eb8cf_GH0.tar.gz) = 4016
SHA256 (mgutz-str-968bf66_GH0.tar.gz) = 58ea322f5c33e658deaf7d032ffc67c48772bd320089b0ac982a22221b4c9805
SIZE (mgutz-str-968bf66_GH0.tar.gz) = 13310
SHA256 (mgutz-to-00c0640_GH0.tar.gz) = 6a04f1236663adba88b2cf3c84a45e0d6aa8579383a8d2fca9b56fee038b1ee6
SIZE (mgutz-to-00c0640_GH0.tar.gz) = 8038
SHA256 (mgutz-goa-d673c4f_GH0.tar.gz) = 50442ca8e43d5517d979038561635425b75c935bd22350c4f6be45ec05442c17
SIZE (mgutz-goa-d673c4f_GH0.tar.gz) = 5944
SHA256 (nozzle-throttler-d9b45f1_GH0.tar.gz) = b2e0a2aac36f2508100149bc5e94a60328a1b5151ffc9ee9fd7536e5e5534570
SIZE (nozzle-throttler-d9b45f1_GH0.tar.gz) = 8157
SHA256 (denisenkom-go-mssqldb-a8b933e_GH0.tar.gz) = 7633f820976915d06e2fc569acd8ca45751c25573a6902ff644b16619d0d2179
SIZE (denisenkom-go-mssqldb-a8b933e_GH0.tar.gz) = 481386
SHA256 (go-sql-driver-mysql-v1.3_GH0.tar.gz) = 410bcaca471ea38892101464cc8b4a9cf63a9c7f94fce8728243829e36cd865b
SIZE (go-sql-driver-mysql-v1.3_GH0.tar.gz) = 59830
SHA256 (lib-pq-8837942_GH0.tar.gz) = a7b8aec65325b03799c5336af3ace1a04ade723a30c9abe927f2b16ffbc61385
SIZE (lib-pq-8837942_GH0.tar.gz) = 85539
SHA256 (nsf-termbox-go-72800b7_GH0.tar.gz) = 567c5dda790f8feeaf24b491214204c16c54c3503b7c03f2c2bfbd44c240da67
SIZE (nsf-termbox-go-72800b7_GH0.tar.gz) = 30454
SHA256 (parnurzeal-gorequest-v0.2.15_GH0.tar.gz) = 776fbd9a5ebe79e6e1091cae47d5ace67f7bf49a224a35f2c84e27f3f464817f
SIZE (parnurzeal-gorequest-v0.2.15_GH0.tar.gz) = 25591
SHA256 (moul-http2curl-4e24498_GH0.tar.gz) = 48957974315c9689a27e4a65315d4eb0e94cb04e266a59f813ad9e1b99df8e66
SIZE (moul-http2curl-4e24498_GH0.tar.gz) = 100177
SHA256 (pkg-errors-c605e28_GH0.tar.gz) = 06fa83babc1d9aa80b0decb6d36504090bbde8a38d9a722a1f7a26616590a0d0
SIZE (pkg-errors-c605e28_GH0.tar.gz) = 11476
SHA256 (rifflock-lfshook-1.6_GH0.tar.gz) = 64f6a7b085bbceec503f311d9f130436457b996f7260dad7db6638ceb19d9f45
SIZE (rifflock-lfshook-1.6_GH0.tar.gz) = 3515
SHA256 (labstack-echo-bc173df_GH0.tar.gz) = 130084d65a0fd9fbeba6f2f88b7f6ef0dcf0d42d988b7720a9e158a16afa23f7
SIZE (labstack-echo-bc173df_GH0.tar.gz) = 322895
SHA256 (labstack-gommon-1121fd3_GH0.tar.gz) = b2799817a7225c50d37549db05b981cfa416ea7e3ee54aeb53187c3a29f83805
SIZE (labstack-gommon-1121fd3_GH0.tar.gz) = 10176
SHA256 (shopspring-decimal-16a9418_GH0.tar.gz) = 274e4ab5132a9d7c8fbef32c61a99cf12bb7f0639572d11f59f29a9e92df0333
SIZE (shopspring-decimal-16a9418_GH0.tar.gz) = 17785
SHA256 (valyala-fasthttp-0f5182f_GH0.tar.gz) = 1198e1f046702dcdcdf95c083915f21d52a893672219006e2bc052f710f83343
SIZE (valyala-fasthttp-0f5182f_GH0.tar.gz) = 163547
SHA256 (valyala-fasttemplate-dcecefd_GH0.tar.gz) = ba29e16f9b2d6425f500b40747b139c6ce88cdd26b60dcf5967fe9e6cf5f3eb7
SIZE (valyala-fasttemplate-dcecefd_GH0.tar.gz) = 11627
SHA256 (valyala-bytebufferpool-e746df9_GH0.tar.gz) = 417d888730e7788f701b9931325f9be9ac6a6932779da61f88d04bf02fd69457
SIZE (valyala-bytebufferpool-e746df9_GH0.tar.gz) = 5028
SHA256 (valyala-tcplisten-ceec8f9_GH0.tar.gz) = 716e31f99a465337b13fa21d0c6e02da18af9f9f1ecaccc2a1ec6ff95e3344e6
SIZE (valyala-tcplisten-ceec8f9_GH0.tar.gz) = 4573
SHA256 (PuerkitoBio-goquery-v1.1.0_GH0.tar.gz) = 8242ca59ecb79aada1463ee327304953ad49bb5053807e79e2ad07e8d70a00c6
SIZE (PuerkitoBio-goquery-v1.1.0_GH0.tar.gz) = 98494
SHA256 (fatih-color-v1.5.0_GH0.tar.gz) = f22564848cd7d24022413c719bbc9c35d014ba7d19ee802b29ba5a93016d3250
SIZE (fatih-color-v1.5.0_GH0.tar.gz) = 586937
SHA256 (andybalholm-cascadia-349dd02_GH0.tar.gz) = e78d2b893ef4ac59962510ebb46ee0cf705330a4d853a6686758bc1706f40edf
SIZE (andybalholm-cascadia-349dd02_GH0.tar.gz) = 13172
SHA256 (GoogleCloudPlatform-google-cloud-go-v0.9.0_GH0.tar.gz) = 4303332ae35efe09cf9f7fdd81e28014cef996e485f96c7497fcefc3cc48f1ac
SIZE (GoogleCloudPlatform-google-cloud-go-v0.9.0_GH0.tar.gz) = 1054667
SHA256 (google-subcommands-ce3d4cf_GH0.tar.gz) = 660c4a27138acf9f40eb5b69d8f8401521626bd29235f6472f1b1ac457ab4c99
SIZE (google-subcommands-ce3d4cf_GH0.tar.gz) = 8551
SHA256 (googleapis-gax-go-84ed267_GH0.tar.gz) = 1d17c568a65b304167d9c030dc4353c9b48a9d63b0eaa7815ffa28e3d27d4c7b
SIZE (googleapis-gax-go-84ed267_GH0.tar.gz) = 10165
SHA256 (google-google-api-go-client-1ba364a_GH0.tar.gz) = 6c827b886213d3f0e3e04f4b6cc666a7be4f739191251bfc58e0fc1219e0eb22
SIZE (google-google-api-go-client-1ba364a_GH0.tar.gz) = 5775524
SHA256 (google-go-genproto-aa2eb68_GH0.tar.gz) = 4d7b60a1dd88b124ab0475b5136bbb60958afb4a77d4fa557c906fed92e90257
SIZE (google-go-genproto-aa2eb68_GH0.tar.gz) = 911983
SHA256 (golang-oauth2-f047394_GH0.tar.gz) = aff836b991d53169696e57727ecfd58a4f081630aeb82701dfaf695eb8d6365f
SIZE (golang-oauth2-f047394_GH0.tar.gz) = 38172
SHA256 (golang-crypto-ed779e1_GH0.tar.gz) = cf821a8cb4e213492b6c908981b40feda3007dbe5cf9f6702867af7b1c9e771a
SIZE (golang-crypto-ed779e1_GH0.tar.gz) = 1329138
SHA256 (golang-net-5f8847a_GH0.tar.gz) = 55a46531c8c0fb60ae7566cae1c59681c9869e5df1c4a9a8304448afef65164a
SIZE (golang-net-5f8847a_GH0.tar.gz) = 909712
SHA256 (golang-text-4e9ab9e_GH0.tar.gz) = 429cf237cefbabcc9eb566c6e0642ff3c485aa4127c2354259f0e54a5a8eaa3e
SIZE (golang-text-4e9ab9e_GH0.tar.gz) = 4588267
SHA256 (golang-tools-e6cb469_GH0.tar.gz) = 556cef1144fffb09345370319066c61489638d0dd98b2615f3b2fad43f93760c
SIZE (golang-tools-e6cb469_GH0.tar.gz) = 2231881
SHA256 (golang-debug-e48e171_GH0.tar.gz) = b44f682091a9dc06c81e6abbf447317b21efb10ea93ea4f057717327f4ee6cce
SIZE (golang-debug-e48e171_GH0.tar.gz) = 162116
SHA256 (golang-sync-f52d181_GH0.tar.gz) = 09348bc111e335c24b1be229582c0cc897418d2331eec175720c04a15d6ca0bb
SIZE (golang-sync-f52d181_GH0.tar.gz) = 15326
SHA256 (golang-time-8be79e1_GH0.tar.gz) = f295878d51741a4881a7ce8532a50f6f7f5184970e322d39e0c2969b8e3b3677
SIZE (golang-time-8be79e1_GH0.tar.gz) = 9302
SHA256 (golang-sys-c23410a_GH0.tar.gz) = b3469dd58f97037133099b0e1d580c977c388986d1aa21edc852569043063a11
SIZE (golang-sys-c23410a_GH0.tar.gz) = 717300
SHA256 (golang-geo-f65fe01_GH0.tar.gz) = dd288c8304abf9ff6d9d9cadde5d81a0ba5e2d48912e2eaa4ce65c887a9063de
SIZE (golang-geo-f65fe01_GH0.tar.gz) = 174467
SHA256 (golang-glog-23def4e_GH0.tar.gz) = db10005484f249828004a8d1cb48a7305de01d619c130a3531070df331085ffe
SIZE (golang-glog-23def4e_GH0.tar.gz) = 19652
SHA256 (golang-protobuf-6a1fa94_GH0.tar.gz) = e68ff13fa60587972dd169ee3677d690304760308a0b42e877e14f02ca604f06
SIZE (golang-protobuf-6a1fa94_GH0.tar.gz) = 253318
SHA256 (golang-mock-93f6609_GH0.tar.gz) = 7c35f52ec665b4a267208d9729e25c3dc853eee8f9c44aa3215664767964d575
SIZE (golang-mock-93f6609_GH0.tar.gz) = 28607
SHA256 (grpc-grpc-go-v1.4.2_GH0.tar.gz) = c6a145806a4f0dd53d8259661b0633a1a33803895ca4676feb927022ad8cb994
SIZE (grpc-grpc-go-v1.4.2_GH0.tar.gz) = 292074
SHA256 (VividCortex-ewma-v1.0_GH0.tar.gz) = 7e62b9cc28b336f2496aa98da60f3a8ba6a1f0112f0493c60959e9bcc25709f3
SIZE (VividCortex-ewma-v1.0_GH0.tar.gz) = 3609
SHA256 (MichaelTJones-walk-4748e29_GH0.tar.gz) = 99997db1739969bfc158f3f4945f242a2384f9a9899247a1bf433e974f1292a0
SIZE (MichaelTJones-walk-4748e29_GH0.tar.gz) = 9620
SHA256 (go-godo-godo-v1.4.5_GH0.tar.gz) = 7a37fb8d2ca7dbe3c04a66adddbe38caf03dfcfbfac1981731a289cd9b2caba2
SIZE (go-godo-godo-v1.4.5_GH0.tar.gz) = 23305
SHA256 (go-godo-godo-v2.0.9_GH0.tar.gz) = 7ba11bec0de3404b3d4317e3d66fdbab013e7677150e6e0200c451d667385a85
SIZE (go-godo-godo-v2.0.9_GH0.tar.gz) = 41403
SHA256 (gokyle-fswatch-1dbdf83_GH0.tar.gz) = 43ffb4cdbbbde437b384e4b985cc33a2f0457d2dc41e845331dd930c9d6664b5
SIZE (gokyle-fswatch-1dbdf83_GH0.tar.gz) = 4994
SHA256 (klauspost-compress-v1.2.1_GH0.tar.gz) = 5c95b4b8dba515d275c4071675d35415512b0415d103653ba00f7305bb9ecfa9
SIZE (klauspost-compress-v1.2.1_GH0.tar.gz) = 2725575
SHA256 (klauspost-cpuid-09cded8_GH0.tar.gz) = d683b433a3bb75a1e3a6d85cd6e373a0340b5ffe525a9458b51d969f19df597e
SIZE (klauspost-cpuid-09cded8_GH0.tar.gz) = 205087
SHA256 (klauspost-crc32-1bab8b3_GH0.tar.gz) = 4437187a49ad2ffc4218b51df9c32903144af1b541508964d76dd5e9844f4839
SIZE (klauspost-crc32-1bab8b3_GH0.tar.gz) = 16075
SHA256 (stretchr-testify-f6abca5_GH0.tar.gz) = c254665dbd1a155475dc685ca58bfae991c78e672c4dc6707fd3c1973724cf9f
SIZE (stretchr-testify-f6abca5_GH0.tar.gz) = 94085
SHA256 (gorilla-websocket-v1.2.0_GH0.tar.gz) = 04d1c4fa839a01d32d3c8c558370a964d83b5c980f74c4b965f3dd04f8cb9276
SIZE (gorilla-websocket-v1.2.0_GH0.tar.gz) = 42984
SHA256 (kardianos-osext-ae77be6_GH0.tar.gz) = 539367f48ed1d4f1b8bec4cf742ac7bce7c5b9319f4338a12310edddec005213
SIZE (kardianos-osext-ae77be6_GH0.tar.gz) = 4851
SHA256 (facebookgo-grace-4afe952_GH0.tar.gz) = e9a47dcc8764c5124eb7250a6ab5263a431f4d183130f84ca0257bb6aa296c94
SIZE (facebookgo-grace-4afe952_GH0.tar.gz) = 13379
SHA256 (facebookgo-httpdown-a3b1354_GH0.tar.gz) = 220f737bccc8fa03ac4bd73426c143e5e95c3a5ea9dddaffe3aefd9625ae2468
SIZE (facebookgo-httpdown-a3b1354_GH0.tar.gz) = 9738
SHA256 (facebookgo-clock-600d898_GH0.tar.gz) = ef0cdd71a3df0cf2de528d6b8a7db5df5d7a974774d04ec156f0bcba7fb6a6fa
SIZE (facebookgo-clock-600d898_GH0.tar.gz) = 6375
SHA256 (facebookgo-stats-1b76add_GH0.tar.gz) = 568616050c1d4022b4becf0871c6f87f4ccea6cd5e772238e88060decc66c0d4
SIZE (facebookgo-stats-1b76add_GH0.tar.gz) = 5655
SHA256 (GeertJohan-go.rice-c02ca9a_GH0.tar.gz) = 625245dbe6bc0b2447d9afa95b370e1bb241d151c976ca206141c0704605fb39
SIZE (GeertJohan-go.rice-c02ca9a_GH0.tar.gz) = 67035
SHA256 (GeertJohan-go.incremental-1172aab_GH0.tar.gz) = b566e8cc820931b0891a6ed7ae217fa714fdcd863d507df0993d22d7725fc6c2
SIZE (GeertJohan-go.incremental-1172aab_GH0.tar.gz) = 4033
SHA256 (daaku-go.zipexe-a5fe243_GH0.tar.gz) = e9a9841bc4611d8ab7deab91be51dae13e10e302c422b1d7de52ceaef272f2c7
SIZE (daaku-go.zipexe-a5fe243_GH0.tar.gz) = 2017
SHA256 (davecgh-go-spew-346938d_GH0.tar.gz) = 92e706ece5da01f2c61cf632e168d8c24d44866523b25f0e8eb9d1596c5d5f79
SIZE (davecgh-go-spew-346938d_GH0.tar.gz) = 42343
SHA256 (akavel-rsrc-ba14da1_GH0.tar.gz) = 5be9446d6bfea3ba954ae97663afe857580069e7e89ac404fc9e707d5bffcf5c
SIZE (akavel-rsrc-ba14da1_GH0.tar.gz) = 10546
SHA256 (jessevdk-go-flags-5695738_GH0.tar.gz) = 6027d62caee65e65444600fbcc004cc50e2b38f6226fe6cfeab7b29e6a81a6ac
SIZE (jessevdk-go-flags-5695738_GH0.tar.gz) = 54980
SHA256 (tylerb-graceful-v1.2.15_GH0.tar.gz) = d8c4ff8f2d85fe265d7507ef9f71c6c29102c1a043b9c2a65cc9d3072227f31f
SIZE (tylerb-graceful-v1.2.15_GH0.tar.gz) = 15028
SHA256 (airbrake-gobrake-v2.0.9_GH0.tar.gz) = 8c1195fa5130bfbc003f34770b33273ea37f61635ebb8ce4b3324eeb1793631d
SIZE (airbrake-gobrake-v2.0.9_GH0.tar.gz) = 6350
SHA256 (gemnasium-logrus-airbrake-hook-v2.1.2_GH0.tar.gz) = b3948ec80ff9d1ede5ec5bb8cccd5517b8aba7a5b6889002e9f93159ad32db35
SIZE (gemnasium-logrus-airbrake-hook-v2.1.2_GH0.tar.gz) = 3937
SHA256 (urfave-negroni-460c556_GH0.tar.gz) = f2a262617a61b3c152daa2fc3469060b18d581b25b92277923f3c4cf753ae295
SIZE (urfave-negroni-460c556_GH0.tar.gz) = 29289

View file

@ -0,0 +1,29 @@
[servers]
[servers.localhost]
host = "localhost"
port = "local"
#
# [servers.172-31-4-82]
# host = "172.31.4.82"
# port = "22"
# user = "ec2-user"
# keyPath = "/home/ec2-user/.ssh/id_rsa"
#
# [slack]
# hookURL = "https://hooks.slack.com/services/abc123/defghijklmnopqrstuvwxyz"
# channel = "#channel-name"
# iconEmoji = ":ghost:"
# authUser = "username"
# notifyUsers = ["@username"]
#
# [email]
# smtpAddr = "smtp.gmail.com"
# smtpPort = "587"
# user = "username"
# password = "password"
# from = "from@address.com"
# to = ["to@address.com"]
# cc = ["cc@address.com"]
# subjectPrefix = "[vuls]"

View file

@ -0,0 +1,21 @@
--- commands/configtest.go.orig 2017-06-23 15:51:48 UTC
+++ commands/configtest.go
@@ -20,8 +20,6 @@ package commands
import (
"context"
"flag"
- "os"
- "path/filepath"
"github.com/google/subcommands"
@@ -68,8 +66,7 @@ func (*ConfigtestCmd) Usage() string {
// SetFlags set flag
func (p *ConfigtestCmd) SetFlags(f *flag.FlagSet) {
- wd, _ := os.Getwd()
- defaultConfPath := filepath.Join(wd, "config.toml")
+ defaultConfPath := "%%ETCDIR%%/config.toml"
f.StringVar(&p.configPath, "config", defaultConfPath, "/path/to/toml")
defaultLogDir := util.GetDefaultLogDir()

View file

@ -0,0 +1,25 @@
--- commands/report.go.orig 2017-06-23 15:51:48 UTC
+++ commands/report.go
@@ -132,11 +132,11 @@ func (p *ReportCmd) SetFlags(f *flag.Fla
f.BoolVar(&p.debug, "debug", false, "debug mode")
f.BoolVar(&p.debugSQL, "debug-sql", false, "SQL debug mode")
- wd, _ := os.Getwd()
- defaultConfPath := filepath.Join(wd, "config.toml")
+ defaultConfPath := "%%ETCDIR%%/config.toml"
f.StringVar(&p.configPath, "config", defaultConfPath, "/path/to/toml")
+ wd, _ := os.Getwd()
defaultResultsDir := filepath.Join(wd, "results")
f.StringVar(&p.resultsDir, "results-dir", defaultResultsDir, "/path/to/results")
@@ -155,7 +155,7 @@ func (p *ReportCmd) SetFlags(f *flag.Fla
"sqlite3",
"DB type for fetching CVE dictionary (sqlite3, mysql or postgres)")
- defaultCveDBPath := filepath.Join(wd, "cve.sqlite3")
+ defaultCveDBPath := "/var/db/vuls/cve.sqlite3"
f.StringVar(
&p.cvedbpath,
"cvedb-path",

View file

@ -0,0 +1,24 @@
--- commands/scan.go.orig 2017-06-23 15:51:48 UTC
+++ commands/scan.go
@@ -82,18 +82,18 @@ func (*ScanCmd) Usage() string {
func (p *ScanCmd) SetFlags(f *flag.FlagSet) {
f.BoolVar(&p.debug, "debug", false, "debug mode")
- wd, _ := os.Getwd()
- defaultConfPath := filepath.Join(wd, "config.toml")
+ defaultConfPath := "%%ETCDIR%%/config.toml"
f.StringVar(&p.configPath, "config", defaultConfPath, "/path/to/toml")
+ wd, _ := os.Getwd()
defaultResultsDir := filepath.Join(wd, "results")
f.StringVar(&p.resultsDir, "results-dir", defaultResultsDir, "/path/to/results")
defaultLogDir := util.GetDefaultLogDir()
f.StringVar(&p.logDir, "log-dir", defaultLogDir, "/path/to/log")
- defaultCacheDBPath := filepath.Join(wd, "cache.db")
+ defaultCacheDBPath := "/var/db/vuls/cache.db"
f.StringVar(
&p.cacheDBPath,
"cachedb-path",

View file

@ -0,0 +1,26 @@
--- commands/tui.go.orig 2017-06-23 15:51:48 UTC
+++ commands/tui.go
@@ -94,12 +94,12 @@ func (p *TuiCmd) SetFlags(f *flag.FlagSe
"sqlite3",
"DB type for fetching CVE dictionary (sqlite3, mysql or postgres)")
- defaultCveDBPath := filepath.Join(wd, "cve.sqlite3")
+ defaultCveDBPath := "/var/db/vuls/cve.sqlite3"
f.StringVar(
&p.cvedbpath,
"cvedb-path",
defaultCveDBPath,
- "/path/to/sqlite3 (For get cve detail from cve.sqlite3)")
+ "/path/to/sqlite3 (For getting CVE details from cve.sqlite3)")
f.StringVar(
&p.cveDictionaryURL,
@@ -153,7 +153,7 @@ func (p *TuiCmd) Execute(_ context.Conte
if p.refreshCve || needToRefreshCve(r) {
if c.Conf.CveDBType == "sqlite3" {
if _, err := os.Stat(c.Conf.CveDBPath); os.IsNotExist(err) {
- log.Errorf("SQLite3 DB(CVE-Dictionary) is not exist: %s",
+ log.Errorf("SQLite3 DB(CVE-Dictionary) does not exist: %s",
c.Conf.CveDBPath)
return subcommands.ExitFailure
}

View file

@ -0,0 +1,26 @@
--- src/gopkg.in/cheggaaa/pb.v2/Gopkg.lock.orig 2017-06-04 15:08:13 UTC
+++ src/gopkg.in/cheggaaa/pb.v2/Gopkg.lock
@@ -4,8 +4,8 @@
[[projects]]
name = "github.com/mattn/go-colorable"
packages = ["."]
- revision = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8"
- version = "v0.0.6"
+ revision = "941b50ebc6efddf4c41c8e4537a5f68a4e686b24"
+ version = "v0.0.8"
[[projects]]
name = "github.com/mattn/go-isatty"
@@ -38,12 +38,6 @@
version = "v1.5.0"
[[projects]]
- name = "gopkg.in/mattn/go-colorable.v0"
- packages = ["."]
- revision = "d228849504861217f796da67fae4f6e347643f15"
- version = "v0.0.7"
-
-[[projects]]
name = "gopkg.in/mattn/go-isatty.v0"
packages = ["."]
revision = "fc9e8d8ef48496124e79ae0df75490096eccf6fe"

View file

@ -0,0 +1,13 @@
--- src/gopkg.in/cheggaaa/pb.v2/Gopkg.toml.orig 2017-06-04 15:08:13 UTC
+++ src/gopkg.in/cheggaaa/pb.v2/Gopkg.toml
@@ -79,8 +79,8 @@
version = "1.5.0"
[[constraint]]
- name = "gopkg.in/mattn/go-colorable.v0"
- version = "0.0.7"
+ name = "github.com/mattn/go-colorable"
+ version = "0.0.8"
[[constraint]]
name = "gopkg.in/mattn/go-isatty.v0"

12
security/vuls/pkg-descr Normal file
View file

@ -0,0 +1,12 @@
Vuls is an agentless vulnerability scanner written in golang.
It can scan localhost or remote hosts via SSH. Vuls has a Terminal-Based User
Interface(TUI) to display the scan results.
Vuls' features include:
- scan for vulnerabilitie in Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Oracle
Linux, FreeBSD and Raspbian;
- scan middleware that are not included in OS package management;
- nondestructive testing;
- email and slack notification.
WWW: https://github.com/future-architect/vuls

View file

@ -0,0 +1,5 @@
===============================================================================
Vuls requires the cve.sqlite3 database provided by go-cve-dictionary
===============================================================================