15
Security Advisories Checker on (Travis|Circle) CI PHP BLT#2 @serima

Security Advisories Checker on Travis/Circle CI

Embed Size (px)

Citation preview

Page 1: Security Advisories Checker on Travis/Circle CI

Security Advisories Checker on (Travis|Circle) CIPHP BLT#2 @serima

Page 2: Security Advisories Checker on Travis/Circle CI

@serima

• PHP Developer @ Zappallas • mag2 -> GREE -> Zappallas

• http://serima.co/blog • Recent topics

• WordPress on PHP 7, HTTP/2 • Setup Sakura-VPS with Ansible

• 最近の興味 • 二酸化炭素濃度の計測(まだやってない!)

Page 3: Security Advisories Checker on Travis/Circle CI

SensioLabs Security Advisories Checker

• SensioLabs 社製のライブラリ脆弱性チェッカー

Page 4: Security Advisories Checker on Travis/Circle CI

SensioLabs

• Symfony / Twig / Silex などを開発しているフランスの

会社 • 最近だと、プロファイラツール blackfire.io をリリース

した

Page 5: Security Advisories Checker on Travis/Circle CI

composer.lock で判定

• Online Checker • ウェブ上で composer.lock をアップロード

• CLI Checker • CLI Tool をダウンロードしてコマンドライン実行

• Web API • SensioLabs 上にエンドポイントが用意されている

Page 6: Security Advisories Checker on Travis/Circle CI

継続的脆弱性チェック

• 各種インタフェースが提供されているので、CI に組み

込み、継続的脆弱性チェックが簡単に可能

Page 7: Security Advisories Checker on Travis/Circle CI

How to integrate

• composer require sensiolabs/security-checker • composer update • git add composer.json composer.lock • git commit -m ‘Integrate security-checker’

Page 8: Security Advisories Checker on Travis/Circle CI

TravisCI - .travis.yml

language: php php: - 5.6

before_script: - composer self-update - composer install - chmod -R 777 storage

script: - vendor/bin/security-checker security:check - phpunit

Page 9: Security Advisories Checker on Travis/Circle CI

CircleCI - circle.yml

machine: timezone: Asia/Tokyo php: version: 5.6.14

test: override: - vendor/bin/security-checker security:check - vendor/bin/phpunit

Page 10: Security Advisories Checker on Travis/Circle CI

Test

• swiftmailer/swiftmailer は 5.2.1 未満のバージョンに脆

弱性がある • ためしに 5.0.0 を

インストールするよう

指定してみる

Page 11: Security Advisories Checker on Travis/Circle CI

Test

• ちゃんと fail しました

• 脆弱性の内容も表示されています

Page 12: Security Advisories Checker on Travis/Circle CI

Test

• 最新版を入れるように設定して再度チャレンジ • ちゃんと green になりました

Page 13: Security Advisories Checker on Travis/Circle CI

脆弱性データベース

• このリポジトリに登録されているものが脆弱性データベースとして使われている • https://github.com/FriendsOfPHP/security-

advisories • This database must not serve as the primary

source of information for security issues, it is not authoritative for any referenced software, but it allows to centralize information for convenience and easy consumption.

Page 14: Security Advisories Checker on Travis/Circle CI

まとめ

• ほぼコストゼロでライブラリの脆弱性チェックが可能になるので、入れておいて損はないです

• が、先程も言ったとおり完全に信頼してしまわないように注意🃏

• JVN など他のデータベースは別途チェックしましょう

• https://github.com/serima/security-checker-on-lumen • サンプルを置いておきました

Page 15: Security Advisories Checker on Travis/Circle CI

おわり🍔