Path Traversal Defense & Canonical Path Sanitizer
Verified SecureCreated by OWASP•security Workflow
Prevent unauthorized file system access by strictly validating and canonicalizing paths.
npx askills install path-traversal-canonical-sanitizer
Client Trigger & Invocation Simulator
$path-traversal-canonical-sanitizer <your task>Type `$path-traversal-canonical-sanitizer` in the chat or invoke via natural language. Codex automatically identifies the skill from ~/.agents/skills or project .skills, mounts bundled scripts, and executes inside the workspace sandbox.
$path-traversal-canonical-sanitizer Sanitize user-provided file download parameters to prevent reading /etc/passwd or system files.
Overview & Problem Solved
When modern frontier LLMs (like Claude 3.7, GPT-4o, or deep reasoning agents) execute complex domain tasks without standard operating procedures, they frequently suffer from context drift, incorrect CLI arguments, or non-standard file hierarchies. Path Traversal Defense & Canonical Path Sanitizer eliminates probabilistic guessing by supplying the Agent with an authoritative, sandboxed execution specification.
By packaging verified workflows into a structured SKILL.md manifest, this skill establishes deterministic boundaries, verifies dependencies, and executes tasks using proven engineering conventions.
Operational Impact: Without Skill vs. With Skill
Raw frontier models possess deep knowledge, but probabilistic prompting lacks rigid engineering guardrails. Packaging Path Traversal Defense & Canonical Path Sanitizer into a verified SKILL.md transforms speculative model behavior into reproducible, deterministic delivery.
- Speculative CLI Flags: Model guesses experimental command arguments or deprecated API endpoints.
- Lazy Placeholder Code: Outputs
// TODO: implement error handlingor skips critical verification phases. - Directory Pollution: Generates non-standard file structures that break existing project linters and monorepo roots.
- Extraneous Context Bloat: Wastes thousands of output tokens on narrative pleasantries rather than verified deliverables.
function process() {
// TODO: Connect database here
console.log("Done");
}- Codified Workflow Stages: Follows strict step-by-step algorithms explicitly codified in SKILL.md.
- Zero-Placeholder Delivery: Every deliverable is 100% implemented, with complete error boundaries and types.
- Automatic Pre-Flight Check: Agent inspects environment dependencies (Python/Node/Docker) before modifying files.
- Self-Healing Verification: Runs automated linting, test suites, or syntax parsers before concluding the turn.
export async function execute() {
const validated = schema.parse(input);
return await auditAndPersist(validated);
}Core Capabilities & Guarantees
Follows pre-tested instructions and step-by-step algorithms, avoiding experimental or hallucinated flags.
Runs with identical behavioral fidelity across OpenAI Codex, Claude Code, Cursor IDE, and Windsurf Cascade.
Enforces workspace-scoped file mutations and shields environment secrets against accidental prompt leakage.
Automates test verification, linter checks, and syntax validation before completing any user turn.
Agent Execution Pipeline
Intent Matching & Context Ingestion
The agent scans the user request against the skill's YAML frontmatter triggers and loads the verified instructions into active working memory.
Toolchain & Dependency Validation
The runtime verifies that necessary tools, interpreters, and environment configurations exist within the workspace sandbox before proceeding.
Deterministic Execution & Delivery
The agent executes the codified SOP, runs verification checks, and outputs high-fidelity deliverables without extraneous narration.
Validated Prompt Templates
(Click to copy)“Sanitize user-provided file download parameters to prevent reading /etc/passwd or system files.”
“Resolve canonical file paths using realpath and verify they reside within the designated uploads folder.”
“Strip path traversal sequences (../, ..\) and null bytes (%00) from incoming filename strings.”
Automated Security & Audit Report
Workspace Scoped
Cannot escape workspace rootInstruction Only
Zero system subprocessesOffline Sandbox
No internet egressNone Required
Runs fully standaloneEnterprise & Production Use Cases
Frequently Asked Questions
Q: What makes Path Traversal Defense & Canonical Path Sanitizer different from a standard MCP server?
MCP (Model Context Protocol) provides external protocol connections to databases or APIs. In contrast, Path Traversal Defense & Canonical Path Sanitizer is a high-level operational skill (SKILL.md) that teaches AI Agents procedural intelligence, deterministic step-by-step SOPs, parameter constraints, and self-correction workflows.
Q: Is Path Traversal Defense & Canonical Path Sanitizer compatible with frontier models like Claude 3.7 Sonnet, GPT-4o, and DeepSeek-R1?
Yes. The skill is packaged with standard markdown instructions (SKILL.md) and YAML frontmatter, adhering to the universal agent skill standard natively supported across Codex, Claude Code, Cursor, and Windsurf.
Q: What permissions does Path Traversal Defense & Canonical Path Sanitizer require in agent mode?
Every listed skill undergoes automated static analysis scoring 98/100. It strictly adheres to workspace-scoped filesystem boundaries and does not execute untrusted remote code.
Q: Can our team customize or extend the rules in this SKILL.md?
Yes. Once installed in your project root (.skills/path-traversal-canonical-sanitizer/SKILL.md or ~/.agents/skills/path-traversal-canonical-sanitizer/), you can customize the instructions to include internal team guidelines, custom linters, or proprietary APIs.
SKILL.md Source Specification
---
name: "path-traversal-canonical-sanitizer"
description: "Prevent unauthorized file system access by strictly validating and canonicalizing paths."
metadata:
author: "OWASP"
version: "1.0.0"
runtime_compatibility:
- "codex"
- "claude-code"
- "cursor"
- "windsurf"
triggers:
- "prevent path traversal"
- "sanitize file download path"
- "validate path stays in base directory"
permissions:
fs_read: true
fs_write: "workspace"
shell_exec: false
net_access: false
---
# Path Traversal Defense & Canonical Path Sanitizer
Defends file serving and download endpoints against directory traversal attacks (../): resolving canonical realpaths, validating paths stay within root base directories, and stripping null bytes.
## When to Invoke
Invoke this skill whenever you need to:
- prevent path traversal
- sanitize file download path
- validate path stays in base directory
## Execution SOP & Rules
1. Resolve target path to absolute canonical path using path.resolve() or os.path.realpath().
2. Verify canonical path starts with base directory: resolvedPath.startsWith(baseDirectory).
3. Reject or strip directory separator characters (/ and \) from filenames intended for storage.
4. Use random UUIDs or database IDs on the filesystem rather than user-provided filenames.
## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
Related Security Skills
Decompile, disassemble, and analyze compiled software binaries and firmware.
Configure secure Cross-Origin Resource Sharing (CORS) without wildcards or leaks.
Audit Bash and POSIX shell scripts for quoting flaws, word splitting, and command injection.