CtrlK
BlogDocsLog inGet started
Tessl Logo

file-validator

Validate file formats and content safely

Invalid
This skill can't be scored yet
Validation errors are blocking scoring. Review and fix them to unlock Quality, Impact and Security scores. See what needs fixing →
SKILL.md
Quality
Evals
Security

Evaluation results

100%

17%

Document Ingestion Security Validator

Path traversal prevention and extension whitelist

Criteria
Without context
With context

Python implementation

100%

100%

Uses os.path.basename

66%

100%

Basename applied before checks

100%

100%

Extension check present

100%

100%

Allowed .txt extension

100%

100%

Allowed .csv extension

100%

100%

Allowed .json extension

100%

100%

Allowed .md extension

0%

100%

Rejects unsupported extension

100%

100%

Path traversal rejected

86%

100%

Failure reason returned

100%

100%

Valid result returns filename

0%

100%

Without context: $0.2493 · 1m 12s · 15 turns · 16 in / 4,362 out tokens

With context: $0.6184 · 2m 7s · 34 turns · 1,085 in / 7,680 out tokens

98%

5%

Upload Safety Checker for Document Portal

File size limit and MIME type detection

Criteria
Without context
With context

Python implementation

100%

100%

Uses mimetypes module

100%

100%

mimetypes.guess_type used

100%

100%

Does NOT use python-magic

100%

100%

Size check with os.path.getsize

100%

100%

10MB size limit enforced

100%

100%

Oversized file rejected

100%

100%

MIME type in valid result

100%

100%

valid field in result

30%

100%

Failure reason included

100%

80%

Without context: $0.3338 · 1m 21s · 20 turns · 20 in / 5,059 out tokens

With context: $0.5848 · 2m 5s · 34 turns · 279 in / 7,434 out tokens

80%

45%

Secure File Processing Pipeline for Compliance Reports

Directory restriction and structured validation results

Criteria
Without context
With context

Python implementation

100%

100%

Uses expanduser for home dir

0%

0%

Safe directory is ~/documents/

0%

0%

Joins safe dir with basename

0%

100%

Files outside directory rejected

100%

100%

valid key in result

0%

100%

reason key on failure

0%

100%

filename key on success

100%

100%

size key on success

0%

100%

Results output as JSON

100%

100%

Without context: $0.4315 · 1m 34s · 24 turns · 24 in / 6,057 out tokens

With context: $0.5546 · 2m 2s · 31 turns · 278 in / 7,078 out tokens

Repository
cisco-ai-defense/skill-scanner
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.