This shows you the differences between two versions of the page.
ss:laboratoare:05 [2025/02/20 16:30] 127.0.0.1 external edit |
ss:laboratoare:05 [2025/03/03 19:48] (current) jan.vaduva [Resurse suplimentare] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 05. ===== | + | ====== Laborator 5: Analiza statică a codului ====== |
+ | |||
+ | ===== Obiective ===== | ||
+ | * Aplicarea unor instrumente de analiză statică pentru identificarea vulnerabilităților din codul aplicației dezvoltate în laboratoarele anterioare | ||
+ | * Detectarea și remedierea problemelor de securitate, performanță și calitate a codului | ||
+ | * Integrarea analizei statice în pipeline-ul CI/CD pentru prevenirea introducerii de vulnerabilități | ||
+ | |||
+ | ===== Cerințe tehnologice ===== | ||
+ | * **Instrumente de analiză statică**: SonarQube, Bandit (Python), ESLint (JavaScript), SpotBugs (Java) | ||
+ | * **CI/CD Pipeline**: GitHub Actions/GitLab CI/CD/Jenkins pentru rularea automată a analizei | ||
+ | * **Reguli de securitate**: OWASP Top 10, CWE (Common Weakness Enumeration) | ||
+ | * **Format de raportare**: SARIF, JSON, HTML | ||
+ | |||
+ | ===== Funcționalități ===== | ||
+ | |||
+ | ==== 1. Configurarea instrumentelor de analiză statică ==== | ||
+ | * Instalarea și configurarea instrumentelor specifice limbajului utilizat în aplicație | ||
+ | * Definirea regulilor de analiză bazate pe standarde de securitate și bune practici | ||
+ | * Rularea manuală a analizei și interpretarea rezultatelor | ||
+ | |||
+ | ==== 2. Detectarea și remedierea vulnerabilităților ==== | ||
+ | * Identificarea problemelor raportate de analiză (SQL injection, XSS, utilizare de dependențe nesigure etc.) | ||
+ | * Revizuirea codului și aplicarea corecțiilor necesare | ||
+ | * Compararea rezultatelor înainte și după remediere | ||
+ | |||
+ | ==== 3. Integrarea analizei în pipeline-ul CI/CD ==== | ||
+ | * Automatizarea rulării analizei statice la fiecare commit/pull request | ||
+ | * Configurarea unor praguri pentru acceptarea sau respingerea codului nou | ||
+ | * Generarea și publicarea rapoartelor detaliate | ||
+ | |||
+ | ===== Evaluare ===== | ||
+ | * Configurarea corectă a instrumentelor de analiză statică (30%) | ||
+ | * Detectarea și remedierea vulnerabilităților identificate (40%) | ||
+ | * Integrarea analizei statice în pipeline-ul CI/CD (30%) | ||
+ | |||
+ | ===== Resurse suplimentare ===== | ||
+ | * [https://owasp.org/www-project-top-ten/ OWASP Top 10] / [https://cwe.mitre.org CWE Database] | ||
+ | * [https://docs.sonarqube.org/latest/ SonarQube Documentation] / [https://pypi.org/project/bandit/ Bandit (Python)] | ||
+ | * [https://eslint.org/docs/latest/ ESLint (JavaScript)] / [https://spotbugs.github.io SpotBugs (Java)] | ||
+ | * [https://sarifweb.azurewebsites.net SARIF Specification] | ||
+ | * [[https://wiki.sei.cmu.edu/confluence/display/android/Android+Secure+Coding+Standard|Android Secure Coding Standard]] | ||