はじめに
こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。
eslint-plugin-security という ESLint プラグインを知っていますか?
eslint-plugin-security は、潜在的なセキュリティリスクを検知してくれる ESLint プラグインです。
実際に導入してみましたが、フロント含め全体に適用するとちょっと厳しすぎると感じました。
ただ、開発初期から導入しておくと安心感があると思います。
インストール
npm install --save-dev eslint-plugin-security
# TypeScript の場合
npm install --save-dev @types/eslint-plugin-security
設定(Flat Config)
既存の eslint.config.js に 1 行追加するだけで OK です。
import security from "eslint-plugin-security";
export default [
// 既存の設定…
security.configs.recommended, // 追加
];
どんなルールがある?
代表的にはこんな検知をしてくれます:
- 危険な正規表現(ReDoS の可能性)
-
evalの使用 - オブジェクトへの動的キー代入(プロトタイプ汚染の恐れ)
感想
- 全体に入れると誤検知っぽいものも多くて運用が大変
- 必要に応じて 一部ルール(例:
detect-unsafe-regex)だけ有効化して使うのもアリ - 開発初期から導入しておくとリスクを早めに潰せる安心感がある
まとめ
-
eslint-plugin-securityはセキュリティ強化に役立つが、適用範囲は工夫したほうがいい - 開発初期から導入しておくとリスクを早めに潰せる
- 全体に一気に適用するより、一部ルールから始めるのがおすすめ