perl-security
テイントモード、入力バリデーション、安全なプロセス実行、DBIパラメータ化クエリ、Webセキュリティ(XSS/SQLi/CSRF)、perlcriticセキュリティポリシーを網羅する包括的なPerlセキュリティ。
Original · translation is not supported for this source languageTarget: Cloud, operations & security. Automatically collected · unverified.
Excerpt from the author’s documentation
Extracted from a fixed version of SKILL.md in its original language. This is the author’s documentation; installation, compatibility and runtime results have not been verified by this site.
Read the original Japanese text
Topics in the source
- Perlセキュリティパターン
- アクティベートするタイミング
- 仕組み
- テイントモード
- テイントモードの有効化
- アンテイントパターン
- 入力バリデーション
- ブロックリストよりアローリスト
入力バリデーション、インジェクション防止、セキュアコーディングプラクティスを網羅するPerlアプリケーションの包括的なセキュリティガイドライン。 Perlアプリケーションでユーザー入力を処理するとき PerlのWebアプリケーション(CGI、Mojolicious、Dancer2、Catalyst)を構築するとき セキュリティ脆弱性についてPerlコードをレビューするとき ユーザー指定パスでファイル操作を実行するとき PerlからシステムコマンドをExecuteするとき DBIデータベースクエリを書くとき テイント対応の入力境界から始め、次に外側に移動する: 入力をバリデートしてアンテイントし、ファイルシステムとプロセス実行を制約内に保ち、どこでもパラメータ化されたDBIクエリを使用する。以下の例は、ユーザー入力、シェル、またはネットワークに触れるPerlコードをリリースする前に適用することが期待されるデフォルトを示す。 Perlのテイントモード(-T)は外部ソースからのデータを追跡し、明示的なバリデーションなしに安全でない操作で使用されることを防ぐ。 壊滅的なバックトラッキングは重複するパターンにネストされた量詞が使用されるときに発生する。 一時ファイルにはFile::Temp(tempfile(UNLINK => 1))を使用し、レースコンディションを防ぐためにflock(LOCKEX)を使用する。 外部コマンドからstdout/stderrを安全にキャプチャするためにはCapture::Tinyも使用する。 トークンを検証するときは定数時間比較を使用する。ほとんどのWebフレームワーク(Mojolicious、Dancer2、Catalyst)には組み込みのCSRF保護がある — 手作りのソリューションよりそれらを優先する。 常に出力をそのコンテキスト用にエンコードする: HTML用にはHTML::Entities::encodeentities()、URL用にはURI::Escape::uriescapeutf8()、JSON用にはJSON::MaybeXS::encodejson()。 cpanfileでバージョンをピン留め: requires 'DBI', '== 1.643'; メンテナンスされたモジュールを優先: MetaCPANで最近のリリースを確認 依存関係を最小化: 各依存関係は攻撃面積 | チェック | 確認事項 | |---|---| | テイントモード | CGI/Webスクリプトの-Tフラグ | | 入力バリデーション | アローリストパターン、長さ制限 | | ファイル操作 | 3引数open、パストラバーサルチェック | | プロセス実行 | リスト形式のsystem、シェル補間なし | | SQLクエリ | DBIプレース
This is an excerpt. Refer to the complete source and its current requirements.
- Source repository
- affaan-m/ECC
- Source file
- docs/ja-JP/skills/perl-security/SKILL.md
- Fixed revision
- d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
Requirements
- Only the author’s Skill metadata is included. Read the full instructions to check dependencies, licensing and conditions of use.
A small first task
先阅读原作者说明,再决定是否在自己的 AI 工具中使用。
Instructions for your AI tool
- Claude Desktop: resource-specific guide not available yet
- Claude Code: resource-specific guide not available yet
- Cursor: resource-specific guide not available yet
- Codex: resource-specific guide not available yet
Author documentation is not live verification by this site. Without evidence, we do not mark a resource as compatible, safe or free.
Sources and evidence
This record was collected automatically. Its documentation, suitability and runtime behavior have not been manually verified.
Author: affaan-m/ECC · original repository metadata. Documentation review: Not reviewed. Last source check: 2026-11-09T14:01:49.524Z.
Categories are inferred from names, descriptions and paths. They do not establish compatibility.
License and attribution
MIT. Third-party content and copyright remain with their authors. Refer to the original license and terms.
Original license ↗Synchronization, copying and user-reported success do not mark a resource as runtime-tested.
Limitations and notes
- Collecting metadata does not mean this site has installed, adapted, runtime-tested or security-reviewed the resource.