@jakkrichm/create-nexus-devflow 2.0.12 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/lib/update.js +15 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/70-release/SKILL.md +2 -0
  4. package/template/.agents/skills/ci/SKILL.md +25 -78
  5. package/template/.agents/skills/commit/SKILL.md +39 -43
  6. package/template/.agents/skills/debug/SKILL.md +43 -104
  7. package/template/.agents/skills/deploy/SKILL.md +37 -65
  8. package/template/.agents/skills/insight/SKILL.md +27 -116
  9. package/template/.agents/skills/preview/SKILL.md +24 -103
  10. package/template/.agents/skills/review/SKILL.md +53 -37
  11. package/template/.agents/skills/rollback/SKILL.md +1 -0
  12. package/template/.agents/skills/security-review/SKILL.md +44 -147
  13. package/template/.agents/skills/simplify/SKILL.md +48 -57
  14. package/template/.agents/skills/test/SKILL.md +63 -51
  15. package/template/.claude/skills/70-release/SKILL.md +2 -0
  16. package/template/.claude/skills/ci/SKILL.md +25 -78
  17. package/template/.claude/skills/commit/SKILL.md +39 -43
  18. package/template/.claude/skills/debug/SKILL.md +43 -104
  19. package/template/.claude/skills/deploy/SKILL.md +37 -65
  20. package/template/.claude/skills/insight/SKILL.md +27 -116
  21. package/template/.claude/skills/preview/SKILL.md +24 -103
  22. package/template/.claude/skills/review/SKILL.md +53 -37
  23. package/template/.claude/skills/rollback/SKILL.md +1 -0
  24. package/template/.claude/skills/security-review/SKILL.md +44 -147
  25. package/template/.claude/skills/simplify/SKILL.md +48 -57
  26. package/template/.claude/skills/test/SKILL.md +63 -51
  27. package/template/devflow/history/HISTORY.md +27 -0
  28. package/template/devflow/reference/running-id-contract.md +1 -1
  29. package/template/.agents/skills/9arm-skills/README.md +0 -51
  30. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
  31. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +0 -79
  32. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +0 -71
  33. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +0 -72
  34. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +0 -302
  35. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +0 -390
  36. package/template/.agents/skills/code-review-and-quality/SKILL.md +0 -392
  37. package/template/.agents/skills/code-simplification/SKILL.md +0 -331
  38. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +0 -298
  39. package/template/.agents/skills/deployment-procedures/SKILL.md +0 -241
  40. package/template/.agents/skills/deprecation-and-migration/SKILL.md +0 -206
  41. package/template/.agents/skills/diagnosing-bugs/SKILL.md +0 -93
  42. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +0 -300
  43. package/template/.agents/skills/human-review-decisions/SKILL.md +0 -74
  44. package/template/.agents/skills/idea-refine/SKILL.md +0 -178
  45. package/template/.agents/skills/idea-refine/examples.md +0 -238
  46. package/template/.agents/skills/idea-refine/frameworks.md +0 -99
  47. package/template/.agents/skills/idea-refine/refinement-criteria.md +0 -113
  48. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +0 -15
  49. package/template/.agents/skills/incremental-implementation/SKILL.md +0 -248
  50. package/template/.agents/skills/insight-capture/SKILL.md +0 -84
  51. package/template/.agents/skills/intelligent-routing/SKILL.md +0 -176
  52. package/template/.agents/skills/md2html/SKILL.md +0 -154
  53. package/template/.agents/skills/md2html/components.md +0 -505
  54. package/template/.agents/skills/md2html/template.html +0 -1152
  55. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +0 -239
  56. package/template/.agents/skills/pr-review/SKILL.md +0 -143
  57. package/template/.agents/skills/pr-review-analysis/SKILL.md +0 -89
  58. package/template/.agents/skills/preview-local-check/SKILL.md +0 -59
  59. package/template/.agents/skills/release-git-operations/SKILL.md +0 -97
  60. package/template/.agents/skills/review-followup-routing/SKILL.md +0 -98
  61. package/template/.agents/skills/security-and-hardening/SKILL.md +0 -349
  62. package/template/.agents/skills/security-and-hardening/security-checklist.md +0 -134
  63. package/template/.agents/skills/shipping-and-launch/SKILL.md +0 -311
  64. package/template/.agents/skills/silent-failure-audit/SKILL.md +0 -73
  65. package/template/.agents/skills/spec-orchestration/SKILL.md +0 -91
  66. package/template/.agents/skills/specialist-agent-routing/SKILL.md +0 -107
  67. package/template/.agents/skills/test-driven-development/SKILL.md +0 -422
  68. package/template/.agents/skills/test-driven-development/testing-patterns.md +0 -236
  69. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +0 -56
  70. package/template/.agents/skills/using-agent-skills/SKILL.md +0 -171
  71. package/template/.agents/skills/verification-orchestration/SKILL.md +0 -68
  72. package/template/.agents/skills/vulnerability-scanner/SKILL.md +0 -276
  73. package/template/.agents/skills/vulnerability-scanner/checklists.md +0 -121
  74. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  75. package/template/.agents/skills/wiki/SKILL.md +0 -149
  76. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +0 -87
  77. package/template/.claude/skills/9arm-skills/README.md +0 -51
  78. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
  79. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +0 -79
  80. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +0 -71
  81. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +0 -72
  82. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +0 -302
  83. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +0 -390
  84. package/template/.claude/skills/code-review-and-quality/SKILL.md +0 -392
  85. package/template/.claude/skills/code-simplification/SKILL.md +0 -331
  86. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +0 -298
  87. package/template/.claude/skills/deployment-procedures/SKILL.md +0 -241
  88. package/template/.claude/skills/deprecation-and-migration/SKILL.md +0 -206
  89. package/template/.claude/skills/diagnosing-bugs/SKILL.md +0 -93
  90. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +0 -300
  91. package/template/.claude/skills/human-review-decisions/SKILL.md +0 -74
  92. package/template/.claude/skills/idea-refine/SKILL.md +0 -178
  93. package/template/.claude/skills/idea-refine/examples.md +0 -238
  94. package/template/.claude/skills/idea-refine/frameworks.md +0 -99
  95. package/template/.claude/skills/idea-refine/refinement-criteria.md +0 -113
  96. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +0 -15
  97. package/template/.claude/skills/incremental-implementation/SKILL.md +0 -248
  98. package/template/.claude/skills/insight-capture/SKILL.md +0 -84
  99. package/template/.claude/skills/intelligent-routing/SKILL.md +0 -176
  100. package/template/.claude/skills/md2html/SKILL.md +0 -154
  101. package/template/.claude/skills/md2html/components.md +0 -505
  102. package/template/.claude/skills/md2html/template.html +0 -1152
  103. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +0 -239
  104. package/template/.claude/skills/pr-review/SKILL.md +0 -143
  105. package/template/.claude/skills/pr-review-analysis/SKILL.md +0 -89
  106. package/template/.claude/skills/preview-local-check/SKILL.md +0 -59
  107. package/template/.claude/skills/release-git-operations/SKILL.md +0 -97
  108. package/template/.claude/skills/review-followup-routing/SKILL.md +0 -98
  109. package/template/.claude/skills/security-and-hardening/SKILL.md +0 -349
  110. package/template/.claude/skills/security-and-hardening/security-checklist.md +0 -134
  111. package/template/.claude/skills/shipping-and-launch/SKILL.md +0 -311
  112. package/template/.claude/skills/silent-failure-audit/SKILL.md +0 -73
  113. package/template/.claude/skills/spec-orchestration/SKILL.md +0 -91
  114. package/template/.claude/skills/specialist-agent-routing/SKILL.md +0 -107
  115. package/template/.claude/skills/test-driven-development/SKILL.md +0 -422
  116. package/template/.claude/skills/test-driven-development/testing-patterns.md +0 -236
  117. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +0 -56
  118. package/template/.claude/skills/using-agent-skills/SKILL.md +0 -171
  119. package/template/.claude/skills/verification-orchestration/SKILL.md +0 -68
  120. package/template/.claude/skills/vulnerability-scanner/SKILL.md +0 -276
  121. package/template/.claude/skills/vulnerability-scanner/checklists.md +0 -121
  122. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  123. package/template/.claude/skills/wiki/SKILL.md +0 -149
  124. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +0 -87
