heygrc
Manifesto

Złap to w PR, a nie w audycie.

Luka w zgodności jest najtańsza do naprawy w momencie jej powstania, a najdroższa w dniu, w którym znajdzie ją auditor.

Każde znalezisko dotyczące zgodności ma swoją cenę, a cena ta zależy od jednego czynnika: jak długo luka pozostawała niezauważona. Złapana w pull requeście, to jednowierszowa zmiana i trzydziestosekundowa rozmowa. Złapana w audycie, to projekt archeologiczny.

Koszt znaleziska rośnie wraz z odległością od zmiany

Gdy recenzent zgłasza osłabiony log audytu w PR, który go osłabił, autor wciąż ma całą zmianę w głowie. Wie, dlaczego dotknął tej linii, co miała robić, i jak ją naprawić, nie psując niczego innego. Naprawa jest mała, ponieważ kontekst jest jeszcze świeży.

Sześć miesięcy później, w sezonie audytowym, żadne z tego nie jest prawdą. Autor mógł odejść. Powód zmiany zniknął. Teraz ktoś musi odtworzyć, dlaczego log został usunięty, czy coś zależało od jego braku, i jak bezpiecznie go przywrócić. Ten sam jednowierszowy problem stał się śledztwem międzyzespołowym z terminem.

PR to ostatni moment, w którym wszyscy wciąż mają kontekst

Przegląd kodu już istnieje. To jedyny punkt kontrolny, w którym człowiek celowo przygląda się zmianie przed jej wdrożeniem, z zamiarem złapania problemów. Błędy są tam łapane. Styl jest tam łapany. Jedyny powód, dla którego zgodność nie jest tam łapana, to fakt, że recenzent nie ma ram zgodności w głowie, więc zmiana, która cicho narusza ISO 27001:2022 A.8.15 lub GDPR Art. 5(1)(e), wygląda jak zwykły kod.

To luka w wiedzy, a nie w procesie. Punkt kontrolny jest we właściwym miejscu. Potrzebuje jedynie tej samej wiedzy, którą ma auditor.

Shift-left to nie hasło, to arytmetyka

Shift-left działa w bezpieczeństwie, ponieważ przeniesienie defektu wcześniej w potoku sprawia, że jego naprawa jest tańsza. Zgodność ma taką samą krzywą, a nawet ostrzejszą, ponieważ luka w zgodności nie kosztuje jedynie czasu inżynierów, ale także samego znaleziska: wyjątku w raporcie, dowodów naprawy, wyjaśnień dla auditora.

heygrc został zaprojektowany, aby czytać każdy pull request pod kątem ram, których firma musi przestrzegać, i identyfikować kontrolę, której dotyczy zmiana, gdy jest jeszcze komentarzem do przeglądu. To cała idea: przenieść złapanie na lewo, tam, gdzie jest tanie.