Use safe expression parser in calculator tool example (#6211)

* Replace eval with safe expression parser in calculator tool example

Update the calculator tool example in the CLI template to use
ast.parse instead of eval for expression evaluation.

Co-authored-by: Vinicius Brasil <vini@hey.com>

* Replace calculator example with practical file reader tool

* Use word count example - safe, no file/eval risk

---------

Co-authored-by: Vinicius Brasil <vini@hey.com>
This commit is contained in:
iris-clawd
2026-06-17 20:59:26 -03:00
committed by GitHub
parent 0a577b7d05
commit 9d70553515

View File

@@ -767,10 +767,11 @@ class CustomSearchTool(BaseTool):
```python
from crewai.tools import tool
@tool("Calculator")
def calculator(expression: str) -> str:
"""Evaluates a mathematical expression and returns the result."""
return str(eval(expression))
@tool("WordCount")
def word_count(text: str) -> str:
"""Counts the number of words in the given text."""
count = len(text.split())
return f"Word count: {count}"
```
### Built-in Tools (install with `uv add crewai-tools`)