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
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
560
怖くない!GritQLでBiomeプラグインを作ろうよ
pal4de
1
120
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
8
1.2k
Amazon CloudWatchのメトリクスインターバルについて / Metrics interval matters
ymotongpoo
3
210
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
350
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
130
生成AIによる情報システムへのインパクト
taka_aki
1
110
2025-07-25 NOT A HOTEL TECH TALK ━ スマートホーム開発の最前線 ━ SOFTWARE
wakinchan
0
110
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
5.8k
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.5k
SAE J1939シミュレーション環境構築
daikiokazaki
0
140
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
270
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Side Projects
sachag
455
43k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Scaling GitHub
holman
461
140k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Why Our Code Smells
bkeepers
PRO
337
57k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。