Aplicatiile moderne contin de obicei 70-90% cod open source, facand Analiza Compozitiei Software (SCA) esentiala pentru securitate. Acest ghid acopera implementarea SCA completa in pipeline-ul DevSecOps.
Intelegerea Componentelor SCA
Arhitectura Analizei Dependentelor
Codul Python pentru SeverityLevel, LicenseRisk, Vulnerability, License, Dependency, SCAReport si SCAAnalyzer ramane identic.
Integrare Pipeline CI/CD
Workflow SCA cu GitHub Actions
Configuratia YAML pentru GitHub Actions ramane identica.
Verificator Conformitate Licente
Codul JavaScript pentru check-license-compliance.js ramane identic.
Generare si Management SBOM
Generator SBOM CycloneDX
Codul Python pentru SBOMGenerator ramane identic.
Remediere Vulnerabilitati
Actualizari Automate ale Dependentelor
Configuratia YAML Dependabot ramane identica.
Automatizarea Remedierii Vulnerabilitatilor
Codul JavaScript pentru auto-fix-vulnerabilities.js ramane identic.
Aplicare Politici
Configuratie Politica SCA
# sca-policy.yaml
version: "1.0"
vulnerabilities:
# Esueaza build-ul pe aceste severitati
fail_on:
- critical
- high
# Permite cu conditii
exceptions:
# Exceptiile necesita justificare si data expirare
- cve: "CVE-2023-12345"
package: "example-package"
reason: "Niciun fix disponibil, atenuat prin reguli WAF"
expires: "2025-06-01"
approved_by: "security-team"
# Setari auto-fix
auto_fix:
enabled: true
max_severity: "moderate" # Auto-fix doar pana la moderate
exclude_breaking: true
licenses:
# Licente aprobate
allowed:
- MIT
- Apache-2.0
- BSD-2-Clause
- BSD-3-Clause
- ISC
- CC0-1.0
- Unlicense
# Aprobare conditionata (necesita revizuire)
conditional:
- LGPL-2.1
- LGPL-3.0
- MPL-2.0
# Licente blocate
blocked:
- GPL-2.0
- GPL-3.0
- AGPL-3.0
- SSPL-1.0
# Actiune pentru licente necunoscute
unknown_action: warn # fail, warn, allow
packages:
# Pachete interzise (probleme de securitate sau abandonate)
banned:
- event-stream # Compromis in 2018
- left-pad # Incident istoric
- ua-parser-js # Atac supply chain
# Pachete depreciate care necesita migrare
deprecated:
- request:
replacement: "axios or node-fetch"
deadline: "2025-01-01"
- moment:
replacement: "date-fns or dayjs"
deadline: "2025-06-01"
# Necesita versiuni specifice
pinned:
- lodash: ">=4.17.21" # Fix-uri de securitate
age_policy:
# Avertizeaza pentru pachete neactualizate de X luni
warn_if_stale_months: 24
# Esueaza pentru pachete neactualizate de X luni
fail_if_stale_months: 36
maintainer_policy:
# Avertizeaza daca pachetul are mai putin de X maintaineri
min_maintainers: 2
# Avertizeaza daca maintainer-ul principal inactiv de X luni
maintainer_active_months: 12Rezumat
Implementarea eficienta a SCA necesita:
- Scanare automata in pipeline-uri CI/CD
- Conformitate licente aplicata
- Generare SBOM pentru transparenta lantului de aprovizionare
- Workflow-uri de remediere a vulnerabilitatilor
- Policy-as-code pentru aplicare consistenta
Integreaza aceste practici pentru a securiza lantul de aprovizionare open source mentinand in acelasi timp viteza de dezvoltare. Revizuirile regulate ale politicilor si exceptiilor asigura alinierea continua cu cerintele de securitate.
Sistemul tau AI e conform cu EU AI Act? Evaluare gratuita de risc - afla in 2 minute →