TradingAgents/tradingagents/dataflows
Claude 218cedf56f
security: Apply critical security fixes from PR #281 review
Implement the top 3 critical security fixes identified in Gemini code review:

**Fix 1: ChromaDB Reset Protection**
- Changed `allow_reset=True` to `False` in memory.py
- Prevents catastrophic database deletion in production
- File: tradingagents/agents/utils/memory.py:13

**Fix 2: Path Traversal Prevention**
- Added `validate_ticker_symbol()` function with comprehensive validation
- Applied validation to 5 functions using ticker in file paths:
  - get_YFin_data_window()
  - get_YFin_data()
  - get_data_in_range()
  - get_finnhub_company_insider_sentiment()
  - get_finnhub_company_insider_transactions()
- Blocks: path traversal (../, \\), invalid chars, length > 10
- File: tradingagents/dataflows/local.py

**Fix 3: CLI Input Validation**
- Added validation loop to get_ticker() with user-friendly error messages
- Prevents malicious input at entry point
- Validates format, blocks traversal, limits length
- File: cli/main.py:499-521

**Testing:**
- Validation logic verified with attack vectors:
  - ../../etc/passwd (blocked ✓)
  - Long tickers (blocked ✓)
  - Special characters (blocked ✓)
  - Valid tickers: AAPL, BRK.B (pass ✓)

**Changes:**
- 3 files changed, 65 insertions(+), 3 deletions(-)
- Implementation time: ~20 minutes
- Zero breaking changes to existing functionality

**References:**
- Security analysis: docs/security/PR281_CRITICAL_FIXES.md
- Future roadmap: docs/security/FUTURE_HARDENING.md

Addresses critical path traversal (CWE-22) and data loss vulnerabilities.
2025-11-19 09:01:11 +00:00
..
__init__.py WIP 2025-09-26 16:17:50 +08:00
alpha_vantage.py Add Alpha Vantage API integration as primary data provider 2025-09-26 22:57:50 +08:00
alpha_vantage_common.py added fallbacks for tools 2025-10-03 22:40:09 -07:00
alpha_vantage_fundamentals.py Add Alpha Vantage API integration as primary data provider 2025-09-26 22:57:50 +08:00
alpha_vantage_indicator.py Improve Alpha Vantage indicator column parsing with robust mapping 2025-09-26 23:36:36 +08:00
alpha_vantage_news.py Add Alpha Vantage API integration as primary data provider 2025-09-26 22:57:50 +08:00
alpha_vantage_stock.py Add Alpha Vantage API integration as primary data provider 2025-09-26 22:57:50 +08:00
config.py chore(release): v0.1.0 – initial public release of TradingAgents 2025-06-05 04:27:57 -07:00
google.py WIP 2025-09-26 16:17:50 +08:00
googlenews_utils.py chore(release): v0.1.0 – initial public release of TradingAgents 2025-06-05 04:27:57 -07:00
interface.py added fallbacks for tools 2025-10-03 22:40:09 -07:00
local.py security: Apply critical security fixes from PR #281 review 2025-11-19 09:01:11 +00:00
openai.py WIP 2025-09-26 16:17:50 +08:00
reddit_utils.py chore(release): v0.1.0 – initial public release of TradingAgents 2025-06-05 04:27:57 -07:00
stockstats_utils.py Add Alpha Vantage API integration as primary data provider 2025-09-26 22:57:50 +08:00
utils.py chore(release): v0.1.0 – initial public release of TradingAgents 2025-06-05 04:27:57 -07:00
y_finance.py optimized yfin fetching to be much faster 2025-10-06 19:58:01 -07:00
yfin_utils.py chore(release): v0.1.0 – initial public release of TradingAgents 2025-06-05 04:27:57 -07:00