Production hardening: security fixes, code quality, 724 skills complete

- Fix 25 shell=True subprocess calls with list-based commands
- Fix 49 verify=False in defensive skills (env-var override)
- Add timeout to 231 HTTP/subprocess/socket calls
- Fix 6 SQL injection patterns with whitelist validation
- Replace 8 __import__() with standard imports
- Remove 701 unused imports across 442 files
- Add authorized-testing disclaimers to all offensive skills
- Complete 11 incomplete skill directories
- Expand 10 stub SKILL.md files with full content
- Fix 2 YAML parse errors in frontmatter
- Fix 5 pre-existing syntax errors
- Convert 22 hardcoded paths/ports to environment variables
- Back up 21 redundant skill pairs to .bak
- Fix 2 global declaration errors
- 724/724 skills with full folder anatomy (SKILL.md + agent.py + api-reference.md + LICENSE)
- 0 compile errors across all 724 agent.py files
This commit is contained in:
mukul975
2026-03-19 13:26:49 +01:00
parent 63b442d347
commit c47eed6a64
900 changed files with 23085 additions and 2720 deletions
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
"""User Behavior Analytics (UEBA) agent using elasticsearch-py."""
import sys
import json
import math
from datetime import datetime, timedelta
import os
import sys
from datetime import datetime
try:
from elasticsearch import Elasticsearch
@@ -16,7 +16,8 @@ except ImportError:
EARTH_RADIUS_KM = 6371
def get_es_client(host="https://localhost:9200", api_key=None):
def get_es_client(host=None, api_key=None):
host = host or os.environ.get("ES_HOSTS", "https://localhost:9200")
kwargs = {"hosts": [host], "verify_certs": False}
if api_key:
kwargs["api_key"] = api_key
@@ -209,7 +210,7 @@ def print_report(travel_alerts, offhours_alerts, risk_scores):
if __name__ == "__main__":
host = sys.argv[1] if len(sys.argv) > 1 else "https://localhost:9200"
host = sys.argv[1] if len(sys.argv) > 1 else os.environ.get("ES_HOSTS", "https://localhost:9200")
es = get_es_client(host)
baselines = build_user_baselines(es)
travel = detect_impossible_travel(es)