Loading...
Loading...
Comprehensively evaluate the overall security of an application from two perspectives: attackers (Red Team) and defenders (Blue Team). Run two agents in parallel → output an integrated report via review-aggregator. Use this when you want to "understand the overall security status of the application", "identify vulnerabilities from an attacker's perspective", or "verify that there are no gaps in the defense system". Use security-hardening for addressing specific vulnerabilities, and security-audit-quick for fast detection of known patterns.
npx skill4agent add yusuketsunoda/ppt-trans security-threat-reviewDifferences from other security skills:
= grep-based known pattern detection (mechanical, fast)/security-audit-quick = in-depth handling of single threats (threat model → mitigation → testing → gate)/security-hardening = security review of PR diffs (diff-limited)/review --focus security = holistic attack/defense two-perspective assessment of the entire application (comprehensive, periodic)/security-threat-review
| Argument | Description | Default |
|---|---|---|
| Limit evaluation target | |
| Limit Blue Team evaluation layers (1-8) | All layers |
| Value | Target |
|---|---|
| Entire application (default) |
| Only |
| Only |
| Only authentication/authorization related |
| Only Stripe/billing related |
| Only file upload/processing related |
# Comprehensive evaluation of the entire application (default)
/security-threat-review
# Evaluate only API Routes
/security-threat-review --scope api
# Evaluate only authentication-related areas
/security-threat-review --scope auth
# Full evaluation, but Blue Team only assesses Layers 1-3 (Auth/Authorization/Input)
/security-threat-review --layer 1-3# 1. All API endpoints
echo "=== API Routes ==="
find src/app/api -name "route.ts" | sort
# 2. All Server Actions
echo "=== Server Actions ==="
find src/app/actions -name "*.ts" | sort
# 3. List of security modules
echo "=== Security Modules ==="
find src/lib/security -name "*.ts" | sort
# 4. Number of RLS policies
echo "=== RLS Policies ==="
grep -r "CREATE POLICY" supabase/migrations/ --include="*.sql" | wc -l
# 5. Test mode boundaries
echo "=== Test Mode ==="
cat src/lib/test-mode.ts | head -50Task(red-team-attacker):
Please evaluate this PowerPoint translation SaaS from an attacker's perspective.
## App Overview
- Stack: Next.js 16 + React 19 + Supabase + Stripe + Claude API
- Features: PPTX Upload → Text Extraction → Claude Translation → Download
- Authentication: Supabase Auth (Cookie-based)
- Billing: Stripe Subscriptions
## Attack Surface
[Paste Phase 0 results]
## Scope
[Value of --scope option]
Please follow the format in .claude/docs/reviewer-output-format.md for output.Task(blue-team-defender):
Please evaluate the defense posture of this PowerPoint translation SaaS.
## App Overview
- Stack: Next.js 16 + React 19 + Supabase + Stripe + Claude API
- Features: PPTX Upload → Text Extraction → Claude Translation → Download
- Authentication: Supabase Auth (Cookie-based)
- Billing: Stripe Subscriptions
## Defense Mechanisms
[Paste Phase 0 results]
## Scope
[Value of --scope option]
[Value of --layer option]
Please follow the format in .claude/docs/reviewer-output-format.md for output.
Be sure to include the Defense Scorecard (Layers 1-8).### Attack-Defense Matrix
| # | Attack Scenario (Red) | Defense Status (Blue) | Gap | Priority |
|---|-------------------|----------------|-----|----------|
| 1 | IDOR: Download via others' fileId | RLS + user_id check implemented | None | - |
| 2 | Rate Limit Bypass: Header Spoofing | Guarded by isProductionRuntime() | None | - |
| 3 | Test Mode Spoofing: X-E2E-Test | Fail-closed but some checks missing | Partial | High |
| 4 | Webhook Forgery: Unsigned Requests | Signature verification implemented | None | - |
| 5 | Translation Limit Bypass | Counter implemented, but race condition exists | Yes | Critical || Gap | Meaning |
|---|---|
| None | Red Team's attack is completely blocked by Blue Team's defense |
| Partial | Defense exists but is incomplete; breakthrough possible under certain conditions |
| Yes | Defense is missing, attack is feasible |
| Priority | Conditions |
|---|---|
| Critical | Gap=Yes and impact includes data leakage, privilege escalation, or billing fraud |
| High | Gap=Partial and impact is severe |
| Medium | Gap=Partial and impact is limited |
| Low | Theoretical risk only |
| - | Gap=None (defended properly) |
## Security Threat Review Report
### Executive Summary
[3-5 lines: Overall assessment, most critical gaps, recommended actions]
### Defense Scorecard (Blue Team)
[Scorecard table for Layers 1-8]
### Attack-Defense Matrix
[Matrix from Phase 2]
### Blockers (Critical/High Gaps)
- [confidence=XX] <Title> (file:line) — <Summary> — <Recommendation>
- Red Team: [Attack Scenario Summary]
- Blue Team: [Defense Gap Summary]
### Important (Medium Gaps)
- [confidence=XX] <Title> (file:line) — <Summary> — <Recommendation>
### Suggestions (Hardening Opportunities)
- [confidence=XX] <Title> (file:line) — <Improvement Proposal>
### Strengths (Well-Defended Areas)
- [Areas where defense is functioning properly]
### Recommended Next Steps
1. [Highest priority item to address]
2. [Next priority item]
3. [Mid-term item to address]
---
Reviewed by: Red Team (Attacker Perspective) + Blue Team (Defender Perspective)
Aggregated by: review-aggregator/security-audit-quick