39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| set -euo pipefail
 | |
| 
 | |
| ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
 | |
| DEST_DIR="${1:-$ROOT_DIR/seed-data/ics-cisa}"
 | |
| mkdir -p "$DEST_DIR"
 | |
| 
 | |
| info() { printf "[ics-seed] %s\n" "$*"; }
 | |
| error() { printf "[ics-seed][error] %s\n" "$*" >&2; }
 | |
| 
 | |
| download() {
 | |
|   local url="$1"
 | |
|   local target="$2"
 | |
|   info "Downloading $(basename "$target")"
 | |
|   curl -fL "$url" -o "$target"
 | |
|   sha256sum "$target" > "$target.sha256"
 | |
| }
 | |
| 
 | |
| BASE="https://raw.githubusercontent.com/icsadvprj/ICS-Advisory-Project/main/ICS-CERT_ADV"
 | |
| MASTER_FILE="CISA_ICS_ADV_Master.csv"
 | |
| SNAPSHOT_2025="CISA_ICS_ADV_2025_10_09.csv"
 | |
| 
 | |
| info "Fetching ICS advisories seed data (ODbL v1.0)"
 | |
| download "$BASE/$MASTER_FILE" "$DEST_DIR/$MASTER_FILE"
 | |
| download "$BASE/$SNAPSHOT_2025" "$DEST_DIR/$SNAPSHOT_2025"
 | |
| 
 | |
| MEDICAL_URL="https://raw.githubusercontent.com/batarr22/ICSMA_CSV/main/ICSMA_CSV_4-20-2023.xlsx"
 | |
| MEDICAL_FILE="ICSMA_CSV_4-20-2023.xlsx"
 | |
| info "Fetching community ICSMA snapshot"
 | |
| if curl -fL "$MEDICAL_URL" -o "$DEST_DIR/$MEDICAL_FILE"; then
 | |
|   sha256sum "$DEST_DIR/$MEDICAL_FILE" > "$DEST_DIR/$MEDICAL_FILE.sha256"
 | |
| else
 | |
|   error "Unable to download $MEDICAL_FILE (optional)."
 | |
|   rm -f "$DEST_DIR/$MEDICAL_FILE"
 | |
| fi
 | |
| 
 | |
| info "Seed data ready in $DEST_DIR"
 | |
| info "Remember: data is licensed under ODbL v1.0 (see seed README)."
 |