Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Continuous Vulnerability scanning on CircleCI
Search
lorentzca
August 27, 2018
Technology
1
3.1k
Continuous Vulnerability scanning on CircleCI
Vuls を CircleCI 上で動かしてみた話。
lorentzca
August 27, 2018
Tweet
Share
More Decks by lorentzca
See All by lorentzca
入力した CIDR のネットワーク・アドレスを表示する Alfred ワークフローを作った
lorentzca
0
1.4k
Other Decks in Technology
See All in Technology
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
290
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
0
310
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
3
740
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
410
Browser
recruitengineers
PRO
3
320
キャリアを支え組織力を高める「多層型ふりかえり」 / 20250821 Kazuki Mori
shift_evolve
PRO
2
300
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
2
250
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
240
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
240
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
530
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
A Tale of Four Properties
chriscoyier
160
23k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Bash Introduction
62gerente
614
210k
We Have a Design System, Now What?
morganepeng
53
7.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
Transcript
Continuous Vulnerability scanning on CircleCI @lorentzca
Contents • 自己紹介 • CircleCI 上で Vuls を動かしてみた話
About Me • 国島と申します • ID は lorentzca • Web
インフラエンジニア -> サポートエンジニア • 主な趣味はキャンプ・釣 り・酒 • 最近自作キーボード沼 に入水しました • よろしくおねがいします
CircleCI 上で Vuls を動かしてみた話
CircleCI • コードのテストやデプロイを自動化してくれる サービス • 競合として Jenkins, Travis CI, Wercker
等 • 継続的インテグレーション (CI: Continuous Integration)
なぜそんなことを
CircleCI 2.0 in 2017 • 好きな Docker Image を使える •
Scheduling jobs (cron) を使える
つまり…
なんでもあり!!
Vuls も CircleCI 上で動かせそう = 継続的脆弱性スキャンの実現
必要な Docker Image は公式で提供され ている • vuls/go-cve-dictionary • vuls/goval-dictionary •
vuls/vuls • あとは CircleCI でうまくやるだけ
CircleCI 2.0 の機能を駆使する
Job の流れ
Job 間での成果物の共有 • 成果物 (cve.sqlite3, oval.sqlite3) を workspaces に作成 •
persist_to_workspace キーで成果物を保持 • 下流の job (vuls report 用 job) で attach_workspace キーを使い成果物を取得
SSH 周り • CircleCI の add_ssh_keys の fingerprints キーを使うと .ssh
以下に config と秘密鍵が追加される • vuls コマンドの -ssh-config オプションで上記 .ssh/config を読んで ssh してくれる • Are you sure you want to continue connecting (yes/no)? ◦ うるせえ! echo "StrictHostKeyChecking no" >> /root/.ssh/config して黙殺(雑)
config.toml の取得 • Private Gist からダウンロードしてる • 他にもやり方はありそうだけど(リポジトリ内に置 いて checkout
とか)、 Gist なら Web 上でささっ と編集できるので便利
Job 間の順序依存 • workflows の requires キーで依存関係を定義 できる
定期的に実行する • workflows の schedule トリガーを使う • cron 形式で指定できる ◦
UTC なので注意!コメントで JST の時間を 書いておくと日本人に優しい ☺
github.com/lorentzca/vurcleci/.ci rcleci/config.yml
感想 • 個人用途であればこれで十分 ☺ • 無料嬉しい • 対象サーバが複数あるときつそう • いろいろ試行錯誤したことなどは別途ブログにもまとめる予
定 ◦ blog.lorentzca.me
ご清聴ありがとうございました
おまけ
1台目の自作キーボード。 Planck という 40% キーボード。名前はセラス。
2台目の自作キーボード。同じく Planck 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。