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
2.9k
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.3k
Other Decks in Technology
See All in Technology
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
500
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
320
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
120
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
39
16k
[トレノケ雲の会 mod.13] 3回目のre:Inventで気づいたこと -CloudOperationsを添えて-
shintaro_fukatsu
0
110
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
280
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
830
5分でわかるDuckDB
chanyou0311
10
3.3k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
190
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
120
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
450
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Thoughts on Productivity
jonyablonski
68
4.4k
Gamification - CAS2011
davidbonilla
80
5.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Testing 201, or: Great Expectations
jmmastey
41
7.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
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 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。