security advisories checker on travis/circle ci
TRANSCRIPT
![Page 1: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/1.jpg)
Security Advisories Checker on (Travis|Circle) CIPHP BLT#2 @serima
![Page 2: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/2.jpg)
@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](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/3.jpg)
SensioLabs Security Advisories Checker
• SensioLabs 社製のライブラリ脆弱性チェッカー
![Page 4: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/4.jpg)
SensioLabs
• Symfony / Twig / Silex などを開発しているフランスの
会社 • 最近だと、プロファイラツール blackfire.io をリリース
した
![Page 5: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/5.jpg)
composer.lock で判定
• Online Checker • ウェブ上で composer.lock をアップロード
• CLI Checker • CLI Tool をダウンロードしてコマンドライン実行
• Web API • SensioLabs 上にエンドポイントが用意されている
![Page 6: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/6.jpg)
継続的脆弱性チェック
• 各種インタフェースが提供されているので、CI に組み
込み、継続的脆弱性チェックが簡単に可能
![Page 7: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/10.jpg)
Test
• swiftmailer/swiftmailer は 5.2.1 未満のバージョンに脆
弱性がある • ためしに 5.0.0 を
インストールするよう
指定してみる
![Page 11: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/11.jpg)
Test
• ちゃんと fail しました
• 脆弱性の内容も表示されています
![Page 12: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/12.jpg)
Test
• 最新版を入れるように設定して再度チャレンジ • ちゃんと green になりました
![Page 13: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/13.jpg)
脆弱性データベース
• このリポジトリに登録されているものが脆弱性データベースとして使われている • 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](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/14.jpg)
まとめ
• ほぼコストゼロでライブラリの脆弱性チェックが可能になるので、入れておいて損はないです
• が、先程も言ったとおり完全に信頼してしまわないように注意🃏
• JVN など他のデータベースは別途チェックしましょう
• https://github.com/serima/security-checker-on-lumen • サンプルを置いておきました
![Page 15: Security Advisories Checker on Travis/Circle CI](https://reader034.vdocuments.net/reader034/viewer/2022042907/587295381a28ab36118b72af/html5/thumbnails/15.jpg)
おわり🍔