Luki, które Cię dotyczą. Pozostałe odrzucone z uzasadnieniem.

Wyślij plik zależności, archiwum .zip albo repozytorium GitHub. Tamiso szuka znanych luk w każdej paczce i mówi, co zaktualizować najpierw.

boutique-en-ligne

2 aktualizacje na początek. 31 znanych podatności w 18 pakietach z 142, w tym 28 odrzuconych z powodem, 1 Twoja decyzja.

boutique-en-ligne boutique-en-ligne.zip, 142 pakiety, 01/11/2026 09:12 UTC

Podsumowanie

Do poprawy : 2 (6 %)Do sprawdzenia : 1 (3 %)Odrzucone z powodem : 28 (90 %)
31znanych podatności
  • Do poprawy2
  • Do sprawdzenia1
  • Odrzucone z powodem28

Ważność wszystkich 31 podatności

Krytyczne 1Wysokie 19Średnie 10Niskie 1
0podatności wykorzystywanych teraz w atakach (katalog CISA KEV)
18 z 142pakietów ze znanymi podatnościami2 aktualizacje do zrobienia
4problemy w kodzie, w tym 1 sekret1 pakiet do poprawy jest importowany w kodzieZobacz analizę kodu

Co zrobić najpierw

  1. Tajny klucz Stripe w kodzie: src/lib/stripe.ts:3Unieważnij klucz w panelu Stripe, a potem czytaj go ze zmiennej środowiskowej po stronie serwera.
    Zobacz prompt

    W src/lib/stripe.ts:3: Tajny klucz Stripe w kodzie. Unieważnij klucz w panelu Stripe, a potem czytaj go ze zmiennej środowiskowej po stronie serwera. Popraw tylko te miejsca, a potem wyjaśnij mi zmianę.

  2. Tabela Supabase bez RLS: supabase/migrations/003_orders.sql:1Dodaj „alter table … enable row level security;”, a potem reguły, które ograniczają każdy wiersz do właściciela (auth.uid()).
    Zobacz prompt

    W supabase/migrations/003_orders.sql:1: Tabela Supabase bez RLS. Dodaj „alter table … enable row level security;”, a potem reguły, które ograniczają każdy wiersz do właściciela (auth.uid()). Popraw tylko te miejsca, a potem wyjaśnij mi zmianę.

  3. RLS wyłączony na tabeli: supabase/migrations/003_orders.sql:2Usuń tę linię i włącz RLS z regułami dla każdego użytkownika.
    Zobacz prompt

    W supabase/migrations/003_orders.sql:2: RLS wyłączony na tabeli. Usuń tę linię i włącz RLS z regułami dla każdego użytkownika. Popraw tylko te miejsca, a potem wyjaśnij mi zmianę.

  4. Zrób pozostałe 2 aktualizacjenext 15.2.3, path-to-regexp 0.1.10
    Zobacz prompt

    Zrób te aktualizacje po kolei i po każdej uruchom testy: - Zaktualizuj next z wersji 15.2.2 do 15.2.3 lub nowszej (poprawia CVE-2025-29927). Uruchom npm install next@15.2.3, żeby zaktualizować package.json i plik blokady. Potem uruchom testy i sprawdź, czy aplikacja się uruchamia. - Zaktualizuj path-to-regexp z wersji 0.1.7 do 0.1.10 lub nowszej (poprawia CVE-2024-45296). path-to-regexp to zależność pośrednia, przychodzi przez express: najpierw zaktualizuj express do wersji, która używa path-to-regexp 0.1.10 lub nowszej; w przeciwnym razie dodaj path-to-regexp do overrides w package.json i zainstaluj ponownie przez npm. Potem uruchom testy i sprawdź, czy aplikacja się uruchamia.

  5. Sprawdź 1 pakietaxios
    Zobacz

Paczki

Do poprawy, 2
next 15.2.215.2.3
Obejście ochrony stron prywatnych
krytyczna 1 z 1 podatności wymaga działania
CVE-2025-29927
Zobacz prompt

Zaktualizuj next z wersji 15.2.2 do 15.2.3 lub nowszej (poprawia CVE-2025-29927). Uruchom npm install next@15.2.3, żeby zaktualizować package.json i plik blokady. Potem uruchom testy i sprawdź, czy aplikacja się uruchamia.

