From 4364503615804fa3d6856c6602cc035e0bca6761 Mon Sep 17 00:00:00 2001 From: lorenzejay Date: Thu, 8 Jan 2026 16:20:30 -0800 Subject: [PATCH] linted --- .../environment_tools/file_search_tool.py | 21 +++++++-------- .../environment_tools/grep_tool.py | 3 ++- .../environment_tools/list_dir_tool.py | 27 +++++++++---------- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/lib/crewai/src/crewai/experimental/environment_tools/file_search_tool.py b/lib/crewai/src/crewai/experimental/environment_tools/file_search_tool.py index 79209a0e5..4503931d9 100644 --- a/lib/crewai/src/crewai/experimental/environment_tools/file_search_tool.py +++ b/lib/crewai/src/crewai/experimental/environment_tools/file_search_tool.py @@ -106,19 +106,18 @@ Examples: result_lines.append("=" * 60) for match in matches: - try: - # Get relative path from search directory - rel_path = match.relative_to(search_path) + # Get relative path from search directory + rel_path = match.relative_to(search_path) - if match.is_dir(): - result_lines.append(f"📁 {rel_path}/") - else: + if match.is_dir(): + result_lines.append(f"📁 {rel_path}/") + else: + try: size = match.stat().st_size - size_str = self._format_size(size) - result_lines.append(f"📄 {rel_path} ({size_str})") - except (OSError, PermissionError): - # Skip entries we can't access - continue + except (OSError, PermissionError): + continue # Skip files we can't stat + size_str = self._format_size(size) + result_lines.append(f"📄 {rel_path} ({size_str})") return "\n".join(result_lines) diff --git a/lib/crewai/src/crewai/experimental/environment_tools/grep_tool.py b/lib/crewai/src/crewai/experimental/environment_tools/grep_tool.py index cfbc0de7f..25419062f 100644 --- a/lib/crewai/src/crewai/experimental/environment_tools/grep_tool.py +++ b/lib/crewai/src/crewai/experimental/environment_tools/grep_tool.py @@ -108,7 +108,8 @@ Examples: cmd.append(str(search_path)) # Execute with timeout - result = subprocess.run( + # Security: cmd is a list (no shell injection), path is validated above + result = subprocess.run( # noqa: S603 cmd, capture_output=True, text=True, diff --git a/lib/crewai/src/crewai/experimental/environment_tools/list_dir_tool.py b/lib/crewai/src/crewai/experimental/environment_tools/list_dir_tool.py index a4513aa79..0bb4e7cae 100644 --- a/lib/crewai/src/crewai/experimental/environment_tools/list_dir_tool.py +++ b/lib/crewai/src/crewai/experimental/environment_tools/list_dir_tool.py @@ -109,22 +109,21 @@ Examples: files = [] for entry in entries: - try: - # Get relative path for recursive listings - if recursive: - display_name = str(entry.relative_to(dir_path)) - else: - display_name = entry.name + # Get relative path for recursive listings + if recursive: + display_name = str(entry.relative_to(dir_path)) + else: + display_name = entry.name - if entry.is_dir(): - dirs.append(f"📁 {display_name}/") - else: + if entry.is_dir(): + dirs.append(f"📁 {display_name}/") + else: + try: size = entry.stat().st_size - size_str = self._format_size(size) - files.append(f"📄 {display_name} ({size_str})") - except (OSError, PermissionError): - # Skip entries we can't access - continue + except (OSError, PermissionError): + continue # Skip files we can't stat + size_str = self._format_size(size) + files.append(f"📄 {display_name} ({size_str})") # Output directories first, then files if dirs: