一日一回 大きくてスパースなファイルを gzip -d してるあなたへ

忙しい人向け タイトルの通りですが、N GBオーダのスパースなファイルを gzip -d して開発マシンに解凍している人に向けた spdc というツールを作成しました。 このツールを使うと、gzipで圧縮されたファイルをスパースなファイル として解凍できます。 gith…

XFSを解析した話 (3) - Directory 編

目次 目次 想定読者 おさらい data fork の解析 attribute fork について format local を解析 format extents を解析 想定読者 XFS Filesystem の生データを解析したいと思っている方に向けた記事です。 XFSを解析した話 (1) SuperBlock 編 XFSを解析した話…

XFSを解析した話 (2) - inode 編

目次 目次 想定読者 はじめに inode について inode の解析 root inode 番号の調査 root inode の offset を計算 root inode を解析 おわり 想定読者 XFS Filesystem の生データを解析したいと思っている方に向けた記事です。 XFSを解析した話 (1) SuperBloc…

XFSを解析した話 (1) - SuperBlock 編

はじめに XFS ファイルシステムを解析できるGolangのライブラリを作りました。 Trivyというコンテナ脆弱性検知ツールで仮想マシンイメージの脆弱性検知機能を開発するにあたって、KernelやC言語の資源に依存せずにXFSを解析する必要がありました。 仕事終わ…

仮想マシンイメージの脆弱性検知をTrivyに組み込んだ話

はじめに 実際に作ったもの ここから先が長すぎて面倒だという方向け なぜVMのスキャンが必要なのか? 全体像 Trivyの脆弱性検知について 開発する上での課題 アーキテクチャ Storage層 EBS Storage Virtual Machine Image層 Disk Partition層 Logical Volum…

TrivyでCycloneDXを出力するように対応してみた(SBOM)

Trivy で CycloneDX と呼ばれる SBOM の仕様を実装しましたので、備忘録も含めて CycloneDX の仕様からどのような意図で、Trivy に実装を行なったか記載しようと思います。 概要 なぜ CycloneDX なのか CycloneDX の仕様について Metadata について Componen…

RPMDBを解析した話

OSS開発をしている中で、RPMDBの実装を理解する必要があり調べたことを記事に残そうと思います。 世界にこの記事を読んで嬉しい方は、万に一人もいないと思います。 今回の記事はRPMDBを解析する背景と、初めてC言語で書かれた実装を真面目に解析した話をし…

Trivyのサーバモードを試してみた話

この記事は Recruit Engineers Advent Calendar 2019 の 14日目の記事です。 概要 Trivyはknqyf263氏が開発し、現在Aquasecurity社でホスティングされているコンテナイメージのスキャンツールです。 github.com 今回はTrivyに新たにサーバモードが追加されま…