Application Security

Co to jest SBOM?

SBOM to szczegółowy spis komponentów tworzących oprogramowanie, w tym bibliotek zewnętrznych i open-source oraz wersji frameworków.

Co to jest SBOM (Software Bill of Materials)?

Software Bill of Materials (SBOM) to szczegółowa inwentaryzacja komponentów, które tworzą oprogramowanie, w tym bibliotek zewnętrznych i open-source oraz wersji frameworków. To jak lista składników wewnątrz aplikacji.

Śledząc każdy komponent wewnątrz aplikacji, zespół deweloperski może szybko wykryć, kiedy odkrywane są nowe podatności.

Dlaczego SBOM jest ważny w cyberbezpieczeństwie

Nowoczesne aplikacje są budowane przez łączenie setek lub tysięcy zależności zewnętrznych i bibliotek open-source w celu przyspieszenia rozwoju. Jeśli jedna z nich ma podatności, naraża całą aplikację na ryzyko.

SBOM pomaga zespołowi deweloperskiemu:

  • Wcześniej identyfikować podatności poprzez mapowanie dotkniętych komponentów
  • Poprawiać zgodność ze standardami takimi jak NIST, ISO czy Executive Order 14028 w USA
  • Zwiększać bezpieczeństwo łańcucha dostaw poprzez zapewnienie przejrzystości w składzie oprogramowania
  • Budować zaufanie z klientami i partnerami poprzez pokazanie, jakie komponenty są zawarte

Kluczowe elementy SBOM

Prawidłowy SBOM zazwyczaj zawiera:

  • Nazwa komponentu (np. lodash)
  • Wersja (np. 4.17.21)
  • Informacje o licencji (open source lub własnościowa)
  • Dostawca (projekt lub dostawca, który go utrzymuje)
  • Relacje (jak komponenty są od siebie zależne)

Przykład w praktyce: Naruszenie Apache Struts (Equifax, 2017)

W 2017 roku atakujący wykorzystali krytyczną lukę w zabezpieczeniach frameworka Apache Struts (CVE-2017-5638), który był używany w aplikacjach internetowych Equifax (amerykańskiej międzynarodowej agencji raportującej kredyty konsumenckie). Łatka na tę lukę była dostępna, ale Equifax nie zastosował jej na czas.

Z powodu braku widoczności wszystkich zależności i bibliotek w ich aplikacji, wada w bibliotece Struts pozostała niezauważona, co doprowadziło do jednego z największych naruszeń danych w historii, w wyniku którego ujawniono ponad 147 milionów danych osobowych.

Gdyby istniał SBOM, Equifax mógłby szybko:

  • Zidentyfikować, że ich aplikacje używają podatnej wersji Apache Struts
  • Priorytetowo potraktować zastosowanie łatki zaraz po ujawnieniu luki
  • Skrócić czas, jaki mieli atakujący na wykorzystanie słabości

Ten przypadek pokazuje, jak krytyczną rolę odgrywa SBOM w zabezpieczaniu komponentów oprogramowania, pomagając organizacjom szybciej reagować na nowo ujawnione luki w zabezpieczeniach

Powiązane terminy

Ready to validate what matters?

Ready to validate what matters?

Plexicus is Proof-Driven AppSec: validated findings, contextual understanding, and reviewed remediation — anchored in evidence, scoped with you.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)