QA Security Testing
Automated security testing pipelines that integrate scanners into CI/CD, enforce vulnerability gates, and drive findings through remediation. This skill covers the testing automation side of security; for secure design, threat modeling, and architecture review, use software-security-appsec.
Start with the quick start workflow below, then dive into specific reference guides. Use current official sources from data/sources.json for tool documentation.
Quick Start
- Run a lightweight threat model to identify attack surface and risk areas.
- Select tools per category (SAST, SCA, DAST, secrets, container/IaC).
- Integrate into CI with clear gate policies per stage.
- Establish a triage workflow: confirm, classify, assign, track.
- Define vulnerability SLAs as a starting policy, then tune them to exploitability, business impact, and compliance obligations.
- Add security regression tests for every confirmed vulnerability.
Inputs to Gather
- Application type: web app, API, mobile, CLI, infrastructure.
- Languages, frameworks, and build toolchain.
- Deployment model: containers, serverless, VMs, PaaS.
- Current security tooling and CI platform.
- Compliance requirements: SOC 2, PCI DSS, HIPAA, ISO 27001 if applicable.
- Existing vulnerability management process and acceptable risk thresholds.
- Code hosting platform: GitHub, GitLab, Bitbucket (affects native tool availability).
Security Testing Categories
1. SAST (Static Application Security Testing)
Analyze source code for vulnerabilities without executing it.
- Recommended tools: Semgrep (fast, customizable rules, free tier), CodeQL (deep dataflow analysis, GitHub-native), Snyk Code.
- CI pattern: run on every PR; a common starter is block merge on high/critical findings, then tune to your risk policy.
- Key practices: maintain custom rules for your codebase patterns, manage suppressions with documented reasons, use baseline files to avoid noise from pre-existing findings.
- Reference: references/sast-integration.md
2. SCA / Dependency Scanning
Detect known vulnerabilities in direct and transitive dependencies.
- Recommended tools: Dependabot (GitHub-native, zero config), Snyk Open Source, Renovate +
npm audit / pip-audit, Trivy fs mode.
- Vulnerability SLAs (common starting point): critical 24h, high 7d, medium 30d, low 90d. Adjust these to exploitability, asset value, compensating controls, and regulatory commitments.
- Key practices: auto-merge patch updates with passing tests, generate SBOMs (CycloneDX or SPDX), track transitive dependency risk.
- Reference: references/dependency-scanning.md
3. DAST (Dynamic Application Security Testing)
Test the running application for vulnerabilities by sending crafted requests.
- Recommended tools: ZAP by Checkmarx (open source, automation framework — left OWASP in 2023, same tool), Nuclei (template-based, fast), Burp Suite (manual + CI plugin).
- CI pattern: run on staging deploy, not on every PR (too slow). Schedule full scans weekly.
- Key practices: configure authenticated scanning, maintain baselines for known findings, scan APIs with OpenAPI specs.
- Reference: references/dast-automation.md
4. Secret Scanning
Detect credentials, tokens, and keys committed to source code.
- Recommended tools: gitleaks (pre-commit + CI), TruffleHog (entropy + regex), GitHub secret scanning (push protection).
- CI pattern: hard fail on any active credential or secret material. False positives and documented test fixtures still need an explicit suppression workflow.
- Key practices: install pre-commit hooks to catch secrets before push, scan full git history for historical leaks, rotate exposed secrets immediately (removal from code is not sufficient).
- Reference: references/secret-scanning.md
5. Container and IaC Scanning
Scan container images and infrastructure-as-code for misconfigurations and CVEs.
- Recommended tools: Trivy (containers + IaC + SBOM, single tool), Checkov (Terraform, CloudFormation, Kubernetes). tfsec is deprecated — all checks merged into
trivy config.
- CI pattern: scan on image build; a common starter is block on critical CVEs. Scan IaC on every PR with thresholds matched to environment risk.
- Key practices: enforce base image policy (approved images only), scan registry images on schedule, use multi-stage builds to reduce attack surface.
- Reference: references/container-iac-scanning.md
6. Security Regression Testing
Write test cases that prevent reintroduction of fixed vulnerabilities.
- Key areas: auth boundary tests (IDOR, privilege escalation), input validation suites, CORS/CSP/security header verification, business logic abuse cases.
- CI pattern: include in standard test suites, run on every PR like functional tests.
- Reference: references/security-regression-testing.md
CI Gate Design
Treat gate thresholds as organization policy, not universal defaults. Severity alone is not enough; combine scanner severity with exploitability, reachability, asset sensitivity, and business impact.
| Stage |
Tools |
Gate Policy |
| Pre-merge (every PR) |
SAST + secret scanning + dependency audit |
Common starter: block on high/critical SAST, active secrets, and critical/high exploitable CVEs |
| Pre-deploy (staging) |
DAST on staging + container scan |
Common starter: block on high/critical confirmed DAST findings and critical container CVEs |
| Scheduled (weekly) |
Full DAST scan, dependency review, registry scan |
Findings feed into triage backlog |
| Release |
All gates green + SLA compliance check |
Block release when open findings violate the org's release policy or SLA commitments |
Vulnerability Management Workflow
- Triage: confirm finding is real, classify severity and exploitability. Severity (CVSS)
alone is not triage — combine it with EPSS (probability of real-world exploitation) and
reachability (can your build actually hit the vulnerable path) before setting priority. See
references/owasp-top-10-coverage.md § Triage: Severity vs. Exploitability vs.
Reachability
for the full model and worked rules of thumb.
- Track: record in issue tracker with severity, EPSS/reachability context, SLA deadline, and remediation plan.
- Remediate: fix, verify fix with regression test, close finding.
- Suppress: if false positive, document reason and reviewer. Review suppressions quarterly — see
references/owasp-top-10-coverage.md § False-Positive Economics
for why unmanaged false positives cost more than the noise itself.
- Measure: track mean time to remediate, open vulnerability count by severity, scan coverage percentage.
- Escalate to human testing when scanners cannot see the risk: business-logic abuse, exploit
chains across multiple low-severity findings, and freshly re-architected surfaces need a pen-test
or red-team engagement, not another scanner run — see references/owasp-top-10-coverage.md § When
Pen-Testing Beats Scanning.
Quick Reference
| Category |
Recommended Tool |
CI Stage |
Gate Policy |
| SAST |
Semgrep |
Every PR |
Common starter: block high/critical |
| SCA |
Dependabot + Trivy |
Every PR |
Common starter: block critical/high exploitable CVE |
| DAST |
ZAP / Nuclei |
Staging deploy |
Common starter: block high/critical confirmed findings |
| Secrets |
gitleaks |
Every PR + pre-commit |
Fail on active secret material |
| Containers |
Trivy |
Image build |
Common starter: block critical CVE |
| IaC |
Checkov / Trivy |
Every PR |
Common starter: block high/critical misconfigurations |
| Regression |
Custom test suites |
Every PR |
Standard test pass/fail |
Decision Tree
Starting security testing pipeline:
│
├─ New project, no security tooling?
│ └─ Start with: SAST (Semgrep) + secret scanning (gitleaks) + SCA (Dependabot)
│ └─ These three give the best signal-to-effort ratio
│
├─ Have SAST/SCA, need runtime testing?
│ └─ Add DAST: ZAP on staging + Nuclei for targeted templates
│
├─ Running containers?
│ └─ Add Trivy for image scanning + base image policy
│
├─ Using Terraform/CloudFormation/Kubernetes?
│ └─ Add Checkov or Trivy IaC scanning on every PR
│
├─ Compliance requirement (SOC 2, PCI, HIPAA)?
│ └─ Full pipeline + SBOM generation + evidence retention + SLA tracking
│
└─ Past security incidents?
└─ Write regression tests for each, add to standard test suite
Do / Avoid
Do:
- Start with SAST + secrets + SCA — cheapest signal, highest coverage.
- Triage findings before enabling CI blocking to avoid developer frustration.
- Tune block thresholds and SLAs to the business risk model instead of copying canned defaults blindly.
- Maintain suppressions with documented reasons and periodic review.
- Rotate any detected secret immediately; removing from code is not enough.
- Write regression tests for every confirmed vulnerability.
- Test authentication boundaries explicitly (IDOR, privilege escalation, tenant isolation).
Avoid:
- Blocking CI on every finding without initial triage and baseline.
- Running full DAST scans on every PR (too slow, use staging deploys).
- Treating scanner output as ground truth without human verification.
- Scanning without a remediation workflow (findings without owners rot).
- Ignoring transitive dependency vulnerabilities.
- Storing suppression rules without documented justification.
Scripts
| Script |
Purpose |
| scripts/vuln_tracker.py |
Vulnerability tracker and security posture scorer |
Run from the qa-security-testing/ directory:
# Overall security posture: counts by severity, SLA rate, overdue items, score
python scripts/vuln_tracker.py status --input data/sample-vulnerabilities.json
# SLA compliance check: list overdue items with days overdue
python scripts/vuln_tracker.py sla --input data/sample-vulnerabilities.json
# Scanner coverage across attack surfaces: flag gaps
python scripts/vuln_tracker.py coverage --input data/sample-scan-coverage.json
# Full Markdown security testing report
python scripts/vuln_tracker.py report \
--input data/sample-vulnerabilities.json \
--coverage data/sample-scan-coverage.json \
--output report.md
Resources
| Resource |
Purpose |
| references/sast-integration.md |
Semgrep and CodeQL setup, custom rules, CI integration |
| references/dast-automation.md |
ZAP (by Checkmarx) and Nuclei automation, authenticated scanning |
| references/dependency-scanning.md |
SCA tools, vulnerability SLAs, SBOM generation |
| references/secret-scanning.md |
gitleaks setup, pre-commit hooks, remediation workflow |
| references/container-iac-scanning.md |
Trivy and Checkov for containers and IaC |
| references/security-regression-testing.md |
Writing security test cases for past vulnerabilities |
| references/supply-chain-security.md |
SLSA v1.1 build levels, Sigstore/Cosign keyless signing, in-toto attestations, SBOM signing, GitHub provenance, npm/PyPI sigstore |
| references/owasp-top-10-coverage.md |
CI scanner mapping for OWASP API Top 10 (2023), OWASP LLM Top 10 v2 (2025), OWASP Top 10 for Agentic Applications (2026, ASI01-10), and OWASP Top 10:2025; notes on ASVS 5.0; plus the severity/exploitability/reachability triage model, pen-test-vs-scanning judgment, and false-positive economics |
| data/sources.json |
Curated external sources and documentation links |
| data/sample-vulnerabilities.json |
Sample B2B SaaS vulnerability list for vuln_tracker.py |
| data/sample-scan-coverage.json |
Sample scanner coverage map for vuln_tracker.py |
Templates
| Template |
Purpose |
| assets/template-security-test-plan.md |
Security testing scope, tool selection, and gate policy |
| assets/template-security-gate-checklist.md |
Pre-merge, pre-deploy, and release gate checklist |
| assets/template-vulnerability-sla.md |
Severity-based SLA table with escalation paths |
ASCII Flow
Security testing request
-> Identify attack surface, asset value, compliance needs, and release stage
-> Select SAST, SCA, secrets, DAST, container, and IaC checks by risk
-> Wire CI gates with severity, exploitability, and suppression policy
-> Triage findings: confirm, classify, assign, and set SLA
-> Add regression tests for confirmed vulnerabilities
-> Publish evidence for merge, deploy, and release decisions
Navigation
## Vulnerability Management Workflow, ## Decision Tree, and ## Do / Avoid for the main sequence
## Scripts, ## Resources, and ## Templates for deeper materials and automation
## Related Skills for AppSec, CI, and testing-strategy handoffs
- Game theory (scan scheduling, fuzz seed selection, red-team iteration, BAS): references/game-theory-applied.md
Related Skills
Fact-Checking
- Known bugs, regressions, framework/compiler/runtime footguns, and version-specific crash or workaround guidance must be verified against current primary web sources before being treated as current fact.
- Use web search or web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.
- Prefer primary sources; report source links and dates for volatile information.
- If web access is unavailable, state the limitation and mark guidance as unverified.
Learnings Loop
Before applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
1---2name: qa-security-testing3description: Builds automated security testing pipelines for SAST, DAST, SCA, secret scanning, and containers. Use when integrating scanners into CI or managing security regression gates.4---5
6# QA Security Testing
7
8Automated security testing pipelines that integrate scanners into CI/CD, enforce vulnerability gates, and drive findings through remediation. This skill covers the testing automation side of security; for secure design, threat modeling, and architecture review, use [software-security-appsec](../software-security-appsec/SKILL.md).
9
10Start with the quick start workflow below, then dive into specific reference guides. Use current official sources from [data/sources.json](data/sources.json) for tool documentation.
11
12## Quick Start
13
141. Run a lightweight threat model to identify attack surface and risk areas.
152. Select tools per category (SAST, SCA, DAST, secrets, container/IaC).
163. Integrate into CI with clear gate policies per stage.
174. Establish a triage workflow: confirm, classify, assign, track.
185. Define vulnerability SLAs as a starting policy, then tune them to exploitability, business impact, and compliance obligations.
196. Add security regression tests for every confirmed vulnerability.
20
21## Inputs to Gather
22
23- Application type: web app, API, mobile, CLI, infrastructure.
24- Languages, frameworks, and build toolchain.
25- Deployment model: containers, serverless, VMs, PaaS.
26- Current security tooling and CI platform.
27- Compliance requirements: SOC 2, PCI DSS, HIPAA, ISO 27001 if applicable.
28- Existing vulnerability management process and acceptable risk thresholds.
29- Code hosting platform: GitHub, GitLab, Bitbucket (affects native tool availability).
30
31## Security Testing Categories
32
33### 1. SAST (Static Application Security Testing)
34
35Analyze source code for vulnerabilities without executing it.
36
37- **Recommended tools**: Semgrep (fast, customizable rules, free tier), CodeQL (deep dataflow analysis, GitHub-native), Snyk Code.
38- **CI pattern**: run on every PR; a common starter is block merge on high/critical findings, then tune to your risk policy.
39- **Key practices**: maintain custom rules for your codebase patterns, manage suppressions with documented reasons, use baseline files to avoid noise from pre-existing findings.
40- **Reference**: [references/sast-integration.md](references/sast-integration.md)
41
42### 2. SCA / Dependency Scanning
43
44Detect known vulnerabilities in direct and transitive dependencies.
45
46- **Recommended tools**: Dependabot (GitHub-native, zero config), Snyk Open Source, Renovate + `npm audit` / `pip-audit`, Trivy fs mode.
47- **Vulnerability SLAs** (common starting point): critical 24h, high 7d, medium 30d, low 90d. Adjust these to exploitability, asset value, compensating controls, and regulatory commitments.
48- **Key practices**: auto-merge patch updates with passing tests, generate SBOMs (CycloneDX or SPDX), track transitive dependency risk.
49- **Reference**: [references/dependency-scanning.md](references/dependency-scanning.md)
50
51### 3. DAST (Dynamic Application Security Testing)
52
53Test the running application for vulnerabilities by sending crafted requests.
54
55- **Recommended tools**: ZAP by Checkmarx (open source, automation framework — left OWASP in 2023, same tool), Nuclei (template-based, fast), Burp Suite (manual + CI plugin).
56- **CI pattern**: run on staging deploy, not on every PR (too slow). Schedule full scans weekly.
57- **Key practices**: configure authenticated scanning, maintain baselines for known findings, scan APIs with OpenAPI specs.
58- **Reference**: [references/dast-automation.md](references/dast-automation.md)
59
60### 4. Secret Scanning
61
62Detect credentials, tokens, and keys committed to source code.
63
64- **Recommended tools**: gitleaks (pre-commit + CI), TruffleHog (entropy + regex), GitHub secret scanning (push protection).
65- **CI pattern**: hard fail on any active credential or secret material. False positives and documented test fixtures still need an explicit suppression workflow.
66- **Key practices**: install pre-commit hooks to catch secrets before push, scan full git history for historical leaks, rotate exposed secrets immediately (removal from code is not sufficient).
67- **Reference**: [references/secret-scanning.md](references/secret-scanning.md)
68
69### 5. Container and IaC Scanning
70
71Scan container images and infrastructure-as-code for misconfigurations and CVEs.
72
73- **Recommended tools**: Trivy (containers + IaC + SBOM, single tool), Checkov (Terraform, CloudFormation, Kubernetes). tfsec is deprecated — all checks merged into `trivy config`.
74- **CI pattern**: scan on image build; a common starter is block on critical CVEs. Scan IaC on every PR with thresholds matched to environment risk.
75- **Key practices**: enforce base image policy (approved images only), scan registry images on schedule, use multi-stage builds to reduce attack surface.
76- **Reference**: [references/container-iac-scanning.md](references/container-iac-scanning.md)
77
78### 6. Security Regression Testing
79
80Write test cases that prevent reintroduction of fixed vulnerabilities.
81
82- **Key areas**: auth boundary tests (IDOR, privilege escalation), input validation suites, CORS/CSP/security header verification, business logic abuse cases.
83- **CI pattern**: include in standard test suites, run on every PR like functional tests.
84- **Reference**: [references/security-regression-testing.md](references/security-regression-testing.md)
85
86## CI Gate Design
87
88Treat gate thresholds as organization policy, not universal defaults. Severity alone is not enough; combine scanner severity with exploitability, reachability, asset sensitivity, and business impact.
89
90| Stage | Tools | Gate Policy |
91|-------|-------|-------------|
92| Pre-merge (every PR) | SAST + secret scanning + dependency audit | Common starter: block on high/critical SAST, active secrets, and critical/high exploitable CVEs |
93| Pre-deploy (staging) | DAST on staging + container scan | Common starter: block on high/critical confirmed DAST findings and critical container CVEs |
94| Scheduled (weekly) | Full DAST scan, dependency review, registry scan | Findings feed into triage backlog |
95| Release | All gates green + SLA compliance check | Block release when open findings violate the org's release policy or SLA commitments |
96
97## Vulnerability Management Workflow
98
991. **Triage**: confirm finding is real, classify severity **and exploitability**. Severity (CVSS)
100 alone is not triage — combine it with EPSS (probability of real-world exploitation) and
101 reachability (can your build actually hit the vulnerable path) before setting priority. See
102 [references/owasp-top-10-coverage.md § Triage: Severity vs. Exploitability vs.
103 Reachability](references/owasp-top-10-coverage.md#triage-severity-vs-exploitability-vs-reachability)
104 for the full model and worked rules of thumb.
1052. **Track**: record in issue tracker with severity, EPSS/reachability context, SLA deadline, and remediation plan.
1063. **Remediate**: fix, verify fix with regression test, close finding.
1074. **Suppress**: if false positive, document reason and reviewer. Review suppressions quarterly — see
108 [references/owasp-top-10-coverage.md § False-Positive Economics](references/owasp-top-10-coverage.md#false-positive-economics)
109 for why unmanaged false positives cost more than the noise itself.
1105. **Measure**: track mean time to remediate, open vulnerability count by severity, scan coverage percentage.
1116. **Escalate to human testing when scanners cannot see the risk**: business-logic abuse, exploit
112 chains across multiple low-severity findings, and freshly re-architected surfaces need a pen-test
113 or red-team engagement, not another scanner run — see [references/owasp-top-10-coverage.md § When
114 Pen-Testing Beats Scanning](references/owasp-top-10-coverage.md#when-pen-testing-beats-scanning).
115
116## Quick Reference
117
118| Category | Recommended Tool | CI Stage | Gate Policy |
119|----------|-----------------|----------|-------------|
120| SAST | Semgrep | Every PR | Common starter: block high/critical |
121| SCA | Dependabot + Trivy | Every PR | Common starter: block critical/high exploitable CVE |
122| DAST | ZAP / Nuclei | Staging deploy | Common starter: block high/critical confirmed findings |
123| Secrets | gitleaks | Every PR + pre-commit | Fail on active secret material |
124| Containers | Trivy | Image build | Common starter: block critical CVE |
125| IaC | Checkov / Trivy | Every PR | Common starter: block high/critical misconfigurations |
126| Regression | Custom test suites | Every PR | Standard test pass/fail |
127
128## Decision Tree
129
130```text
131Starting security testing pipeline:
132 │
133 ├─ New project, no security tooling?
134 │ └─ Start with: SAST (Semgrep) + secret scanning (gitleaks) + SCA (Dependabot)
135 │ └─ These three give the best signal-to-effort ratio
136 │
137 ├─ Have SAST/SCA, need runtime testing?
138 │ └─ Add DAST: ZAP on staging + Nuclei for targeted templates
139 │
140 ├─ Running containers?
141 │ └─ Add Trivy for image scanning + base image policy
142 │
143 ├─ Using Terraform/CloudFormation/Kubernetes?
144 │ └─ Add Checkov or Trivy IaC scanning on every PR
145 │
146 ├─ Compliance requirement (SOC 2, PCI, HIPAA)?
147 │ └─ Full pipeline + SBOM generation + evidence retention + SLA tracking
148 │
149 └─ Past security incidents?
150 └─ Write regression tests for each, add to standard test suite
151```
152
153## Do / Avoid
154
155**Do**:
156- Start with SAST + secrets + SCA — cheapest signal, highest coverage.
157- Triage findings before enabling CI blocking to avoid developer frustration.
158- Tune block thresholds and SLAs to the business risk model instead of copying canned defaults blindly.
159- Maintain suppressions with documented reasons and periodic review.
160- Rotate any detected secret immediately; removing from code is not enough.
161- Write regression tests for every confirmed vulnerability.
162- Test authentication boundaries explicitly (IDOR, privilege escalation, tenant isolation).
163
164**Avoid**:
165- Blocking CI on every finding without initial triage and baseline.
166- Running full DAST scans on every PR (too slow, use staging deploys).
167- Treating scanner output as ground truth without human verification.
168- Scanning without a remediation workflow (findings without owners rot).
169- Ignoring transitive dependency vulnerabilities.
170- Storing suppression rules without documented justification.
171
172## Scripts
173
174| Script | Purpose |
175|--------|---------|
176| [scripts/vuln_tracker.py](scripts/vuln_tracker.py) | Vulnerability tracker and security posture scorer |
177
178Run from the `qa-security-testing/` directory:
179
180```bash
181# Overall security posture: counts by severity, SLA rate, overdue items, score
182python scripts/vuln_tracker.py status --input data/sample-vulnerabilities.json
183```
184
185```bash
186# SLA compliance check: list overdue items with days overdue
187python scripts/vuln_tracker.py sla --input data/sample-vulnerabilities.json
188```
189
190```bash
191# Scanner coverage across attack surfaces: flag gaps
192python scripts/vuln_tracker.py coverage --input data/sample-scan-coverage.json
193```
194
195```bash
196# Full Markdown security testing report
197python scripts/vuln_tracker.py report \
198 --input data/sample-vulnerabilities.json \
199 --coverage data/sample-scan-coverage.json \
200 --output report.md
201```
202
203## Resources
204
205| Resource | Purpose |
206|----------|---------|
207| [references/sast-integration.md](references/sast-integration.md) | Semgrep and CodeQL setup, custom rules, CI integration |
208| [references/dast-automation.md](references/dast-automation.md) | ZAP (by Checkmarx) and Nuclei automation, authenticated scanning |
209| [references/dependency-scanning.md](references/dependency-scanning.md) | SCA tools, vulnerability SLAs, SBOM generation |
210| [references/secret-scanning.md](references/secret-scanning.md) | gitleaks setup, pre-commit hooks, remediation workflow |
211| [references/container-iac-scanning.md](references/container-iac-scanning.md) | Trivy and Checkov for containers and IaC |
212| [references/security-regression-testing.md](references/security-regression-testing.md) | Writing security test cases for past vulnerabilities |
213| [references/supply-chain-security.md](references/supply-chain-security.md) | SLSA v1.1 build levels, Sigstore/Cosign keyless signing, in-toto attestations, SBOM signing, GitHub provenance, npm/PyPI sigstore |
214| [references/owasp-top-10-coverage.md](references/owasp-top-10-coverage.md) | CI scanner mapping for OWASP API Top 10 (2023), OWASP LLM Top 10 v2 (2025), OWASP Top 10 for Agentic Applications (2026, ASI01-10), and OWASP Top 10:2025; notes on ASVS 5.0; plus the severity/exploitability/reachability triage model, pen-test-vs-scanning judgment, and false-positive economics |
215| [data/sources.json](data/sources.json) | Curated external sources and documentation links |
216| [data/sample-vulnerabilities.json](data/sample-vulnerabilities.json) | Sample B2B SaaS vulnerability list for vuln_tracker.py |
217| [data/sample-scan-coverage.json](data/sample-scan-coverage.json) | Sample scanner coverage map for vuln_tracker.py |
218
219## Templates
220
221| Template | Purpose |
222|----------|---------|
223| [assets/template-security-test-plan.md](assets/template-security-test-plan.md) | Security testing scope, tool selection, and gate policy |
224| [assets/template-security-gate-checklist.md](assets/template-security-gate-checklist.md) | Pre-merge, pre-deploy, and release gate checklist |
225| [assets/template-vulnerability-sla.md](assets/template-vulnerability-sla.md) | Severity-based SLA table with escalation paths |
226
227## ASCII Flow
228
229```text
230Security testing request
231 -> Identify attack surface, asset value, compliance needs, and release stage
232 -> Select SAST, SCA, secrets, DAST, container, and IaC checks by risk
233 -> Wire CI gates with severity, exploitability, and suppression policy
234 -> Triage findings: confirm, classify, assign, and set SLA
235 -> Add regression tests for confirmed vulnerabilities
236 -> Publish evidence for merge, deploy, and release decisions
237```
238
239## Navigation
240
241- `## Vulnerability Management Workflow`, `## Decision Tree`, and `## Do / Avoid` for the main sequence
242- `## Scripts`, `## Resources`, and `## Templates` for deeper materials and automation
243- `## Related Skills` for AppSec, CI, and testing-strategy handoffs
244- Game theory (scan scheduling, fuzz seed selection, red-team iteration, BAS): [references/game-theory-applied.md](references/game-theory-applied.md)
245
246## Related Skills
247
248| Skill | Purpose |
249|-------|---------|
250| [software-security-appsec](../software-security-appsec/SKILL.md) | Secure design, threat modeling, and security review |
251| [qa-testing-strategy](../qa-testing-strategy/SKILL.md) | Risk-based test strategy |
252| [qa-api-testing-contracts](../qa-api-testing-contracts/SKILL.md) | API contract and security testing |
253| [ops-devops-platform](../ops-devops-platform/SKILL.md) | CI/CD pipeline design |
254| [dev-dependency-management](../dev-dependency-management/SKILL.md) | Dependency management and update policy |
255| [qa-resilience](../qa-resilience/SKILL.md) | Failure mode testing |
256
257## Fact-Checking
258
259- Known bugs, regressions, framework/compiler/runtime footguns, and version-specific crash or workaround guidance must be verified against current primary web sources before being treated as current fact.
260- Use web search or web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.
261- Prefer primary sources; report source links and dates for volatile information.
262- If web access is unavailable, state the limitation and mark guidance as unverified.
263
264## Learnings Loop
265
266Before applying this skill on a non-trivial task, read `learnings.consolidated.md` in this directory (and `learnings.md` if present).
267
268After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to `learnings.md` via `agents-skills-feedback-loop/scripts/append_learning.py`. Do not modify `SKILL.md` itself.
269