mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-08-06 03:27:44 +00:00
f3a2e2b4f1
- 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)
Folder structure design
Concepts
When we are optimizing solutions, we have the following strategies.
draft: create a new solutionidea: propose an idea to improve solutionsmerge: 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.submit: before we end the optimization, we have to select the only one solution to submit.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