toshi-toma blog

主にフロントエンド、作業ログあとは色々なメモ ✍️ 🍅

「フロントエンド開発のためのセキュリティ入門」を読んだ

書籍「フロントエンド開発のためのセキュリティ入門」を読みました。

どういう本か

この本は、Webアプリケーションにおける脆弱性やその対策について、フロントエンドに焦点を当てて解説しています。 Webやセキュリティに関する知識のない人でも理解できるよう、HTTPやオリジン、ブラウザの同一オリジンポリシー、Cookie、DOMといった基本的な用語や概念についても説明されています。

また、ハンズオン形式なので、まずは手元で攻撃を成功させてから対策を入れた結果を確認できるので理解を深めれます。

初学者がわかりやすいように噛み砕いて身近な例で説明していたり、画像や図もあり、とても分かりやすかったです。あと、文章が読みやすくてスラスラ読めました。

ハンズオンはNode.js、Expressベースなので普段はサーバーサイドの開発に触れていなくてもJavaScriptが分かれば、フロントエンドエンジニアがとっつきやすい内容だと思います。

8章では、npnパッケージをはじめとしたライブラリに潜むリスクと対策なども解説しており まさにフロントエンドエンジニアが知っておく内容が幅広く扱われていています。

最近の動向を踏まえた内容

2023年に発売されたということで、自分が追えていない最近の動向を踏まえた変化なども書いてあって学びになりました。 特に、CSPやTrusted Typesあたりは、ちゃんと調べたり、実際に試してこなかったので勉強になりました。

他にも、CookieのSame Site属性やhttp://だとブラウザで警告が出る、Mixed Contentのブロックとか、ここ数年で変化のあったトピックも書いてあり、最新の情報としてキャッチアップできました。

CORP, COEP, COOPあたりは難しかったので、自分で試してみないとなーと思いました。

XSSの章だと、Reactなど、いま使われているライブラリで行われている対策などの解説もあります。

おすすめ

フロントエンドエンジニアとして働いているけど、業務経験が浅く、セキュリティをまだあまり意識してなかった人に特におすすめです。 本書で、Webやセキュリティの基礎的なところも学べるので、気になったトピックを深堀りして、自分が担当してるプロダクトだとどうか?を考えると良さそう。

自分は初学者向けにTechTrainでフロントエンドのメンターをしていますが、HTTPリクエストやデベロッパーツールのNetworkパネルを知らない人も多かったので、そのあたりから、まさに学べて良さそうです。

ある程度、知識や経験があるエンジニアも、最近の動向や変化も踏まえてキャッチアップできるのでおすすめです。