Agent skill · security · affaan-m

perl-security

テイントモード、入力バリデーション、安全なプロセス実行、DBIパラメータ化クエリ、Webセキュリティ(XSS/SQLi/CSRF)、perlcriticセキュリティポリシーを網羅する包括的なPerlセキュリティ。

Why this skill is useful

Adds comprehensive Perl security patterns and executable code examples that enhance secure coding practices beyond standard knowledge.

What it needs

About 5k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.

What this skill does

Perlセキュリティパターン 入力バリデーション、インジェクション防止、セキュアコーディングプラクティスを網羅するPerlアプリケーションの包括的なセキュリティガイドライン。 アクティベートするタイミング Perlアプリケーションでユーザー入力を処理するとき PerlのWebアプリケーション(CGI、Mojolicious、Dancer2、Catalyst)を構築するとき セキュリティ脆弱性についてPerlコードをレビューするとき ユーザー指定パスでファイル操作を実行するとき PerlからシステムコマンドをExecuteするとき DBIデータベースクエリを書くとき 仕組み テイント対応の入力境界から始め、次に外側に移動する: 入力をバリデートしてアンテイントし、ファイルシステムとプロセス実行を制約内に保ち、どこでもパラメータ化されたDBIクエリを使用する。以下の例は、ユーザー入力、シェル、またはネットワークに触れるPerlコードをリリースする前に適用することが期待されるデフォルトを示す。 テイントモード Perlのテイントモード(-T)は外部ソースからのデータを追跡し、明示的なバリデーションなしに安全でない操作で使用されることを防ぐ。 テイントモードの有効化 アンテイントパターン 入力バリデーション ブロックリストよりアローリスト 長さ制約 安全な正規表現 ReDoS防止 壊滅的なバックトラッキングは重複するパターンにネストされた量詞が使用されるときに発生する。 安全なファイル操作 3引数open TOCTOU防止とパストラバーサル 一時ファイルにはFile::Temp(tempfile(UNLINK => 1))を使用し、レースコンディションを防ぐためにflock(LOCKEX)を使用する。 安全なプロセス実行 リスト形式のsystemとexec 外部コマンドからstdout/stderrを安全にキャプチャするためにはCapture::Tinyも使用する。 SQLインジェクション防止 DBIプレースホルダー 動的カラムアローリスト DBIx::Class(ORM安全性) Webセキュリティ XSS防止 CSRF保護 トークンを検証するときは定数時間比較を使用する。ほとんどのWebフレームワーク(Mojolicious、Dancer2、Catalyst)には組み込みのCSRF保護がある — 手作りのソリューションよりそれらを優先する。 セッションとヘッダーセキュリティ 出力エンコード 常に出力をそのコンテキスト用にエンコードする: HTML用にはHTML::Entities::encodeentities()、URL用にはURI::Escape::uriescapeutf8()、JSON用にはJSON::MaybeXS::encodejson()。 CPANモジュールセキュリティ cpanfileでバージョンをピン留め: requires 'DBI', '== 1.643'; メンテナンスされたモジュールを優先: MetaCPANで最近のリリースを確認 依存関係を最小化: 各依存関係は攻撃面積 セキュリティツーリング perlcriticセキュリティポリシー perlcriticの実行 クイックセキュリティチェックリスト チェック 確認事項 --- --- テイントモード CGI/Webスクリプトの-Tフラグ 入力バリデーション アローリストパターン、長さ制限 ファイル操作 3引数open、パストラバーサルチェック プロセス実行 リスト形式のsystem、シェル補間なし SQLクエリ DBIプレースホルダー、補間しない HTML出力 encodeentities()、テンプレート自動エスケープ CSRFトークン 生成され、状態変更リクエストで検証される セッション設定 Secure、HttpOnly、SameSiteクッキー HTTPヘッダー CSP、X-Frame-Options、HSTS 依存関係 ピン留めされたバージョン、監査されたモジュール 正規表現の安全性 ネストされた量詞なし、アンカーされたパターン エラーメッセージ スタックトレースやパスがユーザーに漏れない アンチパターン 忘れないこと: Perlの柔軟性は強力だが規律が必要。Webに面したコードにはテイントモードを使用し、アローリストですべての入力をバリデートし、すべてのクエリにDBIプレースホルダーを使用し、すべての出力をそのコンテキスト用にエンコードする。多層防御 — 単一の層に依存しない。

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills affaan-m/perl-security--0f53d9

View the source on GitHub

Browse the @skills marketplace