From e269fb108f0470a36f38cd7d31d2845bdc141c2b Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Sun, 31 May 2026 16:16:53 +0200 Subject: [PATCH] [SEC] Redatta chiave API mktg esposta in pagine pubbliche (F1 security audit) La chiave di produzione nis2_mktg_... (scope admin:licenses) era in chiaro in mktg-api-doc.html e integrazioniext.html, servite pubblicamente -> chiunque poteva ottenere una chiave di gestione licenze B2B. Sostituita con placeholder nis2_mktg_xxxxx in entrambe le pagine (6 occorrenze totali). NOTA: la chiave reale va ANCORA RUOTATA nel DB (api_keys) in coordinamento con mktg-agile, poiche' resta nella history git e potenzialmente nota. Questo commit elimina solo l'esposizione web continua. Trovato da audit sicurezza multi-agente (F1, priorita' top). Co-Authored-By: Claude Opus 4.8 --- public/integrazioniext.html | 8 ++++---- public/mktg-api-doc.html | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/integrazioniext.html b/public/integrazioniext.html index 8387f71..b255858 100644 --- a/public/integrazioniext.html +++ b/public/integrazioniext.html @@ -558,14 +558,14 @@ curl "https://nis2.agile.software/api/invites/validate?token=inv_a1b2c3..."
Per mktg-agile / E-commerce — Quick Start
- Chiave API già attiva per mktg-agile: nis2_mktg_8c8bd38e78fccb9faa749d8601051f42 + Chiave API già attiva per mktg-agile: nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx · Scope: admin:licenses · Scade: 2028-03-07 · Doc completa: mktg-api-doc.html · Pannello web: licenseExt.html
# 1. Crea licenza (mktg-agile → NIS2) curl -X POST https://nis2.agile.software/api/invites/create \ - -H "X-API-Key: nis2_mktg_8c8bd38e78fccb9faa749d8601051f42" \ + -H "X-API-Key: nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"plan":"professional","duration_months":12,"max_users_per_org":10, "label":"Ordine MKT-001","channel":"ecommerce","price_eur":990}' @@ -574,11 +574,11 @@ curl -X POST https://nis2.agile.software/api/invites/create \ # → consegna invite_url al cliente nel messaggio di conferma ordine # 2. Verifica stato licenza in qualsiasi momento -curl -H "X-API-Key: nis2_mktg_8c8bd38e78fccb9faa749d8601051f42" \ +curl -H "X-API-Key: nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ "https://nis2.agile.software/api/invites/42" # 3. Lista licenze attive per canale ecommerce -curl -H "X-API-Key: nis2_mktg_8c8bd38e78fccb9faa749d8601051f42" \ +curl -H "X-API-Key: nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ "https://nis2.agile.software/api/invites/list?channel=ecommerce&status=pending"
diff --git a/public/mktg-api-doc.html b/public/mktg-api-doc.html index c425a4b..74769c9 100644 --- a/public/mktg-api-doc.html +++ b/public/mktg-api-doc.html @@ -110,7 +110,7 @@ table.resp code { background: rgba(255,255,255,.06); padding: .1rem .3rem; borde
CHIAVE API (già attiva)
- nis2_mktg_8c8bd38e78fccb9faa749d8601051f42 + nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Scope: admin:licenses · Scade: 2028-03-07
@@ -146,7 +146,7 @@ table.resp code { background: rgba(255,255,255,.06); padding: .1rem .3rem; borde
# Crea licenza in 1 chiamata:
 curl -X POST https://nis2.agile.software/api/invites/create \
-  -H "X-API-Key: nis2_mktg_8c8bd38e78fccb9faa749d8601051f42" \
+  -H "X-API-Key: nis2_mktg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
   -H "Content-Type: application/json" \
   -d '{"plan":"professional","duration_months":12,"label":"Ordine #123","channel":"ecommerce","max_users_per_org":10,"price_eur":990}'