⚡️

Next.jsにeslint-plugin-securityを導入してみた

2023/10/20に公開1

eslint-plugin-security とは

セキュリティ的に脆弱性になりそうなところを静的解析してくれるライブラリです。

具体的にどういうことを検知してくれるのかは、本家ページを見てみてください。

https://github.com/eslint-community/eslint-plugin-security#rules

なにがいいの?

脆弱性診断ツールを使うなどによって脆弱性そのものを検知することは可能です。

しかし、ツールを使った診断はプロダクトがある程度形になってから行われるものであり、

そのタイミングで脆弱性が検知され修正が発生した場合、修正の規模が大きくなってしまいます。

一方で、開発中から脆弱性を検知することができればそれだけ修正のコストが低くなるため、導入しておくべきだと考えます。

導入

前提として、既にeslint自体は導入済みであることがあります。

npm install --save-dev eslint-plugin-security
.eslintrc.json
{
    "rules": {

    },
    "extends": [
        "exlint:recommended",
+        "plugin:security/recommended"
    ]
}

困ったこと

こうした望まぬ警告を無効にするには、以下のように設定を付け加えます。

.eslintrc.json
{
    "rules": {
+        "security/detect-object-injection": "off"
    },
    "extends": [
        "exlint:recommended",
        "plugin:security/recommended"
    ]
}

おわりに

後になって困ることをあらかじめ検知してくれるのが Linter の醍醐味だと思うのですが、その醍醐味が十分に生きる Linter…素晴らしいです。

メンバー募集中!

サーバーサイド Kotlin コミュニティを作りました!

Kotlin ユーザーはぜひご参加ください!!

https://serverside-kt.connpass.com/

また関西在住のソフトウェア開発者を中心に、関西エンジニアコミュニティを一緒に盛り上げてくださる方を募集しています。

よろしければ Conpass からメンバー登録よろしくお願いいたします。

https://blessingsoftware.connpass.com/

Discussion

renadachirenadachi

"plugin:security/recommended" から "plugin:security/recommended-legacy"に変わったみたいです