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.2k
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
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
3
630
クラスタ統合リアーキテクチャ全貌~1,000万ユーザーのウェルネスSaaSを再設計~
hacomono
PRO
0
140
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
110
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
880
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
370
重厚長大企業で、顧客価値をスケールさせるためのプロダクトづくりとプロダクト開発チームづくりの裏側 / Developers X Summit 2025
mongolyy
0
180
なぜブラウザで帳票を生成したいのか どのようにブラウザで帳票を生成するのか
yagisanreports
1
190
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
6.6k
OSだってコンテナしたい❗Image Modeが切り拓くLinux OS運用の新時代
tsukaman
0
130
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
270
入社したばかりでもできる、 アクセシビリティ改善の第一歩
unachang113
2
350
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
6.2k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Site-Speed That Sticks
csswizardry
13
970
BBQ
matthewcrist
89
9.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Docker and Python
trallard
46
3.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Context Engineering - Making Every Token Count
addyosmani
9
410
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 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。