heygrc
heygrc i Semgrep

Różne zadania, ten sam pull request.

Semgrep skanuje kod pod kątem reguł bezpieczeństwa i poprawności. heygrc analizuje Twoje zobowiązania dotyczące zgodności i wskazuje kontrolę, której dotyczy zmiana. Zmiana może dotyczyć zwykłego kodu, a mimo to przesyłać dane osobowe do podmiotu, z którym nie masz umowy.

Semgrep

Semgrep to narzędzie do statycznej analizy kodu, które skanuje kod pod kątem reguł bezpieczeństwa i poprawności oraz może zablokować scalanie, gdy reguła zostanie dopasowana.

heygrc

heygrc przegląda każdy pull request pod kątem ram zgodności, których musi przestrzegać Twoja firma (ISO 27001, SOC 2, GDPR i inne) i cytuje konkretną kontrolę, której dotyczy zmiana. Został zaprojektowany do zgodności, a nie do jakości kodu.

Gdzie się nie pokrywają

Zwykły kod, który przesyła dane do nowego procesora.

Ta zmiana dodaje wywołanie do zewnętrznego API wzbogacającego, przesyłając e-mail i imię klienta. To zwykłe połączenie HTTPS.

services/enrich.ts+2 −0
async function enrich(user) {+  const res = await fetch("https://enrich.vendor.io/v1", {+    method: "POST", body: JSON.stringify({ email: user.email, name: user.name }) })  return res.json()}
heygrcGDPR Art. 28

Przesyła dane osobowe do nowego procesora, a korzystanie z procesora bez umowy powierzenia przetwarzania danych jest problemem zgodności z GDPR Art. 28. heygrc został zaprojektowany, aby zauważać, gdy zmiana wprowadza podmiot trzeciego, którego program zgodności nie obejmuje.

Użyj ich razem

Zachowaj Semgrep. Dodaj warstwę zgodności.

To nie jest kwestia, które narzędzie wygra. Semgrep wykrywa błędy i problemy z jakością, których heygrc nigdy nie szuka, a heygrc wykrywa problemy z zgodnością, których przegląd kodu nie jest w stanie zauważyć. Uruchamianie obu oznacza, że pull request jest sprawdzany pod kątem tego, czy kod jest dobry, i czy zmiana jest zgodna, dwa różne rodzaje ryzyka, na tym samym diff.

heygrc nie zastępuje przeglądu kodu i nie certyfikuje Cię. Przegląda zmiany pod kątem Twoich ram i cytuje kontrolę, aby pytanie o zgodność zostało odpowiedziane tam, gdzie wprowadzana jest zmiana.

Pytania

heygrc i Semgrep, częste pytania.

Czy heygrc jest alternatywą dla Semgrep?

Nie do końca. Semgrep przegląda Twój kod; heygrc przegląda każdą zmianę pod kątem zgodności z ramami, których musi przestrzegać Twoja firma (ISO 27001, SOC 2, GDPR i inne) i cytuje konkretną kontrolę, której dotyczy. Odpowiadają na różne pytania dotyczące tego samego pull requestu, dlatego heygrc został zaprojektowany do działania obok niego, a nie do zastępowania.

Czy mogę używać heygrc i Semgrep razem?

Tak. Patrzą na różne rodzaje ryzyka w tym samym diff: Semgrep na kod, heygrc na kontrolę zgodności, której dotyczy zmiana. heygrc nie zastępuje przeglądu kodu.

Co sprawdza heygrc w pull request?

heygrc przegląda każdy pull request pod kątem ram wybranych przez Twoją firmę i cytuje konkretną kontrolę, której dotyczy zmiana, aby pytanie o zgodność zostało odpowiedziane podczas przeglądu kodu. heygrc nie certyfikuje Cię.