#!/bin/bash

FILE=".trivyignore"
TMP_FILE="$(mktemp)"
USER_AGENT="TrivyIgnoreAnnotator"

while IFS= read -r line; do
  trimmed="$(echo "$line" | xargs)" # usuń spacje z początku i końca
  if [[ "$trimmed" =~ ^CVE-[0-9]{4}-[0-9]+$ ]]; then
    echo "Pobieram opis dla $trimmed..."
    desc=$(curl -s -A "$USER_AGENT" "https://services.nvd.nist.gov/rest/json/cve/1.0/$trimmed" | \
           jq -r '.result.CVE_Items[0].cve.description.description_data[0].value' | \
           tr '\n' ' ' | sed 's/"/\\"/g')
    if [[ -z "$desc" || "$desc" == "null" ]]; then
      desc="Brak opisu lub nie udało się pobrać."
    fi
    echo "# $desc" >> "$TMP_FILE"
    echo "$line" >> "$TMP_FILE"
  else
    echo "$line" >> "$TMP_FILE"
  fi
done < "$FILE"

mv "$TMP_FILE" "$FILE"
echo "✅ Plik $FILE został zaktualizowany z opisami podatności."