Znana podatność i powód decyzji
  • CVE-2025-29927 Obejście ochrony stron prywatnych Do poprawy: Krytyczna waga.
path-to-regexp 0.1.70.1.10
Spreparowany adres może zablokować serwer
wysoka 1 z 1 podatności wymaga działania przez express
CVE-2024-45296
Zobacz prompt

Zaktualizuj path-to-regexp z wersji 0.1.7 do 0.1.10 lub nowszej (poprawia CVE-2024-45296). path-to-regexp to zależność pośrednia, przychodzi przez express: najpierw zaktualizuj express do wersji, która używa path-to-regexp 0.1.10 lub nowszej; w przeciwnym razie dodaj path-to-regexp do overrides w package.json i zainstaluj ponownie przez npm. Potem uruchom testy i sprawdź, czy aplikacja się uruchamia.

Znana podatność i powód decyzji
  • CVE-2024-45296 Spreparowany adres może zablokować serwer Do poprawy: Wysoka waga.
Do sprawdzenia, 1
axios 1.5.11.6.0
Token XSRF może wyciec do innej strony
importowana w kodzie średnia 1 z 1 podatności wymaga działania
CVE-2023-45857
Jak sprawdzić

Przeczytaj biuletyn i sprawdź, czy Twoja aplikacja używa tej funkcji albo opcji. Jeśli tak, zaktualizuj do 1.6.0. Jeśli nie, możesz zignorować te podatności. Biuletyn: https://osv.dev/vulnerability/GHSA-wf5p-g6vw-rhxx

Znana podatność i powód decyzji
  • CVE-2023-45857 Token XSRF może wyciec do innej strony Do sprawdzenia: Średnia waga, nieznane prawdopodobieństwo wykorzystania. Importowany w Twoim kodzie: src/lib/http.ts:1
Odrzucone bez działania: 28 podatności w 15 pakietach
  • CVE-2024-4068 Serwer można zablokować albo spowolnićUncontrolled resource consumption in braces Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-21538 Serwer można zablokować albo spowolnićRegular Expression Denial of Service (ReDoS) in cross-spawn Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2022-46175 Modyfikacja obiektów JavaScript (prototype pollution)Prototype Pollution in JSON5 via Parse Method Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2021-23337 Wstrzyknięcie poleceń przez funkcję template Odrzucona przez Ciebie: nasz kod nigdy nie wywołuje podatnej części. Importowany w Twoim kodzie: src/lib/http.ts:2
  • CVE-2026-27904 Serwer można zablokować albo spowolnićminimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-26996 Serwer można zablokować albo spowolnićminimatch has a ReDoS via repeated wildcards with non-matching literal in pattern Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-27903 Serwer można zablokować albo spowolnićminimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2022-3517 Serwer można zablokować albo spowolnićminimatch ReDoS vulnerability Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-67214 Serwer można zablokować albo spowolnićnanoid: non-secure generators can loop indefinitely with negative size Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-67213 Serwer można zablokować albo spowolnićnanoid: custom generators can loop indefinitely when size is zero Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-73086 Błąd pamięci: awaria albo wykonanie kodunanoid: Integer Overflow or Wraparound Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-45623 Dostęp do plików poza przewidzianym katalogiemPostCSS: Arbitrary file read and information disclosure via attacker-controlled sourceMappingURL in CSS comments Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-73646 Dostęp do plików poza przewidzianym katalogiemPostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-47068 Wstrzyknięcie skryptu do stron (XSS)DOM Clobbering Gadget found in rollup bundled scripts that leads to XSS Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-27606 Dostęp do plików poza przewidzianym katalogiemRollup 4 has Arbitrary File Write via Path Traversal Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2022-25858 Serwer można zablokować albo spowolnićTerser insecure use of regular expressions leads to ReDoS Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-76844 Dostęp do plików poza przewidzianym katalogiemwebpack-dev-middleware vulnerable to Path Traversal via non-slash-terminated publicPath Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-29180 Dostęp do plików poza przewidzianym katalogiemPath traversal in webpack-dev-middleware Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • GHSA-67mh-4wv8-2f99 esbuild enables any website to send any requests to the development server and read the response Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-4067 Serwer można zablokować albo spowolnićRegular Expression Denial of Service (ReDoS) in micromatch Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-118764 Serwer można zablokować albo spowolnićminimatch has potential denial of service via globparts amplification Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-55565 Serwer można zablokować albo spowolnićPredictable results in nanoid generation when given non-integer values Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2023-44270 PostCSS line return parsing error Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-69153 Dostęp do plików poza przewidzianym katalogiemPostCSS: incomplete fix of GHSA-6g55-p6wh-862q — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2026-41305 Wstrzyknięcie skryptu do stron (XSS)PostCSS has XSS via Unescaped </style> in its CSS Stringify Output Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2023-26136 Modyfikacja obiektów JavaScript (prototype pollution)tough-cookie Prototype Pollution vulnerability Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2023-26115 Serwer można zablokować albo spowolnićword-wrap vulnerable to Regular Expression Denial of Service Odrzucona: Pakiet używany tylko przy developmencie, nie trafia do Twojej aplikacji.
  • CVE-2024-47764 Niefiltrowane znaki w nazwie ciasteczka Odrzucona: Niska waga.

