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.7k
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.1k
Other Decks in Technology
See All in Technology
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
Azureの基本的な権限管理の勉強会
yhana
0
590
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
240
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
330
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
900
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
320
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
Atom: Resistance is Futile
akmur
259
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Rails Girls Zürich Keynote
gr2m
91
13k
Typedesign – Prime Four
hannesfritz
36
2.1k
Faster Mobile Websites
deanohume
299
30k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
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 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。