Security Penetration Testing
Hands-on offensive security testing skill for finding vulnerabilities before attackers do. This is NOT compliance checking (see senior-secops) or security policy writing (see senior-security) — this is about systematic vulnerability discovery through authorized testing.
Table of Contents
Overview
What This Skill Does
This skill provides the methodology, checklists, and automation for offensive security testing — actively probing systems to discover exploitable vulnerabilities. It covers web applications, APIs, infrastructure, and supply chain security.
Distinction from Other Security Skills
| Skill |
Focus |
Approach |
| security-pen-testing (this) |
Finding vulnerabilities |
Offensive — simulate attacker techniques |
| senior-secops |
Security operations |
Defensive — monitoring, incident response, SIEM |
| senior-security |
Security policy |
Governance — policies, frameworks, risk registers |
| skill-security-auditor |
CI/CD gates |
Automated — pre-merge security checks |
Prerequisites
All testing described here assumes written authorization from the system owner. Unauthorized testing is illegal under the CFAA and equivalent laws worldwide. Always obtain a signed scope-of-work or rules-of-engagement document before starting.
OWASP Top 10 Systematic Audit
Use the vulnerability scanner tool for automated checklist generation:
# Generate OWASP checklist for a web application
python scripts/vulnerability_scanner.py --target web --scope full
# Quick API-focused scan
python scripts/vulnerability_scanner.py --target api --scope quick --json
Quick Reference
| # |
Category |
Key Tests |
| A01 |
Broken Access Control |
IDOR, vertical escalation, CORS, JWT claim manipulation, forced browsing |
| A02 |
Cryptographic Failures |
TLS version, password hashing, hardcoded keys, weak PRNG |
| A03 |
Injection |
SQLi, NoSQLi, command injection, template injection, XSS |
| A04 |
Insecure Design |
Rate limiting, business logic abuse, multi-step flow bypass |
| A05 |
Security Misconfiguration |
Default credentials, debug mode, security headers, directory listing |
| A06 |
Vulnerable Components |
Dependency audit (npm/pip/go), EOL checks, known CVEs |
| A07 |
Auth Failures |
Brute force, session cookie flags, session invalidation, MFA bypass |
| A08 |
Integrity Failures |
Unsafe deserialization, SRI checks, CI/CD pipeline integrity |
| A09 |
Logging Failures |
Auth event logging, sensitive data in logs, alerting thresholds |
| A10 |
SSRF |
Internal IP access, cloud metadata endpoints, DNS rebinding |
# Audit dependencies
python scripts/dependency_auditor.py --file package.json --severity high
python scripts/dependency_auditor.py --file requirements.txt --json
See owasp_top_10_checklist.md for detailed test procedures, code patterns to detect, remediation steps, and CVSS scoring guidance for each category.
Static Analysis
Recommended tools: CodeQL (custom queries for project-specific patterns), Semgrep (rule-based scanning with auto-fix), ESLint security plugins (eslint-plugin-security, eslint-plugin-no-unsanitized).
Key patterns to detect: SQL injection via string concatenation, hardcoded JWT secrets, unsafe YAML/pickle deserialization, missing security middleware (e.g., Express without Helmet).
See attack_patterns.md for code patterns and detection payloads across injection types.
Dependency Vulnerability Scanning
Ecosystem commands: npm audit, pip audit, govulncheck ./..., bundle audit check
CVE Triage Workflow:
- Collect — Run ecosystem audit tools, aggregate findings
- Deduplicate — Group by CVE ID across direct and transitive deps
- Prioritize — Critical + exploitable + reachable = fix immediately
- Remediate — Upgrade, patch, or mitigate with compensating controls
- Verify — Rerun audit to confirm fix, update lock files
python scripts/dependency_auditor.py --file package.json --severity critical --json
Secret Scanning
Tools: TruffleHog (git history + filesystem), Gitleaks (regex-based with custom rules).
# Scan git history for verified secrets
trufflehog git file://. --only-verified --json
# Scan filesystem
trufflehog filesystem . --json
Integration points: Pre-commit hooks (gitleaks, trufflehog), CI/CD gates (GitHub Actions with trufflesecurity/trufflehog@main). Configure .gitleaks.toml for custom rules (AWS keys, API keys, private key headers) and allowlists for test fixtures.
API Security Testing
Authentication Bypass
- JWT manipulation: Change
alg to none, RS256-to-HS256 confusion, claim modification (role: "admin", exp: 9999999999)
- Session fixation: Check if session ID changes after authentication
Authorization Flaws
- IDOR/BOLA: Change resource IDs in every endpoint — test read, update, delete across users
- BFLA: Regular user tries admin endpoints (expect 403)
- Mass assignment: Add privileged fields (
role, is_admin) to update requests
Rate Limiting & GraphQL
- Rate limiting: Rapid-fire requests to auth endpoints; expect 429 after threshold
- GraphQL: Test introspection (should be disabled in prod), query depth attacks, batch mutations bypassing rate limits
See attack_patterns.md for complete JWT manipulation payloads, IDOR testing methodology, BFLA endpoint lists, GraphQL introspection/depth/batch attack patterns, and rate limiting bypass techniques.
Web Vulnerability Testing
| Vulnerability |
Key Tests |
| XSS |
Reflected (script/img/svg payloads), Stored (persistent fields), DOM-based (innerHTML + location.hash) |
| CSRF |
Replay without token (expect 403), cross-session token replay, check SameSite cookie attribute |
| SQL Injection |
Error-based (' OR 1=1--), union-based enumeration, time-based blind (SLEEP(5)), boolean-based blind |
| SSRF |
Internal IPs, cloud metadata endpoints (AWS/GCP/Azure), IPv6/hex/decimal encoding bypasses |
| Path Traversal |
../../../etc/passwd, URL encoding, double encoding bypasses |
See attack_patterns.md for complete test payloads (XSS filter bypasses, context-specific XSS, SQL injection per database engine, SSRF bypass techniques, and DOM-based XSS source/sink pairs).
Infrastructure Security
Key checks:
- Cloud storage: S3 bucket public access (
aws s3 ls s3://bucket --no-sign-request), bucket policies, ACLs
- HTTP security headers: HSTS, CSP (no
unsafe-inline/unsafe-eval), X-Content-Type-Options, X-Frame-Options, Referrer-Policy
- TLS configuration:
nmap --script ssl-enum-ciphers -p 443 target.com or testssl.sh — reject TLS 1.0/1.1, RC4, 3DES, export-grade ciphers
- Port scanning:
nmap -sV target.com — flag dangerous open ports (FTP/21, Telnet/23, Redis/6379, MongoDB/27017)
Pen Test Report Generation
Generate professional reports from structured findings:
# Generate markdown report from findings JSON
python scripts/pentest_report_generator.py --findings findings.json --format md --output report.md
# Generate JSON report
python scripts/pentest_report_generator.py --findings findings.json --format json --output report.json
Findings JSON Format
[
{
"title": "SQL Injection in Login Endpoint",
"severity": "critical",
"cvss_score": 9.8,
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"category": "A03:2021 - Injection",
"description": "The /api/login endpoint is vulnerable to SQL injection via the email parameter.",
"evidence": "Request: POST /api/login {\"email\": \"' OR 1=1--\", \"password\": \"x\"}\nResponse: 200 OK with admin session token",
"impact": "Full database access, authentication bypass, potential remote code execution",
"remediation": "Use parameterized queries. Replace string concatenation with prepared statements.",
"references": ["https://cwe.mitre.org/data/definitions/89.html"]
}
]
Report Structure
- Executive Summary: Business impact, overall risk level, top 3 findings
- Scope: What was tested, what was excluded, testing dates
- Methodology: Tools used, testing approach (black/gray/white box)
- Findings Table: Sorted by severity with CVSS scores
- Detailed Findings: Each with description, evidence, impact, remediation
- Remediation Priority Matrix: Effort vs. impact for each fix
- Appendix: Raw tool output, full payload lists
Responsible Disclosure Workflow
Responsible disclosure is mandatory for any vulnerability found during authorized testing. Standard timeline: report on day 1, follow up at day 7, status update at day 30, public disclosure at day 90.
Key principles: Never exploit beyond proof of concept, encrypt all communications, do not access real user data, document everything with timestamps.
See responsible_disclosure.md for full disclosure timelines (standard 90-day, accelerated 30-day, extended 120-day), communication templates, legal considerations, bug bounty program integration, and CVE request process.
Workflows
Workflow 1: Quick Security Check (15 Minutes)
For pre-merge reviews or quick health checks:
# 1. Generate OWASP checklist
python scripts/vulnerability_scanner.py --target web --scope quick
# 2. Scan dependencies
python scripts/dependency_auditor.py --file package.json --severity high
# 3. Check for secrets in recent commits
# (Use gitleaks or trufflehog as described in Secret Scanning section)
# 4. Review HTTP security headers
curl -sI https://target.com | grep -iE "(strict-transport|content-security|x-frame|x-content-type)"
Decision: If any critical or high findings, block the merge.
Workflow 2: Full Penetration Test (Multi-Day Assessment)
Day 1 — Reconnaissance:
- Map the attack surface: endpoints, authentication flows, third-party integrations
- Run automated OWASP checklist (full scope)
- Run dependency audit across all manifests
- Run secret scan on full git history
Day 2 — Manual Testing:
- Test authentication and authorization (IDOR, BOLA, BFLA)
- Test injection points (SQLi, XSS, SSRF, command injection)
- Test business logic flaws
- Test API-specific vulnerabilities (GraphQL, rate limiting, mass assignment)
Day 3 — Infrastructure and Reporting:
- Check cloud storage permissions
- Verify TLS configuration and security headers
- Port scan for unnecessary services
- Compile findings into structured JSON
- Generate pen test report
# Generate final report
python scripts/pentest_report_generator.py --findings findings.json --format md --output pentest-report.md
Workflow 3: CI/CD Security Gate
Automated security checks on every PR: secret scanning (TruffleHog), dependency audit (npm audit, pip audit), SAST (Semgrep with p/security-audit, p/owasp-top-ten), and security headers check on staging.
Gate Policy: Block merge on critical/high findings. Warn on medium. Log low/info.
Anti-Patterns
- Testing in production without authorization — Always get written permission and use staging/test environments when possible
- Ignoring low-severity findings — Low findings compound; a chain of lows can become a critical exploit path
- Skipping responsible disclosure — Every vulnerability found must be reported through proper channels
- Relying solely on automated tools — Tools miss business logic flaws, chained exploits, and novel attack vectors
- Testing without a defined scope — Scope creep leads to legal liability; document what is and isn't in scope
- Reporting without remediation guidance — Every finding must include actionable remediation steps
- Storing evidence insecurely — Pen test evidence (screenshots, payloads, tokens) is sensitive; encrypt and restrict access
- One-time testing — Security testing must be continuous; integrate into CI/CD and schedule periodic assessments
Cross-References
| Skill |
Relationship |
| senior-secops |
Defensive security operations — monitoring, incident response, SIEM configuration |
| senior-security |
Security policy and governance — frameworks, risk registers, compliance |
| dependency-auditor |
Deep supply chain security — SBOMs, license compliance, transitive risk |
| code-reviewer |
Code review practices — includes security review checklist |
Source: alirezarezvani/claude-skills → engineering-team/skills/security-pen-testing/SKILL.md
1---2name: security-pen-testing3description: Use when the user asks to perform security audits, penetration testing, vulnerability scanning, OWASP Top 10 checks, or offensive security assessments. Covers static analysis, dependency scanning, secret detection, API security testing, and pen test report generation.4---5
6
7# Security Penetration Testing
8
9Hands-on offensive security testing skill for finding vulnerabilities before attackers do. This is NOT compliance checking (see senior-secops) or security policy writing (see senior-security) — this is about systematic vulnerability discovery through authorized testing.
10
11---
12
13## Table of Contents
14
15- [Overview](#overview)
16- [OWASP Top 10 Systematic Audit](#owasp-top-10-systematic-audit)
17- [Static Analysis](#static-analysis)
18- [Dependency Vulnerability Scanning](#dependency-vulnerability-scanning)
19- [Secret Scanning](#secret-scanning)
20- [API Security Testing](#api-security-testing)
21- [Web Vulnerability Testing](#web-vulnerability-testing)
22- [Infrastructure Security](#infrastructure-security)
23- [Pen Test Report Generation](#pen-test-report-generation)
24- [Responsible Disclosure Workflow](#responsible-disclosure-workflow)
25- [Workflows](#workflows)
26- [Anti-Patterns](#anti-patterns)
27- [Cross-References](#cross-references)
28
29---
30
31## Overview
32
33### What This Skill Does
34
35This skill provides the methodology, checklists, and automation for **offensive security testing** — actively probing systems to discover exploitable vulnerabilities. It covers web applications, APIs, infrastructure, and supply chain security.
36
37### Distinction from Other Security Skills
38
39| Skill | Focus | Approach |
40|-------|-------|----------|
41| **security-pen-testing** (this) | Finding vulnerabilities | Offensive — simulate attacker techniques |
42| senior-secops | Security operations | Defensive — monitoring, incident response, SIEM |
43| senior-security | Security policy | Governance — policies, frameworks, risk registers |
44| skill-security-auditor | CI/CD gates | Automated — pre-merge security checks |
45
46### Prerequisites
47
48All testing described here assumes **written authorization** from the system owner. Unauthorized testing is illegal under the CFAA and equivalent laws worldwide. Always obtain a signed scope-of-work or rules-of-engagement document before starting.
49
50---
51
52## OWASP Top 10 Systematic Audit
53
54Use the vulnerability scanner tool for automated checklist generation:
55
56```bash
57# Generate OWASP checklist for a web application
58python scripts/vulnerability_scanner.py --target web --scope full
59
60# Quick API-focused scan
61python scripts/vulnerability_scanner.py --target api --scope quick --json
62```
63
64### Quick Reference
65
66| # | Category | Key Tests |
67|---|----------|-----------|
68| A01 | Broken Access Control | IDOR, vertical escalation, CORS, JWT claim manipulation, forced browsing |
69| A02 | Cryptographic Failures | TLS version, password hashing, hardcoded keys, weak PRNG |
70| A03 | Injection | SQLi, NoSQLi, command injection, template injection, XSS |
71| A04 | Insecure Design | Rate limiting, business logic abuse, multi-step flow bypass |
72| A05 | Security Misconfiguration | Default credentials, debug mode, security headers, directory listing |
73| A06 | Vulnerable Components | Dependency audit (npm/pip/go), EOL checks, known CVEs |
74| A07 | Auth Failures | Brute force, session cookie flags, session invalidation, MFA bypass |
75| A08 | Integrity Failures | Unsafe deserialization, SRI checks, CI/CD pipeline integrity |
76| A09 | Logging Failures | Auth event logging, sensitive data in logs, alerting thresholds |
77| A10 | SSRF | Internal IP access, cloud metadata endpoints, DNS rebinding |
78
79```bash
80# Audit dependencies
81python scripts/dependency_auditor.py --file package.json --severity high
82python scripts/dependency_auditor.py --file requirements.txt --json
83```
84
85See [owasp_top_10_checklist.md](references/owasp_top_10_checklist.md) for detailed test procedures, code patterns to detect, remediation steps, and CVSS scoring guidance for each category.
86
87---
88
89## Static Analysis
90
91**Recommended tools:** CodeQL (custom queries for project-specific patterns), Semgrep (rule-based scanning with auto-fix), ESLint security plugins (`eslint-plugin-security`, `eslint-plugin-no-unsanitized`).
92
93Key patterns to detect: SQL injection via string concatenation, hardcoded JWT secrets, unsafe YAML/pickle deserialization, missing security middleware (e.g., Express without Helmet).
94
95See [attack_patterns.md](references/attack_patterns.md) for code patterns and detection payloads across injection types.
96
97---
98
99## Dependency Vulnerability Scanning
100
101**Ecosystem commands:** `npm audit`, `pip audit`, `govulncheck ./...`, `bundle audit check`
102
103**CVE Triage Workflow:**
1041. **Collect** — Run ecosystem audit tools, aggregate findings
1052. **Deduplicate** — Group by CVE ID across direct and transitive deps
1063. **Prioritize** — Critical + exploitable + reachable = fix immediately
1074. **Remediate** — Upgrade, patch, or mitigate with compensating controls
1085. **Verify** — Rerun audit to confirm fix, update lock files
109
110```bash
111python scripts/dependency_auditor.py --file package.json --severity critical --json
112```
113
114---
115
116## Secret Scanning
117
118**Tools:** TruffleHog (git history + filesystem), Gitleaks (regex-based with custom rules).
119
120```bash
121# Scan git history for verified secrets
122trufflehog git file://. --only-verified --json
123
124# Scan filesystem
125trufflehog filesystem . --json
126```
127
128**Integration points:** Pre-commit hooks (gitleaks, trufflehog), CI/CD gates (GitHub Actions with `trufflesecurity/trufflehog@main`). Configure `.gitleaks.toml` for custom rules (AWS keys, API keys, private key headers) and allowlists for test fixtures.
129
130---
131
132## API Security Testing
133
134### Authentication Bypass
135
136- **JWT manipulation:** Change `alg` to `none`, RS256-to-HS256 confusion, claim modification (`role: "admin"`, `exp: 9999999999`)
137- **Session fixation:** Check if session ID changes after authentication
138
139### Authorization Flaws
140
141- **IDOR/BOLA:** Change resource IDs in every endpoint — test read, update, delete across users
142- **BFLA:** Regular user tries admin endpoints (expect 403)
143- **Mass assignment:** Add privileged fields (`role`, `is_admin`) to update requests
144
145### Rate Limiting & GraphQL
146
147- **Rate limiting:** Rapid-fire requests to auth endpoints; expect 429 after threshold
148- **GraphQL:** Test introspection (should be disabled in prod), query depth attacks, batch mutations bypassing rate limits
149
150See [attack_patterns.md](references/attack_patterns.md) for complete JWT manipulation payloads, IDOR testing methodology, BFLA endpoint lists, GraphQL introspection/depth/batch attack patterns, and rate limiting bypass techniques.
151
152---
153
154## Web Vulnerability Testing
155
156| Vulnerability | Key Tests |
157|--------------|-----------|
158| **XSS** | Reflected (script/img/svg payloads), Stored (persistent fields), DOM-based (innerHTML + location.hash) |
159| **CSRF** | Replay without token (expect 403), cross-session token replay, check SameSite cookie attribute |
160| **SQL Injection** | Error-based (`' OR 1=1--`), union-based enumeration, time-based blind (`SLEEP(5)`), boolean-based blind |
161| **SSRF** | Internal IPs, cloud metadata endpoints (AWS/GCP/Azure), IPv6/hex/decimal encoding bypasses |
162| **Path Traversal** | `../../../etc/passwd`, URL encoding, double encoding bypasses |
163
164See [attack_patterns.md](references/attack_patterns.md) for complete test payloads (XSS filter bypasses, context-specific XSS, SQL injection per database engine, SSRF bypass techniques, and DOM-based XSS source/sink pairs).
165
166---
167
168## Infrastructure Security
169
170**Key checks:**
171- **Cloud storage:** S3 bucket public access (`aws s3 ls s3://bucket --no-sign-request`), bucket policies, ACLs
172- **HTTP security headers:** HSTS, CSP (no `unsafe-inline`/`unsafe-eval`), X-Content-Type-Options, X-Frame-Options, Referrer-Policy
173- **TLS configuration:** `nmap --script ssl-enum-ciphers -p 443 target.com` or `testssl.sh` — reject TLS 1.0/1.1, RC4, 3DES, export-grade ciphers
174- **Port scanning:** `nmap -sV target.com` — flag dangerous open ports (FTP/21, Telnet/23, Redis/6379, MongoDB/27017)
175
176---
177
178## Pen Test Report Generation
179
180Generate professional reports from structured findings:
181
182```bash
183# Generate markdown report from findings JSON
184python scripts/pentest_report_generator.py --findings findings.json --format md --output report.md
185
186# Generate JSON report
187python scripts/pentest_report_generator.py --findings findings.json --format json --output report.json
188```
189
190### Findings JSON Format
191
192```json
193[
194 {
195 "title": "SQL Injection in Login Endpoint",
196 "severity": "critical",
197 "cvss_score": 9.8,
198 "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
199 "category": "A03:2021 - Injection",
200 "description": "The /api/login endpoint is vulnerable to SQL injection via the email parameter.",
201 "evidence": "Request: POST /api/login {\"email\": \"' OR 1=1--\", \"password\": \"x\"}\nResponse: 200 OK with admin session token",
202 "impact": "Full database access, authentication bypass, potential remote code execution",
203 "remediation": "Use parameterized queries. Replace string concatenation with prepared statements.",
204 "references": ["https://cwe.mitre.org/data/definitions/89.html"]
205 }
206]
207```
208
209### Report Structure
210
2111. **Executive Summary**: Business impact, overall risk level, top 3 findings
2122. **Scope**: What was tested, what was excluded, testing dates
2133. **Methodology**: Tools used, testing approach (black/gray/white box)
2144. **Findings Table**: Sorted by severity with CVSS scores
2155. **Detailed Findings**: Each with description, evidence, impact, remediation
2166. **Remediation Priority Matrix**: Effort vs. impact for each fix
2177. **Appendix**: Raw tool output, full payload lists
218
219---
220
221## Responsible Disclosure Workflow
222
223Responsible disclosure is **mandatory** for any vulnerability found during authorized testing. Standard timeline: report on day 1, follow up at day 7, status update at day 30, public disclosure at day 90.
224
225**Key principles:** Never exploit beyond proof of concept, encrypt all communications, do not access real user data, document everything with timestamps.
226
227See [responsible_disclosure.md](references/responsible_disclosure.md) for full disclosure timelines (standard 90-day, accelerated 30-day, extended 120-day), communication templates, legal considerations, bug bounty program integration, and CVE request process.
228
229---
230
231## Workflows
232
233### Workflow 1: Quick Security Check (15 Minutes)
234
235For pre-merge reviews or quick health checks:
236
237```bash
238# 1. Generate OWASP checklist
239python scripts/vulnerability_scanner.py --target web --scope quick
240
241# 2. Scan dependencies
242python scripts/dependency_auditor.py --file package.json --severity high
243
244# 3. Check for secrets in recent commits
245# (Use gitleaks or trufflehog as described in Secret Scanning section)
246
247# 4. Review HTTP security headers
248curl -sI https://target.com | grep -iE "(strict-transport|content-security|x-frame|x-content-type)"
249```
250
251**Decision**: If any critical or high findings, block the merge.
252
253### Workflow 2: Full Penetration Test (Multi-Day Assessment)
254
255**Day 1 — Reconnaissance:**
2561. Map the attack surface: endpoints, authentication flows, third-party integrations
2572. Run automated OWASP checklist (full scope)
2583. Run dependency audit across all manifests
2594. Run secret scan on full git history
260
261**Day 2 — Manual Testing:**
2621. Test authentication and authorization (IDOR, BOLA, BFLA)
2632. Test injection points (SQLi, XSS, SSRF, command injection)
2643. Test business logic flaws
2654. Test API-specific vulnerabilities (GraphQL, rate limiting, mass assignment)
266
267**Day 3 — Infrastructure and Reporting:**
2681. Check cloud storage permissions
2692. Verify TLS configuration and security headers
2703. Port scan for unnecessary services
2714. Compile findings into structured JSON
2725. Generate pen test report
273
274```bash
275# Generate final report
276python scripts/pentest_report_generator.py --findings findings.json --format md --output pentest-report.md
277```
278
279### Workflow 3: CI/CD Security Gate
280
281Automated security checks on every PR: secret scanning (TruffleHog), dependency audit (`npm audit`, `pip audit`), SAST (Semgrep with `p/security-audit`, `p/owasp-top-ten`), and security headers check on staging.
282
283**Gate Policy**: Block merge on critical/high findings. Warn on medium. Log low/info.
284
285---
286
287## Anti-Patterns
288
2891. **Testing in production without authorization** — Always get written permission and use staging/test environments when possible
2902. **Ignoring low-severity findings** — Low findings compound; a chain of lows can become a critical exploit path
2913. **Skipping responsible disclosure** — Every vulnerability found must be reported through proper channels
2924. **Relying solely on automated tools** — Tools miss business logic flaws, chained exploits, and novel attack vectors
2935. **Testing without a defined scope** — Scope creep leads to legal liability; document what is and isn't in scope
2946. **Reporting without remediation guidance** — Every finding must include actionable remediation steps
2957. **Storing evidence insecurely** — Pen test evidence (screenshots, payloads, tokens) is sensitive; encrypt and restrict access
2968. **One-time testing** — Security testing must be continuous; integrate into CI/CD and schedule periodic assessments
297
298---
299
300## Cross-References
301
302| Skill | Relationship |
303|-------|-------------|
304| [senior-secops](../senior-secops/SKILL.md) | Defensive security operations — monitoring, incident response, SIEM configuration |
305| [senior-security](../senior-security/SKILL.md) | Security policy and governance — frameworks, risk registers, compliance |
306| [dependency-auditor](engineering/skills/dependency-auditor/SKILL.md) | Deep supply chain security — SBOMs, license compliance, transitive risk |
307| [code-reviewer](../code-reviewer/SKILL.md) | Code review practices — includes security review checklist |
308
309---
310
311**Source:** [`alirezarezvani/claude-skills`](https://github.com/alirezarezvani/claude-skills) → `engineering-team/skills/security-pen-testing/SKILL.md`