Higiena

Co Tamiso sprawdziło wokół pakietów i kodu oraz czego brakuje, żeby utwardzić projekt.

  • Pakiety nieistniejące albo opublikowane mniej niż 30 dni temustripe-checkout-helper-ts: sprawdź, czy to na pewno właściwe pakiety.
  • Brak nazw podobnych do znanych pakietówŻadna literówka nie podszywa się pod popularny pakiet.
  • Brak wersji wycofanych przez autorówŻadna wersja nie jest oznaczona jako „deprecated” ani „yanked”.
  • Wszystkie wersje są przypięteKażdy pakiet ma dokładną wersję.
  • Wersje zablokowanePlik blokady ustala dokładną wersję każdego pakietu razem z jego skrótem.
  • Brak automatycznych aktualizacjiDodaj .github/dependabot.yml: GitHub co tydzień zaproponuje aktualizacje bezpieczeństwa.version: 2 updates: - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly"
  • Brak pliku .env w wysłanym kodzieHasła i klucze z .env nie trafiają razem z kodem.
  • 1 sekret wpisany w kodsrc/lib/stripe.ts:3: zobacz zakładkę Kod.
  • Tryb debug nie jest włączony w kodzieBłędy nie pokazują odwiedzającym kodu ani zmiennych.

Nieznalezione pakiety

Nie istnieją w npm. Często to nazwa wymyślona przez AI: ktoś może ją później opublikować ze złośliwym kodem. Jeśli nie pochodzi z prywatnego rejestru, usuń ją.

Jeśli to wewnętrzna paczka z prywatnego rejestru, ryzyko i tak istnieje (dependency confusion): zarezerwuj tę nazwę, albo zakres @…, także w publicznym rejestrze i skonfiguruj prywatny rejestr jawnie (.npmrc, --index-url), żeby instalacja nigdy nie szukała gdzie indziej.

  • stripe-checkout-helper-ts

Jak Tamiso decyduje

Podatność trafia do „do poprawy”, jeśli jest aktywnie wykorzystywana (katalog CISA KEV, wersja makiety), jeśli jej prawdopodobieństwo wykorzystania EPSS przekracza 10%, jeśli jej waga jest krytyczna albo wysoka przy prawdopodobieństwie wykorzystania co najmniej 1%. Jest odrzucana, jeśli jej waga jest niska albo średnia przy prawdopodobieństwie wykorzystania poniżej 1%, albo jeśli pakiet służy tylko do developmentu. Reszta jest „do sprawdzenia”. Jedna aktualizacja często poprawia kilka podatności, dlatego są pogrupowane według pakietów. Twoja decyzja zawsze wygrywa z regułą. Wyjątek: krytyczna albo bardzo prawdopodobnie wykorzystywana podatność w paczce do developmentu zostaje „do sprawdzenia”, bo ta paczka działa na Waszych komputerach i w CI.

Paczka znana jako złośliwa (baza złośliwych paczek OpenSSF) jest zawsze „do poprawy”, nawet jeśli służy tylko do developmentu: działa już przy instalacji. Ten projekt ma też analizę kodu (01/11/2026): podatność w bezpośredniej paczce, której kod nigdy nie importuje i której według pliku blokady nie potrzebuje żadna inna paczka, spada o jeden poziom, a jeśli analiza AI pokazała, że kod nie używa podatnej części, podatność jest odrzucana z tym powodem. Podatności wykorzystywane aktywnie nigdy nie są tak odrzucane.

