From 97c3f5d6424cc340a4a9afb9e1ab82fb3871716f Mon Sep 17 00:00:00 2001 From: Kota Kanbe Date: Tue, 20 Sep 2016 11:51:30 +0900 Subject: [PATCH] Update README --- README.ja.md | 11 +++++----- README.md | 15 ++++++------- img/vuls-scan-flow.graphml | 44 ++++++++----------------------------- img/vuls-scan-flow.png | Bin 87346 -> 83283 bytes 4 files changed, 21 insertions(+), 49 deletions(-) diff --git a/README.ja.md b/README.ja.md index 31481e0a..a634981b 100644 --- a/README.ja.md +++ b/README.ja.md @@ -288,14 +288,13 @@ $ vuls tui - NVDとJVN(日本語)から脆弱性データベースを取得し、SQLite3に格納する。 ## Vuls +![Vuls-Scan-Flow](img/vuls-scan-flow.png) - SSHでサーバに存在する脆弱性をスキャンし、CVE IDのリストを作成する - Dockerコンテナのスキャンする場合、VulsはまずDockerホストにSSHで接続する。その後、Dockerホスト上で `docker exec` 経由でコマンドを実効する。Dockerコンテナ内にSSHデーモンを起動する必要はない - 検出されたCVEの詳細情報をgo-cve-dictionaryから取得する -- スキャン結果をSQLite3に格納する - スキャン結果レポートを生成し、SlackやEmailなどで送信する -- スキャン結果の詳細情報はターミナル上で参照可能 +- スキャン結果をJSONファイルに出力すると詳細情報をターミナル上で参照可能 -![Vuls-Scan-Flow](img/vuls-scan-flow.png) ---- # Performance Considerations @@ -1094,7 +1093,8 @@ $ go install # Update Vuls With Glide -- Update go-cve-dictionary +- Update go-cve-dictionary +If the DB schema was changed, please specify new SQLite3 DB file. ``` $ cd $GOPATH/src/github.com/kotakanbe/go-cve-dictionary $ git pull @@ -1109,8 +1109,7 @@ $ git pull $ glide install $ go install ``` -- The binaries are created under $GOPARH/bin -- If the DB schema was changed, please specify new SQLite3 DB file. +- バイナリファイルは`$GOPARH/bin`以下に作成される --- diff --git a/README.md b/README.md index 97d5ed85..8b6fef7f 100644 --- a/README.md +++ b/README.md @@ -284,15 +284,13 @@ see https://github.com/future-architect/vuls/tree/master/setup/docker ## [go-cve-dictinary](https://github.com/kotakanbe/go-cve-dictionary) - Fetch vulnerability information from NVD and JVN(Japanese), then insert into SQLite3. -## Vuls +## Scanning Flow +![Vuls-Scan-Flow](img/vuls-scan-flow.png) - Scan vulnerabilities on the servers via SSH and create a list of the CVE ID - To scan Docker containers, Vuls connect via ssh to the Docker host and then `docker exec` to the containers. So, no need to run sshd daemon on the containers. - Fetch more detailed information of the detected CVE from go-cve-dictionary -- Insert scan result into SQLite3 - Send a report by Slack and Email -- Show the latest report on your terminal - -![Vuls-Scan-Flow](img/vuls-scan-flow.png) +- Write scan results to JSON file to show the latest report on your terminal ---- # Performance Considerations @@ -1007,7 +1005,8 @@ $ go install # Update Vuls With Glide -- Update go-cve-dictionary +- Update go-cve-dictionary +If the DB schema was changed, please specify new SQLite3 DB file. ``` $ cd $GOPATH/src/github.com/kotakanbe/go-cve-dictionary $ git pull @@ -1022,8 +1021,8 @@ $ git pull $ glide install $ go install ``` -- The binaries are created under $GOPARH/bin -- If the DB schema was changed, please specify new SQLite3 DB file. + +Binary Files are created under $GOPARH/bin --- diff --git a/img/vuls-scan-flow.graphml b/img/vuls-scan-flow.graphml index ab1269a4..1409090b 100644 --- a/img/vuls-scan-flow.graphml +++ b/img/vuls-scan-flow.graphml @@ -168,22 +168,6 @@ FreeBSD: pkg audit - - - - - - Vuls DB - - - - - - - - - - @@ -199,13 +183,13 @@ FreeBSD: pkg audit - + - Insert results into DB + Write results to JSON files Reporting @@ -216,7 +200,7 @@ Reporting - + @@ -233,7 +217,7 @@ CentOS: yum update --changelog - + @@ -364,7 +348,7 @@ FreeBSD - + @@ -374,7 +358,7 @@ FreeBSD - + @@ -386,17 +370,7 @@ FreeBSD - - - - - - - - - - - + @@ -414,7 +388,7 @@ FreeBSD - + @@ -424,7 +398,7 @@ FreeBSD - + diff --git a/img/vuls-scan-flow.png b/img/vuls-scan-flow.png index 4bb215c22f2a271eac7d9b9da4d35d93eb26734f..a82b9403b8c04ce4200536659d7b2d5072d24018 100644 GIT binary patch delta 16111 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 delta 20001 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 j^Kz_w)@bA}d#*~!aW1Q&HzT9<