This is the security checklist you run before shipping any Perl that touches user input, databases, or the shell. It walks through taint mode, input validation with allowlists instead of blocklists, three-argument open to prevent command injection, list-form system calls, and parameterized DBI queries. The examples are concrete: untainting usernames, preventing path traversal with realpath checks, avoiding ReDoS with possessive quantifiers, and validating sort columns against a hash of allowed fields. If you're writing CGI scripts, building a Mojolicious API, or just doing code review on anything that reads from STDIN or ENV, this gives you the patterns to catch injection bugs before they ship. Worth keeping open alongside perlsec.

skills.sh installs
4.5K
GitHub stars
229.1K
last updated
Jul 14, 2026

Install

$ npx -y skills add affaan-m/everything-claude-code --skill perl-security --agent claude-code

Installs into .claude/skills of the current project.

Files

Perl Security Patterns

Comprehensive security guidelines for Perl applications covering input validation, injection prevention, and secure coding practices.

When to Activate

  • Handling user input in Perl applications
  • Building Perl web applications (CGI, Mojolicious, Dancer2, Catalyst)
  • Reviewing Perl code for security vulnerabilities
  • Performing file operations with user-supplied paths
  • Executing system commands from Perl
  • Writing DBI database queries

How It Works

Start with taint-aware input boundaries, then move outward: validate and untaint inputs, keep filesystem and process execution constrained, and use parameterized DBI queries everywhere. The examples below show the safe defaults this skill expects you to apply before shipping Perl code that touches user input, the shell, or the network.

Taint Mode

Perl's taint mode (-T) tracks data from external sources and prevents it from being used in unsafe operations without explicit validation.

Enabling Taint Mode

#!/usr/bin/perl -T
use v5.36;

Sponsors

Details

Repository
github.com/affaan-m/everything-claude-code
Category
Security
First seen
Apr 16, 2026

More from affaan-m/everything-claude-code

All 256

Recommended

More Security
1elastic avatarsecurity-case-managementelastic/agent-skillsCreate, search, update, and manage SOC cases via the Kibana Cases API. Use when tracking incidents, linking alerts to cases, adding investigation notes, or mana4.4Kskills.sh installs
2elastic avatarsecurity-alert-triageelastic/agent-skillsTriage Elastic Security alerts — gather context, classify threats, create cases, and acknowledge. Use when triaging alerts, performing SOC analysis, or investig4.2Kskills.sh installs
3yaklang avatarxss-cross-site-scriptingyaklang/hack-skillsXSS playbook. Use when user-controlled content reaches HTML, attributes, JavaScript, DOM sinks, uploads, or multi-context rendering paths.4.2Kskills.sh installs
4elastic avatarsecurity-detection-rule-managementelastic/agent-skillsCreate, tune, and manage Elastic Security detection rules (SIEM and Endpoint). Use for false positives, exceptions, new coverage, noisy rules, or rule managemen4.1Kskills.sh installs
5elastic avatarsecurity-generate-security-sample-dataelastic/agent-skillsGenerate sample security events, attack scenarios, and synthetic alerts for Elastic Security. Use when demoing, populating dashboards, testing detection rules, 4.1Kskills.sh installs
6openai avatarsecurity-ownership-mapopenai/skillsAnalyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph4Kskills.sh installs