pyblock/pybitblock/ai
GaltRanch 893aabc85d Security audit round 2: eliminate shell=True, mask secrets, fix race conditions
- Replace all shell=True subprocess calls with Python-native processing
  (nodeconnection.py, SPV/nodeconnection.py, SPV/ppi.py)
- Mask sensitive inputs (private keys, passwords, tokens) with getpass
- Add threading.Lock to block_explorer.py shared state
- Use json.loads() instead of fragile string splitting in apisnd.py
- Add path validation before file open in apisnd.py
- Replace random.randint with secrets.randbelow for mining nonces
- Fix destructive exception handlers in clone.py and feed.py
- Replace bare except clauses with specific exceptions + logging
- Remove unused imports (psutil, xmltodict, block_visualizer, base64, say)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:15:59 -03:00
..
__init__.py Add AI Assistant module powered by Astrolexis KCode 2026-04-02 10:48:25 -03:00
client.py Add local fallback to Astrolexis client for resilience 2026-04-02 11:26:11 -03:00
context.py Full security and code quality audit fixes across codebase 2026-04-03 10:57:20 -03:00
ui.py Security audit round 2: eliminate shell=True, mask secrets, fix race conditions 2026-04-03 11:15:59 -03:00