Skanowanie bezpieczeństwa z Claude Code
Tester penetracyjny właśnie wręczył twojemu zespołowi 47-stronicowy raport. Osiemnaście znalezisk, sześć oznaczonych jako krytyczne. SQL injection w admin API. Zahardkodowany sekret JWT w pliku konfiguracyjnym committowanym dwa lata temu. Zależność npm trzy wersje główne w tyle ze znaną podatnością RCE. Twój zespół spędził cztery miesiące na budowaniu funkcjonalności i zero godzin na myśleniu o bezpieczeństwie. Teraz masz deadline, audyt zgodności w przyszłym miesiącu i nie wiesz, od czego zacząć. To nie musi być twoja historia.
Czego się nauczysz
Dział zatytułowany „Czego się nauczysz”- Powtarzalny workflow Claude Code do skanowania kodu pod kątem OWASP Top 10, identyfikacji podatnych zależności i wykrywania wycieków sekretów
- Prompty do skopiowania generujące middleware bezpieczeństwa, schematy walidacji wejścia i nagłówki Content Security Policy dostosowane do twojej aplikacji
- Lista kontrolna bezpieczeństwa w
CLAUDE.md, która sprawia, że Claude Code egzekwuje bezpieczne wzorce przy każdej zmianie kodu
Audyt bezpieczeństwa całego kodu
Dział zatytułowany „Audyt bezpieczeństwa całego kodu”Pierwszym krokiem jest zrozumienie twojej bieżącej ekspozycji. Claude Code może przeczytać cały projekt i stworzyć priorytetową ocenę bezpieczeństwa bez żadnych zewnętrznych narzędzi.
Claude Code przechodzi przez pliki źródłowe systematycznie. Ponieważ ma kontekst całego projektu — stack middleware, definicje tras, zapytania bazodanowe, pliki konfiguracyjne — wychwytuje problemy, które narzędzia statycznej analizy pomijają, jak middleware uwierzytelniania, który istnieje, ale nie jest zastosowany do konkretnej trasy.
Po audycie ustal priorytety napraw:
From the security findings you just identified, create a prioritized remediation plan. Group fixes by effort (quick wins under 30 minutes, medium fixes under 2 hours, architectural changes). Start implementing the quick wins now.Skanowanie podatności zależności
Dział zatytułowany „Skanowanie podatności zależności”Twój folder node_modules zawiera kod od tysięcy maintainerów. Claude Code może przeprowadzić audyt drzewa zależności i wygenerować plan aktualizacji.
Kluczowa wartość tkwi w analizie “czy faktycznie używamy podatnej ścieżki kodu”. Większość raportów npm audit to szum — podatność w zestawie testów zależności deweloperskiej nie wpływa na twoją aplikację produkcyjną. Claude Code może prześledzić importy, aby określić rzeczywistą ekspozycję.
Dla ciągłego skanowania dodaj hook pre-commit:
Create a Claude Code hook that runs on pre-commit. It should check any modified files for: 1) new hardcoded secrets (API keys, passwords, tokens), 2) new eval() or Function() calls, 3) new SQL string concatenation. If any are found, block the commit and print the finding.Naprawianie podatności OWASP Top 10
Dział zatytułowany „Naprawianie podatności OWASP Top 10”Zamiast generować raport i przekazywać go dalej, użyj Claude Code do naprawiania podatności w tej samej sesji.
Zapobieganie injekcjom
Dział zatytułowany „Zapobieganie injekcjom”Find all database queries in our codebase that use string concatenation or template literals instead of parameterized queries. For each one, rewrite it using parameterized queries with our ORM (Prisma/Drizzle/Knex). Show the before and after for each change.Hardening uwierzytelniania
Dział zatytułowany „Hardening uwierzytelniania”Nagłówki bezpieczeństwa
Dział zatytułowany „Nagłówki bezpieczeństwa”Add a security headers middleware to our Express/Fastify app. Include: Strict-Transport-Security with max-age 1 year and includeSubDomains, Content-Security-Policy that allows scripts only from our domain plus any CDNs we use (check our HTML templates to find them), X-Content-Type-Options nosniff, X-Frame-Options DENY, Referrer-Policy strict-origin-when-cross-origin. Remove the X-Powered-By header.Wykrywanie i zapobieganie wyciekom sekretów
Dział zatytułowany „Wykrywanie i zapobieganie wyciekom sekretów”Sekrety w kontroli wersji to najczęstszy i najbardziej możliwy do uniknięcia problem bezpieczeństwa. Claude Code może zarówno wykryć istniejące wycieki, jak i zapobiec przyszłym.
Search the entire git history for committed secrets: API keys, database connection strings, JWT secrets, private keys, AWS credentials. Check .env files that may have been committed, config files with hardcoded values, and test fixtures with real credentials. For each finding, tell me which commit introduced it and whether the secret is still valid (present in the latest code). Then generate a .gitignore update and a pre-commit hook that blocks secret commits.Walidacja wejścia jako system
Dział zatytułowany „Walidacja wejścia jako system”Zamiast walidować dane wejściowe ad-hoc w każdym handlerze trasy, poproś Claude Code o wygenerowanie warstwy walidacji.
To jedno z tych zadań, w których zdolność Claude Code do przeczytania całej warstwy tras i wygenerowania spójnych schematów oszczędza godziny ręcznej pracy. Schematy służą również jako dokumentacja twojego API.
Kodowanie standardów bezpieczeństwa w CLAUDE.md
Dział zatytułowany „Kodowanie standardów bezpieczeństwa w CLAUDE.md”Najbardziej wpływowa poprawa bezpieczeństwa to sprawienie, by Claude Code automatycznie egzekwował bezpieczne wzorce. Dodaj do swojego CLAUDE.md:
## Security Requirements
- Never use string concatenation in database queries. Always use parameterized queries or the ORM.- All API routes must have authentication middleware unless explicitly marked as public in this list: /health, /ready, /api/auth/login, /api/auth/register- Passwords must be hashed with bcrypt (cost factor 12) or argon2id. Never MD5 or SHA.- All user input must be validated with Zod schemas before processing.- Secrets must come from environment variables, never hardcoded.- HTTP responses must include security headers (CSP, HSTS, X-Frame-Options).- File uploads must validate MIME type and enforce a 10 MB size limit.- Rate limiting must be applied to authentication endpoints (10 requests per minute per IP).Z tymi regułami, gdy jakikolwiek deweloper w twoim zespole poprosi Claude Code o “add a new API endpoint for user profile updates”, wygenerowany kod automatycznie zawiera middleware uwierzytelniania, walidację wejścia, sparametryzowane zapytania i limitowanie zapytań.
Gdy coś idzie nie tak
Dział zatytułowany „Gdy coś idzie nie tak”Claude oznacza “podatność”, która jest faktycznie bezpieczna. Fałszywe alarmy się zdarzają, szczególnie przy złożonej logice autoryzacji. Jeśli Claude zidentyfikuje trasę jako brakującą uwierzytelniania, ale jest ona celowo publiczna, dodaj ją do listy publicznych tras w CLAUDE.md i ponownie uruchom audyt.
Aktualizacja zależności psuje aplikację. Claude Code może zidentyfikować, do której wersji zaktualizować, ale skoki wersji głównych często zawierają zmiany łamiące API. Poproś Claude o “review the changelog for express@5 and identify all breaking changes that affect our codebase” przed aktualizacją.
Nagłówki bezpieczeństwa psują frontend. Surowe CSP zablokuje skrypty inline i zasoby z serwerów trzecich, od których zależy twoja aplikacja. Uruchom aplikację z nowymi nagłówkami, otwórz konsolę przeglądarki i wklej błędy CSP z powrotem do Claude Code: “These CSP violations are appearing in the console. Update the Content-Security-Policy to allow these specific sources while keeping everything else locked down.”
Warstwa walidacji odrzuca prawidłowe zapytania. Walidacja schematów jest tak dobra, jak schematy. Po wdrożeniu monitoruj odpowiedzi 400 i przekazuj przykłady z powrotem do Claude Code: “This request body was rejected but it should be valid. Update the Zod schema to accept this format.”