# ⚡ Low Watt Labs
set -euo pipefail
source "$(dirname "$0")/../../common/config.sh"
source "$(dirname "$0")/../../common/colors.sh"
source "$(dirname "$0")/../../common/log.sh"
source "$(dirname "$0")/../../common/utils.sh"

INTEL_DIR="${FRISK_INTEL_DIR}"
TARGET_CSV="${INTEL_DIR}/malwarebazaar/recent_hashes.csv"
MANIFEST_PY="$(dirname "$0")/../manifest.py"
CSV_URL="https://bazaar.abuse.ch/export/csv/recent/"

log_info "Syncing MalwareBazaar..."
if safe_download "$CSV_URL" "$TARGET_CSV"; then
    # Validate CSV content (not HTML error page or garbage)
    if ! validate_csv "$TARGET_CSV" '^#'; then
        rm -f "$TARGET_CSV"
        python3 "$MANIFEST_PY" update malwarebazaar 0 failed "CSV validation failed (not valid CSV)"
        echo -e "${CROSSMARK} MalwareBazaar: CSV validation failed"
    else
        count=$(($(wc -l < "$TARGET_CSV") - 8))
        [[ $count -lt 0 ]] && count=0
        python3 "$MANIFEST_PY" update malwarebazaar "$count" success
        echo -e "${CHECKMARK} MalwareBazaar: ${count} samples"
    fi
else
    python3 "$MANIFEST_PY" update malwarebazaar 0 failed "download failed"
    echo -e "${CROSSMARK} MalwareBazaar: download failed"
fi
