3ac10ab851
fix: broken test and in-function shlex imports from CWE-78 remediation ( #1322 )
...
* security: Fix Shell Injection Vulnerabilities (CWE-78) - 15 files fixed
- Replace shell=True with shell=False across subprocess calls
- Add shlex.split() for safe argument parsing
- Update async subprocess calls to use create_subprocess_exec
- Fix vulnerabilities in core, CLI, tools, examples, and tests
- Maintain existing command validation and functionality
- Eliminate 29 shell injection attack vectors
Security improvements:
* Core command execution (execute_command.py)
* Safe shell interface (safe_shell.py)
* Sandbox execution (sandbox_executor.py)
* Workflow and action execution
* Memory hooks and documentation tools
* Example code and test utilities
All functionality preserved while securing against CWE-78 injection attacks.
Fixes #1320
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
* fix: move import shlex to module level, fix broken test_command_failure
Agent-Logs-Url: https://github.com/MervinPraison/PraisonAI/sessions/7af9d997-bcd4-48a1-b0fe-5c11679ea3a9
Co-authored-by: MervinPraison <[email protected] >
* fix: address reviewer feedback - shell API contract, cross-platform shlex, exception handling, env validation
- Fix shell=True API contract violation: explicitly reject shell=True with clear error message
- Add cross-platform compatibility for shlex.split() using posix=(os.name == 'posix')
- Add proper exception handling for malformed command syntax (ValueError from shlex.split)
- Add environment variable validation to filter dangerous vars (LD_PRELOAD, PYTHONPATH, etc.)
- Update docstring to indicate shell=True is deprecated for security reasons
Addresses issues raised by Gemini, Qodo, CodeRabbit, and Copilot reviewers.
Co-authored-by: Mervin Praison <[email protected] >
---------
Co-authored-by: praisonai-triage-agent[bot] <272766704+praisonai-triage-agent[bot]@users.noreply.github.com>
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <[email protected] >
Co-authored-by: MervinPraison <[email protected] >
Co-authored-by: Mervin Praison <[email protected] >
2026-04-09 06:56:55 +01:00
Mervin Praison
53d3885415
Release v4.1.0
2026-01-31 08:34:24 +00:00
Mervin Praison
c302853636
Release v4.0.0
2026-01-30 17:41:19 +00:00
Mervin Praison
4d32005f39
Release v3.5.2
2026-01-08 21:14:45 +00:00
Mervin Praison
5a1256069f
Release v3.5.1
2026-01-08 20:12:14 +00:00
Mervin Praison
0dfab2b8d9
Release v3.4.1
2026-01-08 14:36:54 +00:00
Mervin Praison
be1e4b3424
Release v3.4.0
2026-01-08 13:29:57 +00:00
Mervin Praison
cfc886b591
docs: Update examples to use canonical field names (agents, instructions)
2025-12-17 12:34:32 +00:00
Mervin Praison
4bf8b980ed
Merge pull request #1085 from Dhivya-Bharathy/feat/agentic-rag-tools
...
feat: Add Agentic RAG Tools Implementation
2025-11-03 14:14:24 +00:00
Dhivya-Bharathy
0cb6307d3c
Add agentic_rag_gpt5 example with GPT-5 integration
2025-08-29 13:11:08 +05:30
Dhivya-Bharathy
42aec561b1
Add agentic RAG Python implementation to tools
2025-08-28 14:09:09 +05:30
Mervin Praison
c9159337fa
refactor: replace all instances of gpt-5-mini with gpt-5-nano across codebase
2025-08-08 12:17:18 +01:00
Mervin Praison
7210788135
refactor: replace gpt-4o model references with gpt-5-mini across codebase
2025-08-08 08:17:23 +01:00
Mervin Praison
561c32ddd5
refactor: update model name from gpt-4o-mini to gpt-5-nano across all files
2025-08-08 07:52:37 +01:00
Dhivya-Bharathy
1ab09fa259
Reorganize models and providers structure - Move Kimi2 agents to models/kimi with kimi_ prefix - Move Grok4 agents to models/grok with grok_ prefix - Create 10 new Groq agents in models/groq with groq_ prefix - Add provider examples for OpenAI, Anthropic, Google, DeepSeek, Mistral, Cohere, xAI - Remove README files as requested
2025-07-16 16:35:00 +05:30
Dhivya-Bharathy
f7f4a6c0bf
Add 10 new agents to Kimi2_Intelligent_Agents (aerospace, bioinformatics, blockchain, energy, IoT, metaverse, nanotechnology, quantum AI, quantum computing, robotics)
2025-07-16 15:02:46 +05:30
Dhivya-Bharathy
b339c5b3aa
Add Kimi2_Intelligent_Agents: 10 specialized AI agents
2025-07-15 12:57:48 +05:30
Mervin Praison
8a6c4eec7f
Rename examples/python/tools/searxng-search.py to examples/python/tools/searxng/searxng-search.py
2025-07-14 15:31:47 +01:00
Mervin Praison
4e77a6a019
Rename examples/python/tools/trafilatura_example.py to examples/python/tools/trafilatura/trafilatura_example.py
2025-07-14 15:31:03 +01:00
Mervin Praison
41e33c09e0
Rename examples/python/tools/custom_trafilatura_tools.py to examples/python/tools/trafilatura/custom_trafilatura_tools.py
2025-07-14 15:30:54 +01:00
Mervin Praison
96f00e2172
Merge pull request #881 from MervinPraison/claude/issue-869-20250713_205041
...
feat: integrate Trafilatura for high-quality URL content extraction
2025-07-14 15:29:39 +01:00
github-actions[bot] and Mervin Praison
d60021cb40
refactor: move Trafilatura from core to custom tool example
...
- Remove Trafilatura from core praisonaiagents package
- Create custom tool implementation in examples/python/tools/
- Update example to demonstrate custom tool usage with agents
- Remove dependencies from pyproject.toml
- Remove from tools __init__.py and README.md
- Keep all functionality as standalone custom tool
This change follows the request to not integrate into core package
but provide as custom tool example instead.
Co-authored-by: Mervin Praison <[email protected] >
2025-07-14 11:55:10 +00:00
Mervin Praison
26376a77af
Merge pull request #890 from Dhivya-Bharathy/grok4-agents-batch-upload
...
feat: Add 10 Grok4 Intelligent Agent Examples
2025-07-14 07:31:17 +01:00
claude[bot] and Mervin Praison
80f5ba940b
fix: address code review issues for Trafilatura integration
...
- Fix asyncio blocking by using asyncio.to_thread() for all synchronous calls in async functions
- Remove dead code: module-level __call__ function that would never be invoked
- Replace global variable with module-level trafilatura import for cleaner code
- Remove unused json import in test file
- Improve error detection from fragile string check to robust pattern
- Add clarifying comments about safe circular imports due to lazy loading
Co-authored-by: Mervin Praison <[email protected] >
2025-07-14 06:26:49 +00:00
devops-vestradata
65791781e2
Add 10 grok4 intelligent agent files
2025-07-14 11:56:23 +05:30
claude[bot] and Mervin Praison
16598104ab
feat: integrate Trafilatura for high-quality URL content extraction
...
- Add trafilatura_tools.py with extract_content, extract_metadata, extract_text_only, and compare_extraction functions
- Register Trafilatura tools in __init__.py for easy imports
- Add trafilatura and newspaper3k as optional [web] dependencies
- Include comprehensive URL validation to prevent SSRF attacks
- Update tools README with Trafilatura documentation
- Add detailed example file showing various usage patterns
- Create test script for verification
- Maintain backward compatibility with existing URL extraction tools
Resolves #869
Co-authored-by: Mervin Praison <[email protected] >
2025-07-13 21:05:30 +00:00
Mervin Praison
e2512b38c0
Merge pull request #814 from Dhivya-Bharathy/grok4-10-new-agents
...
Add 10 New Grok4 Intelligent Agents Covering Diverse Domains
2025-07-11 11:46:42 +01:00
devops-vestradata
1efdaac18f
Add 10 new Grok4 intelligent agents
2025-07-11 12:29:26 +05:30
Mervin Praison
4abe80a563
Merge pull request #786 from Dhivya-Bharathy/grok4-intelligent-agents-examples
...
Add grok4_intelligent_agents Folder to Exa Tool with 5 Agent scripts
2025-07-10 21:00:03 +01:00
devops-vestradata
f49b5c368c
Add grok4_intelligent_agents with 5 agent scripts
2025-07-10 14:53:31 +05:30
devops-vestradata
7f6e300a9e
Add 5 domain-specific AI agent folders (Finance, Health, Programming, Research, Social Media) to exa-tool
2025-07-09 18:51:38 +05:30
Mervin Praison
41157e1f31
Merge pull request #684 from Dhivya-Bharathy/add-github-repo-analyzer-agent
...
Add GitHub repo analyzer agent
2025-06-24 07:17:08 +01:00
devops-vestradata
a48a0aca22
Move Flow_Intelligent_Agent_PraisonAI.py to examples/python/tools/exa-tool/
2025-06-24 11:45:07 +05:30
devops-vestradata
7e2f17e047
Add GitHub Repo Analyzer Agent example
2025-06-23 16:41:57 +05:30
devops-vestradata
a01f55cdd2
Add AI-Powered Learning Assistant example using praisonaiagents
2025-06-23 14:49:39 +05:30
devops-vestradata
f4df72dfc4
Add learning assistant example
2025-06-23 14:46:48 +05:30
claude[bot] and MervinPraison
90c3a90752
feat: Add SearxNG search tool for privacy-focused web searches
...
- Implement SearxNG search tool following PraisonAI patterns
- Add comprehensive documentation with setup instructions
- Include working examples for both tools and agents
- Support configurable SearxNG URL and search parameters
- Integrate with existing tools registry and documentation
- Provide privacy-focused alternative to traditional search engines
Addresses issue #337
Co-authored-by: MervinPraison <[email protected] >
2025-05-28 16:07:30 +00:00
MervinPraison
13e425e0ac
Reorganize examples directory structure and update file paths
2025-05-27 07:56:14 +01:00