Skanowanie bezpieczeństwa i testowanie podatności
Twój audyt zależności pokazuje 14 podatności o wysokim poziomie istotności, z czego trzy są w pakietach importowanych bezpośrednio, a jedenaście jest tranzytywnych. Zespół bezpieczeństwa chce planu naprawczego do piątku. Możesz spędzić dwa dni czytając raporty CVE i śledząc łańcuchy zależności, albo możesz pozwolić narzędziu AI przeanalizować całe drzewo zależności, ocenić które podatności są faktycznie eksploatowalne w Twoim codebase, i wygenerować priorytetyzowany plan naprawczy w 30 minut.
Czego się nauczysz
Dział zatytułowany „Czego się nauczysz”- Zautomatyzowane workflow skanowania OWASP Top 10 zintegrowane z Twoim cyklem deweloperskim
- Audyt podatności zależności z oceną ryzyka wspomaganą AI
- Wzorce promptów do przeglądu kodu skoncentrowanego na bezpieczeństwie łapiącego prawdziwe zagrożenia
- Integracja z pipeline’em CI dla ciągłego skanowania bezpieczeństwa
- Wzorce testów penetracyjnych, które deweloperzy mogą uruchamiać bez ekspertyzy bezpieczeństwa
Zautomatyzowane skanowanie OWASP Top 10
Dział zatytułowany „Zautomatyzowane skanowanie OWASP Top 10”Zarządzanie podatnościami zależności
Dział zatytułowany „Zarządzanie podatnościami zależności”Audit our project dependencies for security vulnerabilities:
1. Run npm audit and analyze the results2. For each high/critical vulnerability: - Is it in a direct dependency or transitive? - Is the vulnerable code path actually reachable in our application? - What is the fix (upgrade, replace, or accept risk)?3. Create a prioritized remediation plan: - P0: Exploitable in our code, fix immediately - P1: Potentially exploitable, fix this sprint - P2: Not exploitable but should fix for hygiene - P3: Accept risk with documentation
Check package-lock.json for the full dependency tree.Show the upgrade path for each fixable vulnerability.claude "Run a complete dependency security audit:1. Execute: npm audit --json > /tmp/audit.json2. Analyze the results and categorize by exploitability3. For each critical/high finding, check if our code actually calls the vulnerable function (trace the import chain)4. Generate a fix script that upgrades safe dependencies5. For breaking upgrades, document what changes are needed6. Create a summary report in /docs/security-audit.md
Run the fix script after generating it. Verify the build still passes."Perform a dependency security audit:1. Analyze all dependencies for known vulnerabilities2. Trace each vulnerability to determine if it's reachable in our code3. Generate safe dependency upgrades4. Run the test suite after upgrades to verify nothing broke5. Create a PR with the fixes and an audit report
Prioritize exploitable vulnerabilities over theoretical ones.Przegląd kodu skoncentrowany na bezpieczeństwie
Dział zatytułowany „Przegląd kodu skoncentrowany na bezpieczeństwie”Integracja bezpieczeństwa z pipeline’em CI
Dział zatytułowany „Integracja bezpieczeństwa z pipeline’em CI”Użyj Background Agent do uruchamiania sprawdzań bezpieczeństwa przed push:
Before I push this branch, run a security checklist:1. npm audit - any new vulnerabilities introduced?2. Check the diff for hardcoded secrets (API keys, passwords, tokens)3. Verify all new API endpoints have authentication middleware4. Check that no new SQL queries use string interpolation5. Verify new dependencies are from trusted publishers
If any check fails, tell me what to fix before pushing.Zintegruj z CI w trybie headless:
security-scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - name: Dependency audit run: npm audit --audit-level=high - name: Secret scanning run: | claude -p "Scan the git diff for secrets, credentials, or API keys: $(git diff origin/main...HEAD) Check for: AWS keys (AKIA), GitHub tokens (ghp_), generic API keys, passwords in config files, private keys, connection strings with passwords. Output JSON: {found: boolean, secrets: [{type, file, line}]} Exit 1 if any secrets found." - name: Security review run: | claude -p "Review changed files for security vulnerabilities: $(git diff --name-only origin/main...HEAD) Focus on: injection, auth bypass, IDOR, XSS. Output JSON with severity ratings. Exit 1 if critical issues found."Skonfiguruj Codex do automatycznego przeglądu bezpieczeństwa na PR:
When reviewing PRs, check for security issues:1. Scan changed files for common vulnerability patterns2. Check new dependencies against vulnerability databases3. Verify authentication on new endpoints4. Flag any secrets or credentials in the diff5. Post findings as PR review comments with severity labelsWzorce testów penetracyjnych
Dział zatytułowany „Wzorce testów penetracyjnych”Gdy coś się zepsuje
Dział zatytułowany „Gdy coś się zepsuje”“npm audit pokazuje podatności, ale nie możemy aktualizować bez breaking changes.” Użyj npm audit --omit=dev aby filtrować tylko do zależności produkcyjnych. Dla podatności tranzytywnych sprawdź, czy podatna ścieżka jest osiągalna. Użyj npm audit fix --force z ostrożnością i solidnym zestawem testów jako siatka bezpieczeństwa.
“Skany bezpieczeństwa produkują zbyt wiele false positive.” Dostosuj reguły skanowania. Wyłącz pliki testowe, dane mockowe i dokumentację ze skanów bezpieczeństwa. Dostosuj prompt AI do “only report vulnerabilities that could be exploited with a concrete attack scenario, not theoretical issues.”
“Deweloperzy opierają się testowaniu bezpieczeństwa, bo ich spowalnia.” Zrób skanowanie bezpieczeństwa niewidocznym. Uruchamiaj je w CI, nie jako ręczny krok. Blokuj PR-y tylko dla problemów o istotności krytycznej i wysokiej. Pozwól, aby problemy o istotności średniej i niskiej gromadziły się w backlogu bezpieczeństwa przeglądanym miesięcznie.
“Nie mamy ekspertyzy bezpieczeństwa w zespole.” Dokładnie tutaj AI świetnie sobie radzi. Prompty w tym przewodniku kodują ekspertyzę bezpieczeństwa w powtarzalny proces. Zacznij od skanu OWASP Top 10 i audytu zależności — łapią one najczęstsze podatności z minimalną wymaganą ekspertyzą.