Skip to content

Repository files navigation

Vulnerability Report TUI Tool

Vulnerability Report TUI Tool は、securityonline.info の脆弱性レポート用 RSS フィードから、指定された日付から過去7日間(1週間)のレポートを取得し、ターミナル上で一覧表示・閲覧するための TUI (Terminal User Interface) アプリケーションです。

主な機能

  • 脆弱性レポートの取得・表示:
    • 指定された日付(デフォルトは当日)から過去7日間(1週間)に公開された脆弱性レポートの一覧を RSS フィードから取得して表示します。
  • キーワードハイライト:
    • 設定ファイルで指定された特定のキーワード(例: CVSS など)をマゼンタでハイライト表示します。
  • ブラウザ連携:
    • TUI 上でレポートを選択し Enter キーを押すと、自動的に既定のブラウザで対象のレポートの Web ページを開きます。
  • Chatwork連携:
    • TUI 上で選択したレポートの情報を Chatwork に投稿することができます(C キー)。

必要要件

  • Go: 1.18 以上推奨
  • インターネット接続(RSS フィードの取得およびブラウザでのリンク閲覧用)

インストールと実行

アプリケーションの起動

引数を省略して実行すると、現在の日付(当日)のレポートを取得します。

go run main.go

特定の日付のレポートを表示したい場合は、YYYYMMDD 形式の引数を指定します。

go run main.go 20260522

バイナリのビルド(シングルバイナリ化)

以下のコマンドを実行して、アプリケーションを単一の実行可能バイナリとしてビルドできます。

make build

ビルドが完了すると、プロジェクトのルートディレクトリに vuln-tui バイナリが生成されます。このバイナリは単体で実行可能です(※ただし、キーワードハイライト機能を利用する場合は、実行するディレクトリに vulnerability-report.json が配置されている必要があります)。

生成されたバイナリの実行例:

./vuln-tui

設定ファイル

ワークスペース直下の vulnerability-report.json にて、ハイライトしたいキーワードおよび Chatwork 連携の設定を定義することができます。

設定例 (vulnerability-report.json)

{
  "highlight": [
    "CVSS",
    "Cisco",
    "Fortinet"
  ],
  "chatwork": {
    "api_token": "YOUR_CHATWORK_API_TOKEN",
    "room_id": "YOUR_ROOM_ID"
  }
}

設定ファイルに記載されたキーワードは、タイトル一覧に表示される際に**マゼンタ(Magenta)**でハイライトされます。

環境変数による設定の上書き

設定ファイルの chatwork 項目は、以下の環境変数を設定することで上書きまたは直接指定することが可能です。

  • CHATWORK_API_TOKEN: Chatwork API トークンを上書きします。
  • CHATWORK_ROOM_ID: Chatwork ルーム ID を上書きします。

TUI の操作方法

TUI 画面では以下のキーボードショートカットを使用できます:

キー アクション
/ k カーソルを上に移動
/ j カーソルを下に移動
Enter / Space 選択中の記事をブラウザで開く
C 選択中の記事を Chatwork へ投稿
r 最新のフィード情報を再取得(リフレッシュ)
q / Ctrl+C アプリケーションを終了

開発とテスト

コードのフォーマット、静的解析、およびユニットテストの実行には、付属の Makefile を使用できます。

  • コードの自動フォーマット
    make fmt
  • 静的解析 (Linter) の実行
    make lint
  • テストの実行
    go test -v ./...

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages