Security Testing
Plan a comprehensive security testing program for "$ARGUMENTS". Define testing types, select tools, integrate into CI/CD, and establish finding triage and remediation workflows.
Prerequisites
Read .metapowers/security/$ARGUMENTS/00-govern.md. If this file does not exist, tell the user:
Phase 0 (Govern) has not been completed for "$ARGUMENTS". Run a Govern skill first (e.g., /security:security-policy $ARGUMENTS), or use --skip-checks to bypass.
If --skip-checks is present in $ARGUMENTS, skip this check and log to .metapowers/security/$ARGUMENTS/skip-log.md.
Process
Define testing types and scope:
- SAST (Static Application Security Testing) — analyze source code for vulnerabilities without executing it; run in CI on every commit
- DAST (Dynamic Application Security Testing) — test running application by sending crafted requests; run against staging environment
- SCA (Software Composition Analysis) — analyze dependencies for known vulnerabilities and license issues; run in CI on every commit
- IAST (Interactive Application Security Testing) — instrument running application during testing to detect vulnerabilities in real-time
- Penetration testing — manual and automated testing by security experts; annual minimum plus after major architectural changes
- Define scope per testing type (which repositories, applications, environments)
Select tools per testing type:
- SAST — evaluate Semgrep, CodeQL, SonarQube, Checkmarx, Snyk Code (consider language support, custom rule capability, false positive rate)
- DAST — evaluate OWASP ZAP, Burp Suite, Nuclei, HCL AppScan (consider API testing support, authentication handling)
- SCA — evaluate Snyk, Dependabot, Renovate, OWASP Dependency-Check (consider advisory database coverage, license detection)
- IAST — evaluate Contrast Security, Hdiv (consider language support, performance overhead)
- Pen testing — define in-house vs. third-party engagement model, scope, and frequency
- Document selection criteria and chosen tools with justification
Define CI/CD integration points:
- Pre-commit — secrets scanning (pre-commit hooks with tools like detect-secrets, gitleaks)
- Pull request — SAST and SCA scans with inline PR comments on findings
- Build — container image scanning, SBOM generation
- Staging deploy — DAST scans against staging environment, IAST during integration tests
- Pre-production — full regression security scan before production promotion
- Define which checks are blocking (fail the build) vs. advisory (warn but allow)
Establish finding triage process:
- Define severity-based SLAs: critical (fix within 48 hours), high (1 week), medium (1 sprint), low (next quarter)
- Assign finding ownership (the team that owns the code owns the fix)
- Create triage workflow: new finding -> validate (true/false positive) -> assign -> fix -> verify -> close
- Define escalation path for SLA breaches
- Track security debt alongside technical debt
Manage false positives:
- Document process for marking false positives (requires security team approval)
- Maintain suppression list with expiration dates (re-evaluate periodically)
- Track false positive rate per tool to inform tuning and tool evaluation
- Create custom rules to reduce false positives for common code patterns
Define testing cadence:
- SAST and SCA: every commit (automated in CI)
- DAST: weekly against staging, plus on-demand for new features
- Penetration testing: annually minimum, plus after major changes (new auth system, new data flow, major architecture change)
- Red team exercises: annually for mature organizations
- Tabletop exercises: quarterly to test incident response
Write the artifact to .metapowers/security/$ARGUMENTS/03-detect.md with heading:
Security Testing Program
Include sections:
- Testing Types — each type with scope, frequency, and environment
- Tool Selection — chosen tools per type with selection rationale
- CI/CD Integration — integration points, blocking vs. advisory checks
- Finding Triage — severity SLAs, ownership model, and workflow
- False Positive Management — suppression process and tracking
- Testing Cadence — schedule for all testing activities
- Metrics — KPIs for testing program effectiveness
Output
The security testing program written to .metapowers/security/$ARGUMENTS/03-detect.md. Present a summary to the user highlighting:
- Testing types and their scope coverage
- Selected tools and CI/CD integration plan
- Finding severity SLAs and triage workflow
- Testing cadence and key milestones
1---2name: security-testing3description: Plan SAST, DAST, SCA, and penetration testing program4---56# Security Testing78Plan a comprehensive security testing program for "$ARGUMENTS". Define testing types, select tools, integrate into CI/CD, and establish finding triage and remediation workflows.910## Prerequisites1112Read `.metapowers/security/$ARGUMENTS/00-govern.md`. If this file does not exist, tell the user:1314> Phase 0 (Govern) has not been completed for "$ARGUMENTS". Run a Govern skill first (e.g., `/security:security-policy $ARGUMENTS`), or use `--skip-checks` to bypass.1516If `--skip-checks` is present in $ARGUMENTS, skip this check and log to `.metapowers/security/$ARGUMENTS/skip-log.md`.1718## Process19201. **Define testing types and scope:**21 - **SAST (Static Application Security Testing)** — analyze source code for vulnerabilities without executing it; run in CI on every commit22 - **DAST (Dynamic Application Security Testing)** — test running application by sending crafted requests; run against staging environment23 - **SCA (Software Composition Analysis)** — analyze dependencies for known vulnerabilities and license issues; run in CI on every commit24 - **IAST (Interactive Application Security Testing)** — instrument running application during testing to detect vulnerabilities in real-time25 - **Penetration testing** — manual and automated testing by security experts; annual minimum plus after major architectural changes26 - Define scope per testing type (which repositories, applications, environments)27282. **Select tools per testing type:**29 - **SAST** — evaluate Semgrep, CodeQL, SonarQube, Checkmarx, Snyk Code (consider language support, custom rule capability, false positive rate)30 - **DAST** — evaluate OWASP ZAP, Burp Suite, Nuclei, HCL AppScan (consider API testing support, authentication handling)31 - **SCA** — evaluate Snyk, Dependabot, Renovate, OWASP Dependency-Check (consider advisory database coverage, license detection)32 - **IAST** — evaluate Contrast Security, Hdiv (consider language support, performance overhead)33 - **Pen testing** — define in-house vs. third-party engagement model, scope, and frequency34 - Document selection criteria and chosen tools with justification35363. **Define CI/CD integration points:**37 - **Pre-commit** — secrets scanning (pre-commit hooks with tools like detect-secrets, gitleaks)38 - **Pull request** — SAST and SCA scans with inline PR comments on findings39 - **Build** — container image scanning, SBOM generation40 - **Staging deploy** — DAST scans against staging environment, IAST during integration tests41 - **Pre-production** — full regression security scan before production promotion42 - Define which checks are blocking (fail the build) vs. advisory (warn but allow)43444. **Establish finding triage process:**45 - Define severity-based SLAs: critical (fix within 48 hours), high (1 week), medium (1 sprint), low (next quarter)46 - Assign finding ownership (the team that owns the code owns the fix)47 - Create triage workflow: new finding -> validate (true/false positive) -> assign -> fix -> verify -> close48 - Define escalation path for SLA breaches49 - Track security debt alongside technical debt50515. **Manage false positives:**52 - Document process for marking false positives (requires security team approval)53 - Maintain suppression list with expiration dates (re-evaluate periodically)54 - Track false positive rate per tool to inform tuning and tool evaluation55 - Create custom rules to reduce false positives for common code patterns56576. **Define testing cadence:**58 - SAST and SCA: every commit (automated in CI)59 - DAST: weekly against staging, plus on-demand for new features60 - Penetration testing: annually minimum, plus after major changes (new auth system, new data flow, major architecture change)61 - Red team exercises: annually for mature organizations62 - Tabletop exercises: quarterly to test incident response63647. **Write the artifact** to `.metapowers/security/$ARGUMENTS/03-detect.md` with heading:6566 ## Security Testing Program6768 Include sections:69 - **Testing Types** — each type with scope, frequency, and environment70 - **Tool Selection** — chosen tools per type with selection rationale71 - **CI/CD Integration** — integration points, blocking vs. advisory checks72 - **Finding Triage** — severity SLAs, ownership model, and workflow73 - **False Positive Management** — suppression process and tracking74 - **Testing Cadence** — schedule for all testing activities75 - **Metrics** — KPIs for testing program effectiveness7677## Output7879The security testing program written to `.metapowers/security/$ARGUMENTS/03-detect.md`. Present a summary to the user highlighting:80- Testing types and their scope coverage81- Selected tools and CI/CD integration plan82- Finding severity SLAs and triage workflow83- Testing cadence and key milestones