Files
NexQuant/rdagent/scenarios/data_science/proposal/exp_gen
TPTBusiness f3a2e2b4f1 fix: Add Bandit security scanning and fix critical vulnerabilities
- Add Bandit security scanner to requirements and pre-commit hooks
- Fix CWE-22 path traversal in tarfile/zipfile extraction (3 files)
  * Add _safe_extract() validation in submit.py, env.py, kaggle_crawler.py
  * Prevents malicious archives from writing outside target directory
- Fix MD5 hashlib calls with usedforsecurity=False flag (2 files)
  * submission_format_test.txt files for checksum validation
- Configure .bandit.yml for automated security scanning
  * Skip known false positives: B602 (subprocess), B701 (Jinja2)
- Add security runbook documentation in docs/security/
- Add pre-commit hook scripts for automated Bandit scanning

All 106 backtesting and security tests pass.
Security issues resolved: B201, B202, B324 (9 total fixes)
2026-04-03 11:55:05 +02:00
..
2025-07-23 12:20:06 +08:00
2025-09-11 16:14:48 +08:00
2025-09-22 21:04:07 +08:00
2025-07-23 12:20:06 +08:00
2025-09-11 16:14:48 +08:00
2025-10-17 16:57:28 +08:00
2025-09-11 16:14:48 +08:00

Folder structure design

Concepts

When we are optimizing solutions, we have the following strategies.

  • draft: create a new solution
  • idea: propose an idea to improve solutions
  • merge: merge different solutions

Optimization is a long journey; we may switch between different strategies. These strategies are called routers.

  • router: a meta strategy to route between different strategies. Router may have different implementations.

Tools:

  • select: It provides features to be used by other strategies or steps.
    1. submit: before we end the optimization, we have to select the only one solution to submit.
    2. expand: we may have select one point to start the next expansion.

Suggest folder structure

So the suggested folder structure is:

- router/
- idea/
  - samll_step(or refine?).py
  - normal.py
- draft/
- merge/
- select/
  - expand.py
  - submit.py