@@ -1,56 +0,0 @@
1
- ---
2
- name: test-execution-and-coverage
3
- description: "[Devflow] Generate missing tests, run existing tests, and summarize coverage and failures. Use when implementation or verification needs explicit testing evidence beyond a general TDD reminder."
4
- ---
5
-
6
- # Test Execution And Coverage
7
-
8
- ## Overview
9
-
10
- This skill complements TDD by handling test generation, execution, and persistent reporting.
11
-
12
- ## When to Use
13
-
14
- - During `40-implement` when tests need to be added
15
- - During `50-verify` when the test suite must be run and summarized
16
- - During `Debug` when a bug needs a reproduction test
17
-
18
- ## Process
19
-
20
- ### 1. Decide Test Mode
21
-
22
- - generate tests for a target
23
- - run the existing test suite
24
- - inspect coverage when the project supports it
25
-
26
- ### 2. Use Project-Native Test Commands
27
-
28
- - prefer the project's real framework and real commands
29
- - highlight failed assertions clearly
30
- - distinguish test generation from test execution
31
-
32
- ### 3. Save Reusable Report
33
-
34
- Write reusable output under:
35
-
36
- ```text
37
- devflow/reports/{date}-test-report-{slug}.md
38
- ```
39
-
40
- Use `.agent/resources/schemas/test_report.template.md` when saving a reusable report.
41
-
42
- ### 4. Route Back
43
-
44
- - `50-verify` when tests support formal verification
45
- - `40-implement` when missing or failing tests require code changes
46
- - `Debug` when failures need RCA
47
-
48
- ## Output
49
-
50
- Return:
51
-
52
- - what tests were generated or run
53
- - command output summary
54
- - pass/fail state
55
- - gaps and risks
56
- - recommended return stage
@@ -1,171 +0,0 @@
1
- ---
2
- name: using-agent-skills
3
- description: "[Devflow] Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task. This is the meta-skill that governs how all other skills are discovered and invoked."
4
- ---
5
-
6
- # Using Agent Skills
7
-
8
- ## Overview
9
-
10
- Agent Skills is a collection of engineering workflow skills organized by development phase. Each skill encodes a specific process that senior engineers follow. This meta-skill helps you discover and apply the right skill for your current task.
11
-
12
- ## Skill Discovery
13
-
14
- When a task arrives, identify the development phase and apply the corresponding skill:
15
-
16
- ```
17
- Task arrives
18
-
19
- ├── Vague idea/need refinement? ──→ idea-refine
20
- ├── New project/feature/change? ──→ spec-driven-development
21
- ├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
22
- ├── Implementing code? ────────────→ incremental-implementation
23
- │ ├── UI work? ─────────────────→ frontend-ui-engineering
24
- │ ├── API work? ────────────────→ api-and-interface-design
25
- │ └── Need better context? ─────→ context-engineering
26
- ├── Writing/running tests? ────────→ test-driven-development
27
- │ └── Browser-based? ───────────→ browser-testing-with-devtools
28
- ├── Something broke? ──────────────→ debugging-and-error-recovery
29
- ├── Reviewing code? ───────────────→ code-review-and-quality
30
- │ ├── Security concerns? ───────→ security-and-hardening
31
- │ └── Performance concerns? ────→ performance-optimization
32
- ├── Committing/branching? ─────────→ git-workflow-and-versioning
33
- ├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
34
- ├── Writing docs/ADRs? ───────────→ documentation-and-adrs
35
- └── Deploying/launching? ─────────→ shipping-and-launch
36
- ```
37
-
38
- ## Core Operating Behaviors
39
-
40
- These behaviors apply at all times, across all skills. They are non-negotiable.
41
-
42
- ### 1. Surface Assumptions
43
-
44
- Before implementing anything non-trivial, explicitly state your assumptions:
45
-
46
- ```
47
- ASSUMPTIONS I'M MAKING:
48
- 1. [assumption about requirements]
49
- 2. [assumption about architecture]
50
- 3. [assumption about scope]
51
- → Correct me now or I'll proceed with these.
52
- ```
53
-
54
- Don't silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early — it's cheaper than rework.
55
-
56
- ### 2. Manage Confusion Actively
57
-
58
- When you encounter inconsistencies, conflicting requirements, or unclear specifications:
59
-
60
- 1. **STOP.** Do not proceed with a guess.
61
- 2. Name the specific confusion.
62
- 3. Present the tradeoff or ask the clarifying question.
63
- 4. Wait for resolution before continuing.
64
-
65
- **Bad:** Silently picking one interpretation and hoping it's right.
66
- **Good:** "I see X in the spec but Y in the existing code. Which takes precedence?"
67
-
68
- ### 3. Push Back When Warranted
69
-
70
- You are not a yes-machine. When an approach has clear problems:
71
-
72
- - Point out the issue directly
73
- - Explain the concrete downside (quantify when possible — "this adds ~200ms latency" not "this might be slower")
74
- - Propose an alternative
75
- - Accept the human's decision if they override with full information
76
-
77
- Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one. Honest technical disagreement is more valuable than false agreement.
78
-
79
- ### 4. Enforce Simplicity
80
-
81
- Your natural tendency is to overcomplicate. Actively resist it.
82
-
83
- Before finishing any implementation, ask:
84
- - Can this be done in fewer lines?
85
- - Are these abstractions earning their complexity?
86
- - Would a staff engineer look at this and say "why didn't you just..."?
87
-
88
- If you build 1000 lines and 100 would suffice, you have failed. Prefer the boring, obvious solution. Cleverness is expensive.
89
-
90
- ### 5. Maintain Scope Discipline
91
-
92
- Touch only what you're asked to touch.
93
-
94
- Do NOT:
95
- - Remove comments you don't understand
96
- - "Clean up" code orthogonal to the task
97
- - Refactor adjacent systems as a side effect
98
- - Delete code that seems unused without explicit approval
99
- - Add features not in the spec because they "seem useful"
100
-
101
- Your job is surgical precision, not unsolicited renovation.
102
-
103
- ### 6. Verify, Don't Assume
104
-
105
- Every skill includes a verification step. A task is not complete until verification passes. "Seems right" is never sufficient — there must be evidence (passing tests, build output, runtime data).
106
-
107
- ## Failure Modes to Avoid
108
-
109
- These are the subtle errors that look like productivity but create problems:
110
-
111
- 1. Making wrong assumptions without checking
112
- 2. Not managing your own confusion — plowing ahead when lost
113
- 3. Not surfacing inconsistencies you notice
114
- 4. Not presenting tradeoffs on non-obvious decisions
115
- 5. Being sycophantic ("Of course!") to approaches with clear problems
116
- 6. Overcomplicating code and APIs
117
- 7. Modifying code or comments orthogonal to the task
118
- 8. Removing things you don't fully understand
119
- 9. Building without a spec because "it's obvious"
120
- 10. Skipping verification because "it looks right"
121
-
122
- ## Skill Rules
123
-
124
- 1. **Check for an applicable skill before starting work.** Skills encode processes that prevent common mistakes.
125
-
126
- 2. **Skills are workflows, not suggestions.** Follow the steps in order. Don't skip verification steps.
127
-
128
- 3. **Multiple skills can apply.** A feature implementation might involve `idea-refine` → `spec-driven-development` → `planning-and-task-breakdown` → `incremental-implementation` → `test-driven-development` → `code-review-and-quality` → `shipping-and-launch` in sequence.
129
-
130
- 4. **When in doubt, start with a spec.** If the task is non-trivial and there's no spec, begin with `spec-driven-development`.
131
-
132
- ## Lifecycle Sequence
133
-
134
- For a complete feature, the typical skill sequence is:
135
-
136
- ```
137
- 1. idea-refine → Refine vague ideas
138
- 2. spec-driven-development → Define what we're building
139
- 3. planning-and-task-breakdown → Break into verifiable chunks
140
- 4. context-engineering → Load the right context
141
- 5. incremental-implementation → Build slice by slice
142
- 6. test-driven-development → Prove each slice works
143
- 7. code-review-and-quality → Review before merge
144
- 8. git-workflow-and-versioning → Clean commit history
145
- 9. documentation-and-adrs → Document decisions
146
- 10. shipping-and-launch → Deploy safely
147
- ```
148
-
149
- Not every task needs every skill. A bug fix might only need: `debugging-and-error-recovery` → `test-driven-development` → `code-review-and-quality`.
150
-
151
- ## Quick Reference
152
-
153
- | Phase | Skill | One-Line Summary |
154
- |-------|-------|-----------------|
155
- | Define | idea-refine | Refine ideas through structured divergent and convergent thinking |
156
- | Define | spec-driven-development | Requirements and acceptance criteria before code |
157
- | Plan | planning-and-task-breakdown | Decompose into small, verifiable tasks |
158
- | Build | incremental-implementation | Thin vertical slices, test each before expanding |
159
- | Build | context-engineering | Right context at the right time |
160
- | Build | frontend-ui-engineering | Production-quality UI with accessibility |
161
- | Build | api-and-interface-design | Stable interfaces with clear contracts |
162
- | Verify | test-driven-development | Failing test first, then make it pass |
163
- | Verify | browser-testing-with-devtools | Chrome DevTools MCP for runtime verification |
164
- | Verify | debugging-and-error-recovery | Reproduce → localize → fix → guard |
165
- | Review | code-review-and-quality | Five-axis review with quality gates |
166
- | Review | security-and-hardening | OWASP prevention, input validation, least privilege |
167
- | Review | performance-optimization | Measure first, optimize only what matters |
168
- | Ship | git-workflow-and-versioning | Atomic commits, clean history |
169
- | Ship | ci-cd-and-automation | Automated quality gates on every change |
170
- | Ship | documentation-and-adrs | Document the why, not just the what |
171
- | Ship | shipping-and-launch | Pre-launch checklist, monitoring, rollback plan |
@@ -1,68 +0,0 @@
1
- ---
2
- name: verification-orchestration
3
- description: "[Devflow] Coordinate multi-lane QA, specialist review, test planning, and verification follow-up. Use when 50-verify needs more structure than a single pass and the team needs a QA matrix or specialist routing."
4
- ---
5
-
6
- # Verification Orchestration
7
-
8
- ## Overview
9
-
10
- This skill structures complex verification work across multiple QA lanes without replacing the main verification stage.
11
-
12
- ## When to Use
13
-
14
- - `50-verify` is too broad for a single simple pass
15
- - the change needs correctness, regression, security, performance, and UX checks together
16
- - the team needs specialist routing for QA
17
-
18
- ## Process
19
-
20
- ### 1. Validate The Verification Context
21
-
22
- - inspect the owning stage artifacts first
23
- - confirm what implementation scope is actually under review
24
- - keep markdown stage artifacts as the source of truth
25
-
26
- ### 2. Choose QA Lanes
27
-
28
- Typical lanes:
29
-
30
- - correctness and acceptance criteria
31
- - tests and regressions
32
- - security and data safety
33
- - performance and scalability
34
- - UX or manual verification
35
- - codebase fit and maintainability
36
-
37
- ### 3. Route Specialist Help
38
-
39
- Use specialist agents only when needed, such as:
40
-
41
- - `code-reviewer`
42
- - `test-engineer`
43
- - `security-auditor`
44
-
45
- ### 4. Save Reusable Report
46
-
47
- Write reusable output under:
48
-
49
- ```text
50
- devflow/reports/{date}-qa-orchestrate-{id}.md
51
- ```
52
-
53
- Use `.agent/resources/schemas/qa_orchestration.template.md` when saving a reusable report.
54
-
55
- ### 5. Route Back
56
-
57
- - `50-verify` when the QA matrix strengthens verification evidence
58
- - `40-implement` when actionable fixes are required
59
- - `Followup` when findings become new scope
60
-
61
- ## Output
62
-
63
- Return:
64
-
65
- - QA lanes used
66
- - specialist recommendations
67
- - findings and blockers
68
- - recommended return stage
@@ -1,276 +0,0 @@
1
- ---
2
- name: vulnerability-scanner
3
- description: "[Devflow] Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization."
4
- allowed-tools: Read, Glob, Grep, Bash
5
- ---
6
-
7
- # Vulnerability Scanner
8
-
9
- > Think like an attacker, defend like an expert. 2025 threat landscape awareness.
10
-
11
- ## 🔧 Runtime Scripts
12
-
13
- **Execute for automated validation:**
14
-
15
- | Script | Purpose | Usage |
16
- |--------|---------|-------|
17
- | `scripts/security_scan.py` | Validate security principles applied | `python scripts/security_scan.py <project_path>` |
18
-
19
- ## 📋 Reference Files
20
-
21
- | File | Purpose |
22
- |------|---------|
23
- | [checklists.md](checklists.md) | OWASP Top 10, Auth, API, Data protection checklists |
24
-
25
- ---
26
-
27
- ## 1. Security Expert Mindset
28
-
29
- ### Core Principles
30
-
31
- | Principle | Application |
32
- |-----------|-------------|
33
- | **Assume Breach** | Design as if attacker already inside |
34
- | **Zero Trust** | Never trust, always verify |
35
- | **Defense in Depth** | Multiple layers, no single point |
36
- | **Least Privilege** | Minimum required access only |
37
- | **Fail Secure** | On error, deny access |
38
-
39
- ### Threat Modeling Questions
40
-
41
- Before scanning, ask:
42
- 1. What are we protecting? (Assets)
43
- 2. Who would attack? (Threat actors)
44
- 3. How would they attack? (Attack vectors)
45
- 4. What's the impact? (Business risk)
46
-
47
- ---
48
-
49
- ## 2. OWASP Top 10:2025
50
-
51
- ### Risk Categories
52
-
53
- | Rank | Category | Think About |
54
- |------|----------|-------------|
55
- | **A01** | Broken Access Control | Who can access what? IDOR, SSRF |
56
- | **A02** | Security Misconfiguration | Defaults, headers, exposed services |
57
- | **A03** | Software Supply Chain 🆕 | Dependencies, CI/CD, build integrity |
58
- | **A04** | Cryptographic Failures | Weak crypto, exposed secrets |
59
- | **A05** | Injection | User input → system commands |
60
- | **A06** | Insecure Design | Flawed architecture |
61
- | **A07** | Authentication Failures | Session, credential management |
62
- | **A08** | Integrity Failures | Unsigned updates, tampered data |
63
- | **A09** | Logging & Alerting | Blind spots, no monitoring |
64
- | **A10** | Exceptional Conditions 🆕 | Error handling, fail-open states |
65
-
66
- ### 2025 Key Changes
67
-
68
- ```
69
- 2021 → 2025 Shifts:
70
- ├── SSRF merged into A01 (Access Control)
71
- ├── A02 elevated (Cloud/Container configs)
72
- ├── A03 NEW: Supply Chain (major focus)
73
- ├── A10 NEW: Exceptional Conditions
74
- └── Focus shift: Root causes > Symptoms
75
- ```
76
-
77
- ---
78
-
79
- ## 3. Supply Chain Security (A03)
80
-
81
- ### Attack Surface
82
-
83
- | Vector | Risk | Question to Ask |
84
- |--------|------|-----------------|
85
- | **Dependencies** | Malicious packages | Do we audit new deps? |
86
- | **Lock files** | Integrity attacks | Are they committed? |
87
- | **Build pipeline** | CI/CD compromise | Who can modify? |
88
- | **Registry** | Typosquatting | Verified sources? |
89
-
90
- ### Defense Principles
91
-
92
- - Verify package integrity (checksums)
93
- - Pin versions, audit updates
94
- - Use private registries for critical deps
95
- - Sign and verify artifacts
96
-
97
- ---
98
-
99
- ## 4. Attack Surface Mapping
100
-
101
- ### What to Map
102
-
103
- | Category | Elements |
104
- |----------|----------|
105
- | **Entry Points** | APIs, forms, file uploads |
106
- | **Data Flows** | Input → Process → Output |
107
- | **Trust Boundaries** | Where auth/authz checked |
108
- | **Assets** | Secrets, PII, business data |
109
-
110
- ### Prioritization Matrix
111
-
112
- ```
113
- Risk = Likelihood × Impact
114
-
115
- High Impact + High Likelihood → CRITICAL
116
- High Impact + Low Likelihood → HIGH
117
- Low Impact + High Likelihood → MEDIUM
118
- Low Impact + Low Likelihood → LOW
119
- ```
120
-
121
- ---
122
-
123
- ## 5. Risk Prioritization
124
-
125
- ### CVSS + Context
126
-
127
- | Factor | Weight | Question |
128
- |--------|--------|----------|
129
- | **CVSS Score** | Base severity | How severe is the vuln? |
130
- | **EPSS Score** | Exploit likelihood | Is it being exploited? |
131
- | **Asset Value** | Business context | What's at risk? |
132
- | **Exposure** | Attack surface | Internet-facing? |
133
-
134
- ### Prioritization Decision Tree
135
-
136
- ```
137
- Is it actively exploited (EPSS >0.5)?
138
- ├── YES → CRITICAL: Immediate action
139
- └── NO → Check CVSS
140
- ├── CVSS ≥9.0 → HIGH
141
- ├── CVSS 7.0-8.9 → Consider asset value
142
- └── CVSS <7.0 → Schedule for later
143
- ```
144
-
145
- ---
146
-
147
- ## 6. Exceptional Conditions (A10 - New)
148
-
149
- ### Fail-Open vs Fail-Closed
150
-
151
- | Scenario | Fail-Open (BAD) | Fail-Closed (GOOD) |
152
- |----------|-----------------|---------------------|
153
- | Auth error | Allow access | Deny access |
154
- | Parsing fails | Accept input | Reject input |
155
- | Timeout | Retry forever | Limit + abort |
156
-
157
- ### What to Check
158
-
159
- - Exception handlers that catch-all and ignore
160
- - Missing error handling on security operations
161
- - Race conditions in auth/authz
162
- - Resource exhaustion scenarios
163
-
164
- ---
165
-
166
- ## 7. Scanning Methodology
167
-
168
- ### Phase-Based Approach
169
-
170
- ```
171
- 1. RECONNAISSANCE
172
- └── Understand the target
173
- ├── Technology stack
174
- ├── Entry points
175
- └── Data flows
176
-
177
- 2. DISCOVERY
178
- └── Identify potential issues
179
- ├── Configuration review
180
- ├── Dependency analysis
181
- └── Code pattern search
182
-
183
- 3. ANALYSIS
184
- └── Validate and prioritize
185
- ├── False positive elimination
186
- ├── Risk scoring
187
- └── Attack chain mapping
188
-
189
- 4. REPORTING
190
- └── Actionable findings
191
- ├── Clear reproduction steps
192
- ├── Business impact
193
- └── Remediation guidance
194
- ```
195
-
196
- ---
197
-
198
- ## 8. Code Pattern Analysis
199
-
200
- ### High-Risk Patterns
201
-
202
- | Pattern | Risk | Look For |
203
- |---------|------|----------|
204
- | **String concat in queries** | Injection | `"SELECT * FROM " + user_input` |
205
- | **Dynamic code execution** | RCE | `eval()`, `exec()`, `Function()` |
206
- | **Unsafe deserialization** | RCE | `pickle.loads()`, `unserialize()` |
207
- | **Path manipulation** | Traversal | User input in file paths |
208
- | **Disabled security** | Various | `verify=False`, `--insecure` |
209
-
210
- ### Secret Patterns
211
-
212
- | Type | Indicators |
213
- |------|-----------|
214
- | API Keys | `api_key`, `apikey`, high entropy |
215
- | Tokens | `token`, `bearer`, `jwt` |
216
- | Credentials | `password`, `secret`, `key` |
217
- | Cloud | `AWS_`, `AZURE_`, `GCP_` prefixes |
218
-
219
- ---
220
-
221
- ## 9. Cloud Security Considerations
222
-
223
- ### Shared Responsibility
224
-
225
- | Layer | You Own | Provider Owns |
226
- |-------|---------|---------------|
227
- | Data | ✅ | ❌ |
228
- | Application | ✅ | ❌ |
229
- | OS/Runtime | Depends | Depends |
230
- | Infrastructure | ❌ | ✅ |
231
-
232
- ### Cloud-Specific Checks
233
-
234
- - IAM: Least privilege applied?
235
- - Storage: Public buckets?
236
- - Network: Security groups tightened?
237
- - Secrets: Using secrets manager?
238
-
239
- ---
240
-
241
- ## 10. Anti-Patterns
242
-
243
- | ❌ Don't | ✅ Do |
244
- |----------|-------|
245
- | Scan without understanding | Map attack surface first |
246
- | Alert on every CVE | Prioritize by exploitability + asset |
247
- | Ignore false positives | Maintain verified baseline |
248
- | Fix symptoms only | Address root causes |
249
- | Scan once before deploy | Continuous scanning |
250
- | Trust third-party deps blindly | Verify integrity, audit code |
251
-
252
- ---
253
-
254
- ## 11. Reporting Principles
255
-
256
- ### Finding Structure
257
-
258
- Each finding should answer:
259
- 1. **What?** - Clear vulnerability description
260
- 2. **Where?** - Exact location (file, line, endpoint)
261
- 3. **Why?** - Root cause explanation
262
- 4. **Impact?** - Business consequence
263
- 5. **How to fix?** - Specific remediation
264
-
265
- ### Severity Classification
266
-
267
- | Severity | Criteria |
268
- |----------|----------|
269
- | **Critical** | RCE, auth bypass, mass data exposure |
270
- | **High** | Data exposure, privilege escalation |
271
- | **Medium** | Limited scope, requires conditions |
272
- | **Low** | Informational, best practice |
273
-
274
- ---
275
-
276
- > **Remember:** Vulnerability scanning finds issues. Expert thinking prioritizes what matters. Always ask: "What would an attacker do with this?"
@@ -1,121 +0,0 @@
1
- # Security Checklists
2
-
3
- > Quick reference checklists for security audits. Use alongside vulnerability-scanner principles.
4
-
5
- ---
6
-
7
- ## OWASP Top 10 Audit Checklist
8
-
9
- ### A01: Broken Access Control
10
- - [ ] Authorization on all protected routes
11
- - [ ] Deny by default
12
- - [ ] Rate limiting implemented
13
- - [ ] CORS properly configured
14
-
15
- ### A02: Cryptographic Failures
16
- - [ ] Passwords hashed (bcrypt/argon2, cost 12+)
17
- - [ ] Sensitive data encrypted at rest
18
- - [ ] TLS 1.2+ for all connections
19
- - [ ] No secrets in code/logs
20
-
21
- ### A03: Injection
22
- - [ ] Parameterized queries
23
- - [ ] Input validation on all user data
24
- - [ ] Output encoding for XSS
25
- - [ ] No eval() or dynamic code execution
26
-
27
- ### A04: Insecure Design
28
- - [ ] Threat modeling done
29
- - [ ] Security requirements defined
30
- - [ ] Business logic validated
31
-
32
- ### A05: Security Misconfiguration
33
- - [ ] Unnecessary features disabled
34
- - [ ] Error messages sanitized
35
- - [ ] Security headers configured
36
- - [ ] Default credentials changed
37
-
38
- ### A06: Vulnerable Components
39
- - [ ] Dependencies up to date
40
- - [ ] No known vulnerabilities
41
- - [ ] Unused dependencies removed
42
-
43
- ### A07: Authentication Failures
44
- - [ ] MFA available
45
- - [ ] Session invalidation on logout
46
- - [ ] Session timeout implemented
47
- - [ ] Brute force protection
48
-
49
- ### A08: Integrity Failures
50
- - [ ] Dependency integrity verified
51
- - [ ] CI/CD pipeline secured
52
- - [ ] Update mechanism secured
53
-
54
- ### A09: Logging Failures
55
- - [ ] Security events logged
56
- - [ ] Logs protected
57
- - [ ] No sensitive data in logs
58
- - [ ] Alerting configured
59
-
60
- ### A10: SSRF
61
- - [ ] URL validation implemented
62
- - [ ] Allow-list for external calls
63
- - [ ] Network segmentation
64
-
65
- ---
66
-
67
- ## Authentication Checklist
68
-
69
- - [ ] Strong password policy
70
- - [ ] Account lockout
71
- - [ ] Secure password reset
72
- - [ ] Session management
73
- - [ ] Token expiration
74
- - [ ] Logout invalidation
75
-
76
- ---
77
-
78
- ## API Security Checklist
79
-
80
- - [ ] Authentication required
81
- - [ ] Authorization per endpoint
82
- - [ ] Input validation
83
- - [ ] Rate limiting
84
- - [ ] Output sanitization
85
- - [ ] Error handling
86
-
87
- ---
88
-
89
- ## Data Protection Checklist
90
-
91
- - [ ] Encryption at rest
92
- - [ ] Encryption in transit
93
- - [ ] Key management
94
- - [ ] Data minimization
95
- - [ ] Secure deletion
96
-
97
- ---
98
-
99
- ## Security Headers
100
-
101
- | Header | Purpose |
102
- |--------|---------|
103
- | **Content-Security-Policy** | XSS prevention |
104
- | **X-Content-Type-Options** | MIME sniffing |
105
- | **X-Frame-Options** | Clickjacking |
106
- | **Strict-Transport-Security** | Force HTTPS |
107
- | **Referrer-Policy** | Referrer control |
108
-
109
- ---
110
-
111
- ## Quick Audit Commands
112
-
113
- | Check | What to Look For |
114
- |-------|------------------|
115
- | Secrets in code | password, api_key, secret |
116
- | Dangerous patterns | eval, innerHTML, SQL concat |
117
- | Dependency issues | npm audit, snyk |
118
-
119
- ---
120
-
121
- > **Usage:** Copy relevant checklists into your PLAN.md or security report.