Situația inițială Compania are aproximativ 150 de stații de lucru care rulează Windows 10-11 Pro. Unele computere sunt periodic fără acces la rețea și domeniu, așa că nu este posibilă colectarea unui singur instantaneu al stării și verificarea cerințelor de bază de securitate prin agenți cloud/server. Aveți nevoie de o aplicație desktop gata făcută, care rulează local (fără instalare sau cu un MSI la alegere), colectează date și generează un raport pentru transmitere către departamentul de securitate a informațiilor. Mediu tehnic și domeniu - OS: Windows 10-11 x64 - Limbaj și stivă: C# .NET 8 (WPF) sau .NET 8 + WinUI 3 (WPF preferabil datorită compatibilității) - Acces la date: WMI/CIM, Windows Registry, Event Log, netsh, auditpol, PowerShell prin runspace (fără dependențe externe) - Limitări: rulați fără drepturi de administrator acolo unde este posibil și arătați clar ce verificări necesită drepturi ridicate Ce ar trebui să se întâmple Un program gata făcut cu modul GUI și CLI care realizează un audit local conform unui profil de verificare, arată progresul, salvează rezultatele în JSON și generează un raport lizibil (PDF sau DOCX) cu starea finală și inconsecvențele găsite. Cerințe funcționale - Profilul de verificare este specificat de un fișier de configurare (YAML sau JSON) și acceptă activarea/dezactivarea modulelor - Colectare inventar: versiunea sistemului de operare, numele PC-ului, domeniul/grupul de lucru, CPU/RAM/discurile, lista actualizărilor instalate (KB), lista programelor instalate (chei de dezinstalare), interfețe de rețea active și IP, starea BitLocker după volum - Verificări de securitate (setul minim): stare firewall încorporat în funcție de profil, stare Defender (dacă este disponibil), stare UAC, politică de parole (prin politica de securitate locală, acolo unde este posibil), prezența RDP și setările acestuia (activat/dezactivat, NLA), starea de rulare automată pentru punctele cheie (Run/RunOnce), lista administratorilor locali - Jurnale: descărcați selectiv ultimele N evenimente din Securitate și Sistem în funcție de filtrele specificate (nivel/ID/perioada), cu protecție împotriva înghețurilor - Export: - JSON cu structură completă de date - Raport PDF sau DOCX cu secțiuni: rezumat, inventar, verificări, jurnal, listă de probleme - Semnătură raport: calculul hash-ului SHA-256 al tuturor fișierelor exportate și înregistrarea acestuia într-un manifest.txt separat - CLI: lansare fără GUI cu parametri: calea profilului, directorul de ieșire, formatul raportului, timeout-uri Cerințe și restricții nefuncționale - Timp de execuție pe un PC obișnuit: până la 3 minute cu profilul implicit - Nu utilizați biblioteci comerciale terțe, sunt permise numai pachetele gratuite NuGet cu o licență permisivă (MIT/Apache/BSD) - Aplicația ar trebui să funcționeze corect atunci când internetul este oprit - Localizare: interfață și raport în RU Criterii de acceptare măsurabile 1) Pe 3 mașini de testare (Win10, Win11, Win11 fără drepturi de administrator), programul pornește și finalizează auditul fără blocări, afișează mesaje clare despre verificări indisponibile 2) JSON este validat conform schemei furnizate (schema trebuie dezvoltată și atașată proiectului) 3) Raportul conține un tabel rezumativ: numărul de verificări, numărul trecut, numărul de avertismente, numărul de erori 4) Când este repornit pe aceeași mașină cu același profil, structura JSON este stabilă, iar diferențele sunt doar în câmpurile dependente de timp/jurnal 5) Modul CLI returnează un cod de ieșire diferit de zero dacă există erori la nivel de eroare (configurabil în profil) Etape de execuție - Proiectarea structurii de date si schema JSON, prototipul modulelor de colectare - Implementarea unui sistem modular de verificări și UI/CLI - Export JSON și generare de rapoarte, manifest cu hashuri - Testarea diferitelor drepturi și remedierea timeout-urilor/tratării erorilor, versiunea build Rezultate de transmis - Surse din depozit (Git), instrucțiuni de asamblare - Eliberare gata: fermoar portabil și MSI opțional - Exemplu de profil de verificare și exemple de fișiere de ieșire