Jedna strona zamiast rozproszonych dokumentów: co robi ipIII (Evidence & Resilience Orchestrator),
dla jakiej roli, jaka jest macierz modułów z dowodem (kod + test), co jest świadomie poza zakresem i jakich
zasobów zewnętrznych (GAP) brakuje do wdrożenia produkcyjnego. Doktryna claim ≤ proof: liczby na tej
stronie liczone są runtime z /api/ip3/ssot, nie wpisane ręcznie do tekstu.
Poniższe liczby wczytywane są z /api/ip3/ssot, endpointu który liczy je
bezpośrednio z plików repo (grep po routes/ip3-*.js, endpointach w ip3-api-pro.js,
narzędziach MCP w ip3-mcp.js) przy każdym wywołaniu. Wartości widoczne od razu to ostatnio znany
fallback (progresywne ulepszenie) — jeśli JavaScript lub fetch zawiedzie, zostają one bez zmian.
ip3-api-pro.jsroutes/ip3-*.js_ip3Pages w server.jsip3-mcp.jsliczby odświeżane z /api/ip3/ssot — wartości powyżej to fallback (ostatnio znany stan); trwa wczytywanie live…
źródło: /api/ip3/ssot · koniec hardcode — liczby liczone runtime ze źródeł repo, nie przepisywane ręcznie do treści strony.
ipIII (Evidence & Resilience Orchestrator) to warstwa evidence-first, która stoi nad skanerami i
narzędziami pentestowymi, a nie zamiast nich. Zadaniem produktu jest zamienić surowy finding (z Burp, ZAP,
Nessus, Nuclei, Grype, Gitleaks, Checkov, Faraday lub DefectDojo) w dowód gotowy do pokazania poza zespołem
bezpieczeństwa: pakiet z sha256, manifestem i łańcuchem dowodowym (chain-of-custody), przechowywany
w PostgreSQL z pełnym audytem.
Drugą warstwą jest decision-support regulacyjny — Legal Trigger Engine mapuje potwierdzony incydent na potencjalne obowiązki DORA/NIS2/RODO/AI Act wraz z orientacyjnymi terminami (zegar ISO), zawsze do weryfikacji prawnika. Trzecia warstwa to board/regulatory pack — jeden artefakt PDF/JSON łączący dowód i kontekst prawny dla zarządu lub organu nadzoru.
Czwarty, nowszy obszar to bezpieczeństwo agentów AI: testy defensywne (np. odporność na prompt-injection, nadużycie narzędzi) prowadzone wyłącznie na danych syntetycznych, po pisemnych Rules of Engagement — opisujemy CO jest testowane i JAKI dowód sukcesu, bez publikowania payloadów ani instrukcji ataku.
| Grupa | Potrzeba | Co dostaje | Strona |
|---|---|---|---|
| CISO / zarząd | Jeden zrozumiały artefakt z incydentu, bez żargonu SOC. | Board pack: manifest + package_sha256 + chain-of-custody, PDF lub JSON. |
/ciso-board-pack |
| Pentester / MSSP | Szybkie przekazanie wyniku testu klientowi w formie dowodu, nie surowego XML. | Import findingów (Burp/ZAP/Nessus/CSV/DefectDojo) + evidence-package z hashem. | /konsola |
| Compliance / legal | Wiedzieć, czy incydent uruchamia obowiązek zgłoszenia i w jakim terminie. | Mapowanie na DORA/NIS2/RODO/AI Act + zegar terminów (decision-support, nie porada prawna). | /compliance · /deadline-clock |
| Dev / integrator | Kontrakt API do wpięcia własnego workflow (CI/CD, ticketing, SIEM). | Kontrakt OpenAPI, przykłady curl, read-path do wypróbowania na żywo. |
/api-docs |
Dla każdego obszaru: co robi, gdzie w repo jest dowód (kod + test), status. Ścieżki poniżej istnieją w repozytorium — nie są opisem funkcji planowanej.
| Obszar | Co robi | Dowód (kod / test) | Status |
|---|---|---|---|
| Konektory — Burp/ZAP/Nessus/CSV | Parsuje raport skanera, normalizuje severity (P0–P3), tworzy incydent + evidence. | routes/ip3-api-pro.js (importParser) · testy tests/ip3-api-pro.integration.js |
LIVE |
| Import z DefectDojo | Wczytuje findingi z instancji DefectDojo, mapuje je na model danych ipIII. | routes/ip3-defectdojo.js · tests/ip3-defectdojo.unit.js |
LIVE |
| Import z Faraday | Wczytuje workspace/findingi z Faraday, normalizacja do wspólnego modelu. | routes/ip3-faraday.js · tests/ip3-faraday.unit.js |
LIVE |
| Parser Gitleaks | Sekrety wykryte w repo → incydent z odpowiednim severity. | routes/ip3-gitleaks.js · tests/ip3-gitleaks.unit.js |
LIVE |
| Parser Grype (SCA) | Podatności zależności/kontenerów → incydent z CVE. | routes/ip3-grype.js · tests/ip3-grype.unit.js |
LIVE |
| Parser Nuclei | Wyniki skanu szablonowego (DAST) → incydent znormalizowany. | routes/ip3-nuclei.js · tests/ip3-nuclei.unit.js |
LIVE |
| Parser Checkov (IaC) | Błędy konfiguracji infrastruktury jako kod → incydent. | routes/ip3-checkov.js · tests/ip3-checkov.unit.js |
LIVE |
| Deduplikacja findingów | Redukuje duplikaty z różnych skanerów zanim trafią do kolejki incydentów. | routes/ip3-dedup.js · tests/ip3-dedup.unit.js |
MVP — mniej rozbudowana niż triage DefectDojo |
| Evidence-package / chain-of-custody | Pakiet z sha256, manifestem i łańcuchem dowodowym, PDF lub JSON. |
routes/ip3-api-pro.js (/reports/evidence-package/:id) · routes/ip3-pdf.js |
LIVE |
| Legal Trigger Engine | Mapuje incydent na potencjalne obowiązki DORA/NIS2/RODO/AI Act + orientacyjne terminy. | routes/ip3-legal.js · tests/ip3-legal.unit.js |
MVP — decision-support, nie porada prawna |
| Board / regulatory report | Generuje artefakt zorientowany na zarząd/regulatora z odwołaniem do evidence-package. | routes/ip3-board-report.js · tests/ip3-board-report.unit.js |
LIVE |
| SSOT — liczby runtime | Liczy endpointy/moduły/parsery/strony/narzędzia MCP bezpośrednio z plików repo (ta sekcja wyżej). | routes/ip3-ssot.js · tests/ip3-ssot.unit.js |
LIVE |
| MCP — 6 narzędzi | Udostępnia incydenty, statystyki, playbooki i rejestr stron jako narzędzia Model Context Protocol. | routes/ip3-mcp.js · tests/ip3-mcp.test.js |
LIVE |
| Fale enterprise — ZINTEGROWANE (14/14) | WSZYSTKIE 14: observability, board-report, canonical, access-model, approval, redteam, cve-enrich, rls-enforce,
tsa (RFC3161/freetsa), scm-ingest (GitHub), stix (TAXII), siem-guard (webhook HMAC), ticket-sync (natywny lifecycle), ci-gate (GitHub Actions).
Na prod flagi OFF (enabled=0) — „zintegrowany" = wpięty i dowiedziony, nie włączony u klienta.
3 (siem-guard/ticket-sync/ci-gate) dają pełną wartość po podłączeniu systemu klienta (SIEM/Jira/CI). |
routes/ip3-waves-mount.js, zbiór INTEGRATED (jedyne źródło prawdy) →
/api/ip3/v1/waves/status pole integrated:true. Dowód: staging, realny PostgreSQL,
2026-07-21 (np. access-model redeem #2 tym samym tokenem → 422 already_used;
approval 4-eyes ta sama osoba na innym etapie → 409; observability bez tokenu → 401). |
MVP — zintegrowane i potwierdzone na stagingu; pełna produkcja (prod IdP, multi-tenant, monitoring 24/7) = osobny krok. Szczegóły per moduł: /enterprise-modules. |
| Fale enterprise — na prod WYŁĄCZONE (0/14 enabled) | Wszystkie 14 zintegrowane (patrz wiersz wyżej), ale na produkcji flagi OFF (enabled=0) — włączenie to decyzja operatora per moduł. |
routes/ip3-waves-mount.js (agreguje 14 modułów) → /api/ip3/v1/waves/status (integrated=14, enabled=0).
Komentarz w kodzie wprost: „ten router NICZEGO NIE WLACZA — wyłącznie RAPORTUJE stan". |
ROADMAP — MODUŁ ZE SPECYFIKACJĄ I TESTAMI, NIEZINTEGROWANY — kod
załadowany (loaded) i testowany, ale NIE wpięty w ścieżkę produktu, stan in-memory
per-proces, domyślnie wyłączony flagą (enabled=0, fail-safe). 5 z nich (SIEM-guard, ticket-sync,
STIX, SCM-ingest, TSA) wymaga systemu zewnętrznego (SIEM/Jira-ServiceNow/TAXII/GitHub-GitLab/QTSP) — to
granica produktu, nie zaniedbanie. Szczegóły per moduł:
/enterprise-modules. |
Nie skanuje, nie wykonuje testów penetracyjnych. Konsumuje wyniki narzędzi, które to robią (Burp, ZAP, Nessus, Nuclei i inne), i przetwarza je w dowód.
Nie zastępuje SAST/DAST/SCA. Rolą jest agregacja i warstwa dowodowo-regulacyjna nad wynikami skanerów, nie ich generowanie.
To narzędzia dojrzałe w swoich kategoriach (agregacja podatności, workspace pentestowy, korelacja zdarzeń). Zobacz uczciwe porównanie: vs DefectDojo.
Legal Trigger Engine to decision-support — wskazanie potencjalnego obowiązku i orientacyjnego terminu, zawsze do weryfikacji przez prawnika. Nie jest opinią prawną ani jej substytutem.
Jeśli gdzieś na stronach ipIII pojawia się liczba „100%", dotyczy ona pokrycia dowodowego (np. wszystkie testy danego modułu przeszły) — nie nieprzenikalności systemu ani gwarancji bezpieczeństwa.
WSZYSTKIE 14 modułów fal enterprise są zintegrowane i dowiedzione na realnym PostgreSQL (patrz macierz wyżej). Trzy z nich
(siem-guard, ticket-sync, ci-gate) są wpięte jako gotowe punkty styku, ale pełną wartość dają dopiero po podłączeniu systemu po stronie klienta (SIEM, Jira/ServiceNow, pipeline CI) — to jawny, nazwany
GAP, nie ukryty dług. Na produkcji wszystkie 14 są za flagą OFF (enabled=0) — włączenie to decyzja operatora.
| Zasób | Do czego potrzebny | Status |
|---|---|---|
| Produkcyjny IdP (OIDC) | Pełne uwierzytelnienie na produkcji poza modelem invite+JWT (który już działa w access-model). | GAP — do dostarczenia |
| mTLS PKI | Wzajemne uwierzytelnienie transportu między usługami/partnerami. | GAP — do dostarczenia |
| QTSP (kwalifikowana pieczęć/PAdES, eIDAS) | Podpis kwalifikowany dokumentów PDF (board/regulatory pack) — moduł tsa. | GAP — do dostarczenia |
| SIEM (Splunk/Sentinel) + Jira/ServiceNow + serwer TAXII | Moduły siem-guard, ticket-sync, stix — bez tych systemów nie da się ich zintegrować. | GAP — do dostarczenia |
| Klucze API (NVD, GitHub/GitLab) | Wzbogacanie CVE (ip3-cve-enrich.js) i ingest SCM (ip3-scm-ingest.js) na produkcji. | GAP — do dostarczenia |
| Trwały storage Postgres/S3 (9 pozostałych modułów fal enterprise) | 9 NIEZINTEGROWANYCH modułów działa dziś na stanie in-memory per-proces; 5 zintegrowanych już korzysta z realnego PostgreSQL. | GAP — do dostarczenia (dla 9 pozostałych) |
Powiązane: uczciwe porównanie z DefectDojo → /porownanie-vs-defectdojo · znane ograniczenia → /known-limitations · żywy read-path API → /api-explorer · kontrakt API → /api-docs.