Skanowanie bezpieczeństwa
Funkcja skanowania bezpieczeństwa monday analizuje kod i jego zależności podczas wdrażania, aby wykryć znane luki w zabezpieczeniach i typowe problemy z bezpieczeństwem. Wyniki skanowania wskazują konkretne działania, które pomogą ograniczyć zagrożenia dla bezpieczeństwa wdrożenia.
Wprowadzenie
Skanowanie bezpieczeństwa pomaga wcześnie wykrywać luki w zabezpieczeniach i podpowiada, jak zwiększyć bezpieczeństwo aplikacji bez zakłócania dotychczasowego procesu wdrażania.
Każde skanowanie generuje czytelne podsumowanie w CLI i uporządkowany raport JSON, który możesz zapisać lokalnie do późniejszego wykorzystania. Wyniki pomagają zrozumieć istotne zagrożenia dla bezpieczeństwa i podjąć niezbędne działania.
Uruchamianie skanowania bezpieczeństwa
Aby uruchomić skanowanie bezpieczeństwa, włącz skanowanie podczas wdrażania kodu, a następnie wygeneruj raport za pomocą CLI.
Wymagania wstępne
- Najnowsza wersja CLI monday-apps
Krok 1: Wdróż kod z włączonym skanowaniem
- Utwórz nowe wdrożenie lub znajdź istniejące.
- Wdróż aplikację za pomocą CLI. Dodaj krótką flagę
-s, aby włączyć skanowanie bezpieczeństwa dla tego wdrożenia.
$ mapps code:push -s
Krok 2: Uruchom skanowanie bezpieczeństwa
Po wdrożeniu kodu wdrożenie przebiega jak zwykle. Skanowanie bezpieczeństwa analizuje artefakty aplikacji w pakiecie wdrożeniowym, nie uruchamiając kodu.
Krok 3: Wyświetl i zapisz raport
Po zakończeniu skanowania w terminalu pojawi się podsumowanie. Raport JSON zawierający pełne wyniki jest generowany automatycznie i zapisywany w ramach wdrożenia. Nazwa pliku ma następujący format:
"security-s-scan-{appVersionId}-{timestamp}.json"
Wyświetlanie raportu dla dowolnego wdrożenia
Użyj polecenia mapps code:report, aby wyświetlić czytelną wersję wyników skanowania dla wybranego wdrożenia.
Bez flag polecenie wyświetla wyniki najnowszego wdrożenia. Podaj identyfikator wersji aplikacji, aby wyświetlić raport dotyczący konkretnego wcześniejszego wdrożenia.
$ mapps code:report -i <appVersionId>
Zapisywanie raportu w katalogu
Możesz wyeksportować czytelną wersję istniejącego raportu za pomocą polecenia:
$ mapps code:report -o -d /path/to/directory
Informacje dodatkowe
Powiązane polecenia CLI
Pola raportu JSON
| Pole | Opis |
|---|---|
version |
Wersja schematu raportu bezpieczeństwa |
timestamp |
Data i godzina wygenerowania skanowania (UTC, format ISO-8601) |
summary |
Ogólna liczba wykrytych problemów według poziomu ważności |
findings |
Tablica poszczególnych problemów wykrytych przez Trivy, OpenGrep OSS i podobne narzędzia |
Obiekt summary
| Pole | Opis |
|---|---|
summary.total |
Łączna liczba wykrytych problemów |
summary.error |
Liczba problemów o wysokim lub krytycznym poziomie ważności |
summary.warning |
Liczba problemów o średnim poziomie ważności |
summary.note |
Liczba problemów o niskim poziomie ważności lub informacyjnych |
Obiekt findings
| Pole | Opis |
|---|---|
findings.tool |
Skaner, który zgłosił problem |
findings.ruleId |
Identyfikator reguły lub CVE, która spowodowała wykrycie problemu |
findings.severity |
Poziom ważności: „warning”, „error” lub „note” |
findings.file |
Plik, w którym wykryto problem |
findings.line |
Numer wiersza w pliku powiązanego z problemem |
findings.message |
Podsumowanie ze skanera, zwykle zawierające informacje o pakiecie, zainstalowanej wersji, identyfikatorze luki, jej poziomie ważności, dostępnych poprawkach i odnośnik |
findings.shortDescription |
Jednozdaniowy opis problemu |
findings.fullDescription |
Szczegółowe wyjaśnienie problemu, jego wpływu i kontekstu |
findings.helpUri |
Adres URL z dodatkowymi informacjami o problemie lub regule |
findings.help |
Czytelne wskazówki zawierające podsumowanie poziomu ważności, zagrożonych komponentów, poprawionych wersji, szczegółów luki i możliwych sposobów jej usunięcia |
findings.precision |
Poziom pewności wykrycia, który wskazuje, jak prawdopodobne jest, że problem rzeczywiście występuje (wyższy poziom oznacza mniej fałszywych alarmów) |
Przykład
{
"version": "1.0",
"timestamp": "2025-11-25T16:51:16.440360Z",
"summary": {
"total": 35,
"error": 12,
"warning": 15,
"note": 8
},
"findings": [
{
"tool": "Trivy",
"ruleId": "CVE-2025-27789",
"severity": "warning",
"file": "package-lock.json",
"line": 2879,
"message": "Package: @babel/helpers\nInstalled Version: 7.10.1\nVulnerability CVE-2025-27789\nSeverity: MEDIUM\nFixed Version: 7.26.10, 8.0.0-alpha.17\nLink: [CVE-2025-27789](https://avd.aquasec.com/nvd/cve-2025-27789)",
"shortDescription": "Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups",
"fullDescription": "Babel is a compiler for writing next generation JavaScript. When using versions of Babel prior to 7.26.10 and 8.0.0-alpha.17 to compile regular expression named capturing groups, Babel will generate a polyfill for the `.replace` method that has quadratic complexity on some specific replacement pattern strings...",
"helpUri": "https://avd.aquasec.com/nvd/cve-2025-27789",
"help": "Vulnerability CVE-2025-27789\nSeverity: MEDIUM\nPackage: @babel/helpers\nFixed Version: 7.26.10, 8.0.0-alpha.17\nLink: [CVE-2025-27789](https://avd.aquasec.com/nvd/cve-2025-27789)\nBabel is a compiler for writing next generation JavaScript...",
"precision": "very-high"
}
// more findings...
]
}