8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Snykを使ってPostgreSQL拡張機能pgAuditを脆弱性診断してみた

Last updated at Posted at 2022-06-26

はじめに

この記事はQiita Engineer Festa 2022への参加記事です。

Snykの脆弱性診断機能を用いて、OSSプロジェクトを診断してみます。
診断対象として、PostgreSQLの監査ログ拡張機能pgAuditを選びます。
自分がコントリビュートしたpgaudit.log_rows機能も含まれており、
脆弱性が検知された場合、他人事にできないので少しドキドキ。。。

Snyk(スニーク)とは

  • 安全で迅速な開発を支援する、デベロッパーファーストのセキュリティプラットフォーム
  • コードの依存OSSやコンテナ/IaC(Infrastructure as Code)の脆弱性を見つけ、優先順位をつけ自動修正
  • Gitや統合開発環境(IDE)、CI/CDパイプラインに直接組み込めるため、簡単に使用可能

※ 引用元: https://go.snyk.io/jp.html

pgAuditとは

  • PostgreSQLで監査ログを取得するためのオープンソースソフトウェア
  • PostgreSQLの拡張機能として、C言語で実装されている
  • 監査対象として設定した内容は、PostgreSQLログに混在して出力される
  • GitHubのpgauditリポジトリ

Snykにサインアップ

  • Snyk Webサイトの画面右上からSign up
    image.png

  • GitHubやGoogleアカウントを用いて、サインアップ
    image.png

pgAuditはC言語で書かれているが、脆弱性診断可能か?

  • Snykドキュメントを読むと、Snyk CLIでCプロジェクトのスキャン可能
    image.png

Snyk CLIをインストール

  • VS Codeのターミナルなどで、npmを用いてインストール
C:\snyk>npm install snyk@latest -g
  • Snykバージョンを確認
C:\snyk>snyk --version
1.958.0
  • Snykアカウントを用いて、Snyk CLIを認証
C:\snyk>snyk auth

Now redirecting you to our auth page, go ahead and log in,
and once the auth is complete, return to this prompt and you'll
be ready to start using snyk.
  • ブラウザが開かれ、認証画面が表示されるので、認証ボタンを押す
    image.png

  • VS Codeのターミナルで、以下表示される

Your account has been authenticated. Snyk is now ready to be used.

cloneしたpgauditリポジトリに対し、snyk monitorを実行

  • pgauditリポジトリをclone
C:\snyk>git clone git@github.com:pgaudit/pgaudit.git
C:\snyk>cd pgaudit
  • pgauditをSnykに登録し、脆弱性(及びライセンス問題)を継続的に監視
C:\snyk\pgaudit>snyk monitor --unmanaged 

Monitoring C:\snyk\pgaudit (pgaudit)...

Explore this snapshot at https://app.snyk.io/org/mingchun.zhao/project/80b2c854-a408-4abc-b07c-9ee56f614aee/history/03fc148f-5176-42ef-b83a-e758b682ae14

Notifications about newly disclosed issues related to these dependencies will be emailed to you.
  • 上記snapshotのURLを確認すると、pgauditに問題は存在しません、とのこと
    image.png

Snykの脆弱性DB(Vulnerability DB)

安心したのも束の間、
Snykの脆弱性DBに、Linux centos8 pgaudit package
pgaudit vulnerabilitiesが存在していました。

image.png

SQL Injectionの脆弱性もちらほら、どういうこと? 確認しなくちゃ。。。

おわりに

Snykを使って、OSSのpgAuditに対し、脆弱性診断を行ってみました。
Snykが、pgAuditの脆弱性DBを管理していることに、少し驚きました。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?