Twoje decyzje używają statusów OpenVEX („nie dotyczy” z uzasadnieniem albo „dotyczy”). Eksport OpenVEX zapisuje je w standardowym pliku JSON (tym samym, który czytają vexctl, Trivy i Grype): dołącz go do SBOM dla klientów i audytorów. Podatności bez decyzji mają w nim status „w trakcie analizy”.

Jak Tamiso sortuje każdą lukę

Stałe reguły, opisane przy każdej luce. Gdy Tamiso nie ma pewności, prosi o sprawdzenie zamiast odrzucać.

Do poprawy

Luka wykorzystywana teraz (katalog KEV agencji CISA), znana złośliwa paczka, wysokie prawdopodobieństwo wykorzystania (EPSS 10 % lub więcej), waga krytyczna albo wysoka przy możliwym wykorzystaniu.

Do sprawdzenia

Waga wysoka, ale wykorzystanie mało prawdopodobne, waga średnia przy możliwym wykorzystaniu, waga nieznana. Tamiso mówi, co sprawdzić w kodzie.

Odrzucona

Paczka developerska, która nie trafia do aplikacji, waga niska, ostrzeżenie wycofane przez źródło albo waga średnia przy bardzo mało prawdopodobnym wykorzystaniu.

Jeśli kod projektu też jest analizowany, paczka, której kod nigdzie nie importuje i której nie potrzebuje żadna inna paczka, schodzi o poziom niżej. Nigdy przy luce wykorzystywanej teraz.

Co możesz wysłać

Jeden albo kilka plików w jednej analizie, archiwum .zip projektu albo adres repozytorium GitHub. Powtórzone paczki liczą się raz.

JavaScript i TypeScript

package-lock.json pnpm-lock.yaml yarn.lock bun.lock package.json

Python

requirements.txt poetry.lock uv.lock Pipfile.lock pyproject.toml

PHP, Ruby, Go, Rust

composer.lock Gemfile.lock go.sum go.mod Cargo.lock

Java i .NET

pom.xml libs.versions.toml packages.lock.json

Raporty z innych narzędzi

SBOM CycloneDX albo SPDX w JSON, raporty Trivy, Snyk, OSV-Scanner, Dependabot albo SARIF. Tamiso bierze z nich paczki i sortuje od nowa.

A potem

Popraw z asystentem

Każda aktualizacja ma prompt gotowy do wklejenia w Claude Code, Cursor albo innym asystencie kodu.

Zdecyduj i zachowaj

Nie zgadzasz się z sortowaniem? Zmień decyzję i podaj uzasadnienie. Zostaje zapisana w formacie OpenVEX i działa w kolejnych analizach.

Codzienna kontrola

W projekcie Tamiso codziennie sprawdza paczki od nowa i zgłasza nowe luki, mailem od planu Indie. SBOM CycloneDX eksportujesz z każdej wersji.

Częste pytania

Skąd są luki?

Z bazy OSV.dev, która zbiera ostrzeżenia z GitHub, PyPI, Go, RustSec i innych źródeł. Prawdopodobieństwo wykorzystania pochodzi z EPSS (FIRST), a luki wykorzystywane teraz z katalogu KEV agencji CISA, odświeżanego raz dziennie.

Mój plik nie podaje dokładnej wersji.

Przy zakresie typu ^1.2.0 Tamiso bierze najniższą wersję, którą zakres jeszcze dopuszcza. Luka znaleziona w ten sposób trafia najwyżej do „do sprawdzenia”, z wyjaśnieniem.

Dlaczego tyle luk jest odrzuconych?

Większość luk w projekcie dotyczy paczek developerskich albo ich wykorzystanie jest bardzo mało prawdopodobne. Zostają widoczne, z uzasadnieniem, i każdą decyzję możesz zmienić.

We wszystkich planach, także darmowymTest bez konta sortuje tak samo. Z kontem projekty mają historię i są codziennie sprawdzane od nowa.
Sprawdź bez konta