Table of Contents

Debito tecnico e rilievi di sicurezza

Registro dei rilievi verificati durante il recupero. Ogni voce ha evidenza e classificazione.

Sicurezza

SEC-001 — Credenziali Oracle in chiaro nel repository (VERIFIED)

  • Cosa: InfocadWeb/WebMachine/CASSANDRA/Web.config committa credenziali Oracle in chiaro (connection string attiva + molte varianti per-ambiente commentate: *_TEST38, *_TESTDEMO, *_GPE, *_TESTFS, *_TESTPMO, INFOCAD_BIM/REQUESTCENTER_BIM/DEM_BIM). Altri app.config di integrazione incorporano credenziali inline.
  • Impatto: le credenziali persistono nella storia Git anche se il deploy esclude i .config.
  • Evidenza: TASK-CFG-001 §8 (valori mascherati).
  • Nota: rilievo di documentazione, non modificato (programma non distruttivo). Rimedio a cura del team (segregazione segreti, rotazione, purge storia).

Debito architetturale / manutenibilità

TD-001 — Stack di autenticazione duale (SUPPORTED)

ASPNET_TEST38 contiene sia il legacy Oracle ASP.NET membership/roles (ORA_ASPNET_*) sia tabelle OpenIddict/EF Core. Quale sia autoritativo a runtime, e per quale tier, è UNKNOWN (OQ-4).

TD-002 — Tre DAL RequestCenter coesistenti (SUPPORTED)

RequestCenter.DAL.Oracle (VB legacy, probabile morto), .OracleODP (v4.8 canonico), .OracleODPXNET (net8, ricollega lo stesso sorgente). Rischio di divergenza/confusione.

TD-003 — Deploy senza orchestratore committato (VERIFIED)

Nessun CI; il deploy si basa su exclude-list + copy/robocopy e su drop deploy-time (connections.xml, service.xml, restartserver.bat) non versionati. ConnectionsService riscrive le connection string in-place. Fragilità operativa e scarsa riproducibilità (OQ-7).

TD-004 — Assenza di test automatici (VERIFIED)

0 progetti xUnit/NUnit/MSTest nei due repo. Solo harness manuali (InfocadTester, IntegrationTester). Nessuna rete di sicurezza per refactoring/migrazione net8.

TD-005 — Superficie SOAP legacy (INFERRED)

SOAP prevalentemente ASMX (InfocadIntegrationWS, 19 asmx) — tecnologia deprecata. Quantificazione (TASK-API-001, VERIFIED): 46 .asmx + 35 .svc, tutti in InfocadWeb.

TD-006 — Regole applicate solo lato UI e conflitti di regola (SUPPORTED)

Da TASK-BR-* (129 regole estratte): 27 regole enforced solo nella UI e non ripetute nell'entry-point BL/WCF condiviso → bypassabili via WCF/integrazioni (rischio integrità dati); es. anti-sovrapposizione prenotazioni BR-BOOK-003 bypassata dal canale WCF BR-BOOK-021. Inoltre 7 conflitti di regola, tra cui: possibile bug del trigger CNT_EDIFICI (BR-PROP-029: usa :NEW.ID_EDIFICIO — NULL in DELETE — per ripulire GLOBAL_TENANCY_BINDINGS) e doppio UNIQUE su CODICE_EDIFICIO (BR-PROP-019). Dettaglio in Regole di business. Rilievi di documentazione (non modificati); da confermare col team.

TD-007 — Rischi da regole/DB, round-2 (SUPPORTED)

Da TASK-BR-* round-2 (Maintenance/Stock/Accounting/BIM, +89 regole → 218 totali):

  • BR-ACC-006ALTER SESSION SET NLS_NUMERIC_CHARACTERS non ripristinato: landmine sul connection pool.
  • BR-STK-025/BR-STK-009STK_ADDITEMMOVE può portare la giacenza negativa (guardie solo-UI); DateMove validato nel DTO ma ignorato dalla proc (MOVE_DATE=SYSDATE).
  • BR-ACC-019 — discrepanza codice↔DB su WRKACC_CLOSESAL (parametro PSTATUS nel DAL, assente nella proc).
  • BR-BIM-011 — guardia ORA-20000 su UPDATE = dead code (trigger solo su INSERT).
  • Anti-pattern sistemici: WHEN OTHERS che inghiotte l'eccezione; full-replace dei figli su update. Dettaglio in Regole di business. Da confermare col team.

TD-008 — Grant UI bypassabili via .NET Remoting (SUPPORTED · sicurezza)

I controlli di permesso (grant di sezione) sono valutati solo lato UI; i servizi BL raggiunti via .NET Remoting (Activator.GetObject, vedi [CLM-000026] / architettura) non ri-verificano il grant. Un chiamante server-side o un'integrazione può quindi eseguire operazioni riservate. Casi: BR-CEN-001 (grant 20200, Census), BR-QC-012 (QualityCheck), BR-BLK-025 (BulkLoader), BR-CHK-002 (Check), BR-RPT-003 (Report), BR-DOC-029 (Document), BR-EXP-002 (ExportService), BR-PRJ-024 (Project), BR-GLB-017 (Global) — sistemico su 9 domini. Correlato al pattern TD-006 (regole solo-UI). Sintesi in Reperti per il team. Rilievo di documentazione; da confermare/rimediare col team.