Slide 1

Slide 1 text

eslint-plugin-securityを導入して、 低労力で堅牢なコードを作る Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio Kanon (@samurai_se) #nakanoshima_dev

Slide 2

Slide 2 text

自己紹介 2 Kanon 株式会社 虎の穴ラボ 個人事業 blessing software samurai_se ↓詳しくは↓ ● 最近「アイコンみたことある!」と声かけていただける率が増えてて嬉しい ○ のみならず、「xxの会にいましたよね?」率も上昇中 ○ ついにXを見て採用応募してくださった人も現れたらしい ● 本業はKtor(Kotlin), Next.jsで副業がLaravel, Nest.js,Next.js Copyright © 2024 blessing software. All Rights Reserved.

Slide 3

Slide 3 text

3 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 最初にみなさんにお願いしたいことがあります

Slide 4

Slide 4 text

4 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio Kobe.tsのメンバーになってください!!

Slide 5

Slide 5 text

5 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 公開から3週間で メンバーが100人近くに

Slide 6

Slide 6 text

6 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 📢 次回予定 🙏 増枠できないので、 興味ある方はお早目に!! 残り6枠です

Slide 7

Slide 7 text

7 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 📢 他に宣伝 🙏   登壇枠は満員! 参加枠が残り2枠です!

Slide 8

Slide 8 text

8 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio オフィスを会場として提供可能な方、教えてください

Slide 9

Slide 9 text

9 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio ステッカー作りました!!欲しい人配ります!!

Slide 10

Slide 10 text

本編 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 11

Slide 11 text

11 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 今日する話は、明日からでも取り組めます

Slide 12

Slide 12 text

12 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio JS,TSを使ってるけどこれを入れてない人は 明日すぐに入れてみてください

Slide 13

Slide 13 text

13 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio ところで、コードに脆弱性が100%ない! って言い切れますか?🤔

Slide 14

Slide 14 text

脆弱性がない状況をマニュアルでレビューできる? ● ある程度脆弱性に詳しい人がPRレビューしてれば出来る ○ けど、その人がいなくなったら? ● 複数人で開発している中で、全員が脆弱性に精通している? ○ それは理想だけど、そうそうない ● そもそも、レビューのときに脆弱性ばかりに集中したい? ○ 自分はNo ○ 勝手に検知してほしい ○ あるいは、信用できる誰か (脆弱性診断など)にしてほしい 14 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 15

Slide 15 text

脆弱性診断してるし完璧! …本当に? ● それってリリースのたびにしてるの? ○ であれば、その資金力が羨ましい ● リリース前にしているとして ○ 脆弱性が見つかったとき、リリースの直前に修正するの? ○ だいたいそこで修正すると、デグったりリグレッションしてる ● 脆弱性診断は有用だけど、必ずしも銀弾丸たり得ない 15 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 16

Slide 16 text

16 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 脆弱性診断は確かに重要だし、信頼性も高い けど、フィードバックループは悪い

Slide 17

Slide 17 text

What is フィードバックループ 17 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 簡単に言えば、 プログラマが問題点を 気づける機会のこと

Slide 18

Slide 18 text

What is フィードバックループ 18 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio このタイミングで 気づくよりは

Slide 19

Slide 19 text

What is フィードバックループ 19 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio このタイミングで 気付けた方がいいのは 明らか

Slide 20

Slide 20 text

20 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio このフィードバックループを短くする方法が…

Slide 21

Slide 21 text

eslint-security-plugin 21 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio ● 脆弱性のあるコーディング箇所はエラーまたは警告してくれる ● 怒ってくれる例 ○ 任意コード実行できる evalの使い方 ○ DOS攻撃の原因になる正規表現 ○ オブジェクトインジェクション脆弱性 ○ ディレクトリトラバーサルが可能な fs呼び出し 詳細はこちらのQRコードより

Slide 22

Slide 22 text

22 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 導入方法 めちゃ簡単

Slide 23

Slide 23 text

(eslintはある前提で) pluginをinstall npm install –save-dev eslint-plugin-security 23 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 24

Slide 24 text

.eslintrc.jsonにpluginを記述 24 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 25

Slide 25 text

25 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 以上!!

Slide 26

Slide 26 text

26 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 簡単でしょ?

Slide 27

Slide 27 text

詳しくは自分のZennに書いてます 27 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio

Slide 28

Slide 28 text

28 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio 警告やエラーになったら直さないとだから 明日すぐにはいれられなくない…?

Slide 29

Slide 29 text

29 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio それが出るなら、一日でも早く直しましょう! つまり脆弱性がある可能性が高いってことです

Slide 30

Slide 30 text

30 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio ご清聴、あざざました

Slide 31

Slide 31 text

31 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio おわりに 三ノ宮で待ってます!! samurai_se