mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-03 06:08:15 +00:00
- Add security.py module with DNS-resolving URL validation that blocks private/reserved IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, 169.254.0.0/16, 0.0.0.0/32) and IPv6 equivalents - Update FileUrl._validate_url() to use the new validate_url() function - Disable follow_redirects in read()/aread() to prevent redirect-based SSRF - Add CREWAI_FILES_ALLOW_UNSAFE_URLS env var escape hatch - Add comprehensive tests for SSRF protection Fixes #5843 Co-Authored-By: João <joao@crewai.com>
crewai-files
File handling utilities for CrewAI multimodal inputs.
Supported File Types
ImageFile- PNG, JPEG, GIF, WebPPDFFile- PDF documentsTextFile- Plain text filesAudioFile- MP3, WAV, FLAC, OGG, M4AVideoFile- MP4, WebM, MOV, AVI
Usage
from crewai_files import File, ImageFile, PDFFile
# Auto-detect file type
file = File(source="document.pdf") # Resolves to PDFFile
# Or use specific types
image = ImageFile(source="chart.png")
pdf = PDFFile(source="report.pdf")
Passing Files to Crews
crew.kickoff(
input_files={"chart": ImageFile(source="chart.png")}
)
Passing Files to Tasks
task = Task(
description="Analyze the chart",
expected_output="Analysis",
agent=agent,
input_files=[ImageFile(source="chart.png")],
)