@su-record/vibe 2.3.0 → 2.3.2
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.
- package/.claude/settings.json +35 -35
- package/.claude/settings.local.json +24 -25
- package/.claude/vibe/constitution.md +184 -184
- package/.claude/vibe/rules/core/communication-guide.md +104 -104
- package/.claude/vibe/rules/core/development-philosophy.md +52 -52
- package/.claude/vibe/rules/core/quick-start.md +120 -120
- package/.claude/vibe/rules/languages/dart-flutter.md +509 -509
- package/.claude/vibe/rules/languages/go.md +396 -396
- package/.claude/vibe/rules/languages/java-spring.md +586 -586
- package/.claude/vibe/rules/languages/kotlin-android.md +491 -491
- package/.claude/vibe/rules/languages/python-django.md +371 -371
- package/.claude/vibe/rules/languages/python-fastapi.md +386 -386
- package/.claude/vibe/rules/languages/rust.md +425 -425
- package/.claude/vibe/rules/languages/swift-ios.md +516 -516
- package/.claude/vibe/rules/languages/typescript-nextjs.md +441 -441
- package/.claude/vibe/rules/languages/typescript-node.md +375 -375
- package/.claude/vibe/rules/languages/typescript-nuxt.md +521 -521
- package/.claude/vibe/rules/languages/typescript-react-native.md +446 -446
- package/.claude/vibe/rules/languages/typescript-react.md +525 -525
- package/.claude/vibe/rules/languages/typescript-vue.md +353 -353
- package/.claude/vibe/rules/quality/bdd-contract-testing.md +388 -388
- package/.claude/vibe/rules/quality/checklist.md +276 -276
- package/.claude/vibe/rules/quality/testing-strategy.md +437 -437
- package/.claude/vibe/rules/standards/anti-patterns.md +369 -369
- package/.claude/vibe/rules/standards/code-structure.md +291 -291
- package/.claude/vibe/rules/standards/complexity-metrics.md +312 -312
- package/.claude/vibe/rules/standards/naming-conventions.md +198 -198
- package/.claude/vibe/setup.sh +31 -31
- package/.claude/vibe/templates/constitution-template.md +184 -184
- package/.claude/vibe/templates/contract-backend-template.md +517 -517
- package/.claude/vibe/templates/contract-frontend-template.md +594 -594
- package/.claude/vibe/templates/feature-template.md +96 -96
- package/.claude/vibe/templates/spec-template.md +199 -199
- package/CLAUDE.md +345 -323
- package/LICENSE +21 -21
- package/README.md +744 -724
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer.md +48 -48
- package/agents/implementer.md +53 -53
- package/agents/research/best-practices-agent.md +139 -139
- package/agents/research/codebase-patterns-agent.md +147 -147
- package/agents/research/framework-docs-agent.md +181 -181
- package/agents/research/security-advisory-agent.md +167 -167
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +152 -152
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +119 -119
- package/agents/tester.md +49 -49
- package/agents/ui-previewer.md +137 -137
- package/commands/vibe.analyze.md +245 -180
- package/commands/vibe.reason.md +223 -183
- package/commands/vibe.review.md +200 -136
- package/commands/vibe.run.md +838 -836
- package/commands/vibe.spec.md +419 -383
- package/commands/vibe.utils.md +101 -101
- package/commands/vibe.verify.md +282 -241
- package/dist/cli/index.js +385 -385
- package/dist/lib/MemoryManager.d.ts.map +1 -1
- package/dist/lib/MemoryManager.js +119 -114
- package/dist/lib/MemoryManager.js.map +1 -1
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/gemini-mcp.js +15 -15
- package/dist/lib/gemini-oauth.js +35 -35
- package/dist/lib/gpt-mcp.js +17 -17
- package/dist/lib/gpt-oauth.js +44 -44
- package/dist/tools/analytics/getUsageAnalytics.js +12 -12
- package/dist/tools/index.d.ts +50 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +61 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
- package/dist/tools/planning/generatePrd.js +46 -46
- package/dist/tools/prompt/enhancePromptGemini.js +160 -160
- package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/hooks/hooks.json +121 -103
- package/package.json +73 -69
- package/skills/git-worktree.md +178 -178
- package/skills/priority-todos.md +236 -236
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
# Framework Docs Research Agent
|
|
2
|
-
|
|
3
|
-
프레임워크 문서 리서치 에이전트
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- 공식 문서 조회
|
|
8
|
-
- 최신 API 확인
|
|
9
|
-
- 마이그레이션 가이드 수집
|
|
10
|
-
- 버전 호환성 확인
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Task(
|
|
22
|
-
model: "haiku",
|
|
23
|
-
subagent_type: "Explore",
|
|
24
|
-
prompt: "Research [framework] docs for [feature]. Get latest API, examples."
|
|
25
|
-
)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Integration with context7
|
|
29
|
-
|
|
30
|
-
context7 MCP 서버 활용:
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
resolve-library-id "react" → react
|
|
34
|
-
get-library-docs "react" "hooks" → Hook 문서
|
|
35
|
-
|
|
36
|
-
resolve-library-id "django" → django
|
|
37
|
-
get-library-docs "django" "authentication" → Auth 문서
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## External LLM Enhancement (Optional)
|
|
41
|
-
|
|
42
|
-
**Gemini 활성화 시** 웹 검색 기반 최신 문서 보강:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Primary: Task(Haiku) + context7
|
|
46
|
-
↓
|
|
47
|
-
[Gemini enabled?]
|
|
48
|
-
↓ YES
|
|
49
|
-
mcp__vibe-gemini__gemini_chat(
|
|
50
|
-
prompt: "[framework] [version] latest API changes and best practices",
|
|
51
|
-
systemPrompt: "You are a framework documentation expert. Provide latest API info."
|
|
52
|
-
)
|
|
53
|
-
↓
|
|
54
|
-
결과 병합 → SPEC Context 반영
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**활용 시점:**
|
|
58
|
-
- context7에서 최신 버전 문서 부재 시
|
|
59
|
-
- Breaking changes 확인 필요 시
|
|
60
|
-
- 공식 문서 외 실전 패턴 검색 시
|
|
61
|
-
|
|
62
|
-
**Gemini 미설정 시:** Primary만으로 정상 작동
|
|
63
|
-
|
|
64
|
-
## Research Areas
|
|
65
|
-
|
|
66
|
-
### Frontend
|
|
67
|
-
```
|
|
68
|
-
React:
|
|
69
|
-
├── Hooks API
|
|
70
|
-
├── Server Components
|
|
71
|
-
├── Suspense
|
|
72
|
-
└── Concurrent Features
|
|
73
|
-
|
|
74
|
-
Next.js:
|
|
75
|
-
├── App Router
|
|
76
|
-
├── Server Actions
|
|
77
|
-
├── Middleware
|
|
78
|
-
└── Edge Runtime
|
|
79
|
-
|
|
80
|
-
Vue:
|
|
81
|
-
├── Composition API
|
|
82
|
-
├── Reactivity System
|
|
83
|
-
└── Pinia
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Backend
|
|
87
|
-
```
|
|
88
|
-
Django:
|
|
89
|
-
├── Models & ORM
|
|
90
|
-
├── Class-based Views
|
|
91
|
-
├── REST Framework
|
|
92
|
-
└── Async Support
|
|
93
|
-
|
|
94
|
-
FastAPI:
|
|
95
|
-
├── Path Operations
|
|
96
|
-
├── Dependency Injection
|
|
97
|
-
├── Pydantic Models
|
|
98
|
-
└── Background Tasks
|
|
99
|
-
|
|
100
|
-
Rails:
|
|
101
|
-
├── ActiveRecord
|
|
102
|
-
├── Action Controllers
|
|
103
|
-
├── Hotwire/Turbo
|
|
104
|
-
└── Active Job
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Database
|
|
108
|
-
```
|
|
109
|
-
PostgreSQL:
|
|
110
|
-
├── Indexes
|
|
111
|
-
├── Partitioning
|
|
112
|
-
├── JSON operations
|
|
113
|
-
└── Full-text search
|
|
114
|
-
|
|
115
|
-
Redis:
|
|
116
|
-
├── Data structures
|
|
117
|
-
├── Pub/Sub
|
|
118
|
-
├── Lua scripting
|
|
119
|
-
└── Cluster mode
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Output Format
|
|
123
|
-
|
|
124
|
-
```markdown
|
|
125
|
-
## 📖 Framework Documentation Research
|
|
126
|
-
|
|
127
|
-
### Framework: [framework-name]
|
|
128
|
-
### Version: [version]
|
|
129
|
-
|
|
130
|
-
### Relevant APIs
|
|
131
|
-
|
|
132
|
-
1. **API: useOptimistic (React 19)**
|
|
133
|
-
```tsx
|
|
134
|
-
const [optimisticState, addOptimistic] = useOptimistic(
|
|
135
|
-
state,
|
|
136
|
-
updateFn
|
|
137
|
-
);
|
|
138
|
-
```
|
|
139
|
-
- Use case: Optimistic UI updates
|
|
140
|
-
- Available in: React 19+
|
|
141
|
-
|
|
142
|
-
2. **API: Server Actions (Next.js 14)**
|
|
143
|
-
```tsx
|
|
144
|
-
async function submitForm(formData: FormData) {
|
|
145
|
-
'use server';
|
|
146
|
-
// Server-side logic
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Breaking Changes
|
|
151
|
-
|
|
152
|
-
| From | To | Change | Migration |
|
|
153
|
-
|------|-----|--------|-----------|
|
|
154
|
-
| v18 | v19 | useFormStatus location | Import from react-dom |
|
|
155
|
-
|
|
156
|
-
### Official Examples
|
|
157
|
-
|
|
158
|
-
- [Example 1](url): Authentication flow
|
|
159
|
-
- [Example 2](url): Data fetching
|
|
160
|
-
|
|
161
|
-
### Version Compatibility
|
|
162
|
-
|
|
163
|
-
| Package | Min Version | Recommended |
|
|
164
|
-
|---------|-------------|-------------|
|
|
165
|
-
| Node.js | 18.17 | 20.x |
|
|
166
|
-
| React | 18.2 | 19.x |
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## Integration with /vibe.spec
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
/vibe.spec "소셜 로그인"
|
|
173
|
-
|
|
174
|
-
→ framework-docs-agent 실행:
|
|
175
|
-
"Research NextAuth.js v5 for social login. Get Google, GitHub providers."
|
|
176
|
-
|
|
177
|
-
→ 결과를 SPEC에 반영:
|
|
178
|
-
- 최신 API 사용법
|
|
179
|
-
- 필수 설정
|
|
180
|
-
- 코드 예시
|
|
181
|
-
```
|
|
1
|
+
# Framework Docs Research Agent
|
|
2
|
+
|
|
3
|
+
프레임워크 문서 리서치 에이전트
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- 공식 문서 조회
|
|
8
|
+
- 최신 API 확인
|
|
9
|
+
- 마이그레이션 가이드 수집
|
|
10
|
+
- 버전 호환성 확인
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Task(
|
|
22
|
+
model: "haiku",
|
|
23
|
+
subagent_type: "Explore",
|
|
24
|
+
prompt: "Research [framework] docs for [feature]. Get latest API, examples."
|
|
25
|
+
)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Integration with context7
|
|
29
|
+
|
|
30
|
+
context7 MCP 서버 활용:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
resolve-library-id "react" → react
|
|
34
|
+
get-library-docs "react" "hooks" → Hook 문서
|
|
35
|
+
|
|
36
|
+
resolve-library-id "django" → django
|
|
37
|
+
get-library-docs "django" "authentication" → Auth 문서
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## External LLM Enhancement (Optional)
|
|
41
|
+
|
|
42
|
+
**Gemini 활성화 시** 웹 검색 기반 최신 문서 보강:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Primary: Task(Haiku) + context7
|
|
46
|
+
↓
|
|
47
|
+
[Gemini enabled?]
|
|
48
|
+
↓ YES
|
|
49
|
+
mcp__vibe-gemini__gemini_chat(
|
|
50
|
+
prompt: "[framework] [version] latest API changes and best practices",
|
|
51
|
+
systemPrompt: "You are a framework documentation expert. Provide latest API info."
|
|
52
|
+
)
|
|
53
|
+
↓
|
|
54
|
+
결과 병합 → SPEC Context 반영
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**활용 시점:**
|
|
58
|
+
- context7에서 최신 버전 문서 부재 시
|
|
59
|
+
- Breaking changes 확인 필요 시
|
|
60
|
+
- 공식 문서 외 실전 패턴 검색 시
|
|
61
|
+
|
|
62
|
+
**Gemini 미설정 시:** Primary만으로 정상 작동
|
|
63
|
+
|
|
64
|
+
## Research Areas
|
|
65
|
+
|
|
66
|
+
### Frontend
|
|
67
|
+
```
|
|
68
|
+
React:
|
|
69
|
+
├── Hooks API
|
|
70
|
+
├── Server Components
|
|
71
|
+
├── Suspense
|
|
72
|
+
└── Concurrent Features
|
|
73
|
+
|
|
74
|
+
Next.js:
|
|
75
|
+
├── App Router
|
|
76
|
+
├── Server Actions
|
|
77
|
+
├── Middleware
|
|
78
|
+
└── Edge Runtime
|
|
79
|
+
|
|
80
|
+
Vue:
|
|
81
|
+
├── Composition API
|
|
82
|
+
├── Reactivity System
|
|
83
|
+
└── Pinia
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Backend
|
|
87
|
+
```
|
|
88
|
+
Django:
|
|
89
|
+
├── Models & ORM
|
|
90
|
+
├── Class-based Views
|
|
91
|
+
├── REST Framework
|
|
92
|
+
└── Async Support
|
|
93
|
+
|
|
94
|
+
FastAPI:
|
|
95
|
+
├── Path Operations
|
|
96
|
+
├── Dependency Injection
|
|
97
|
+
├── Pydantic Models
|
|
98
|
+
└── Background Tasks
|
|
99
|
+
|
|
100
|
+
Rails:
|
|
101
|
+
├── ActiveRecord
|
|
102
|
+
├── Action Controllers
|
|
103
|
+
├── Hotwire/Turbo
|
|
104
|
+
└── Active Job
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Database
|
|
108
|
+
```
|
|
109
|
+
PostgreSQL:
|
|
110
|
+
├── Indexes
|
|
111
|
+
├── Partitioning
|
|
112
|
+
├── JSON operations
|
|
113
|
+
└── Full-text search
|
|
114
|
+
|
|
115
|
+
Redis:
|
|
116
|
+
├── Data structures
|
|
117
|
+
├── Pub/Sub
|
|
118
|
+
├── Lua scripting
|
|
119
|
+
└── Cluster mode
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Output Format
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
## 📖 Framework Documentation Research
|
|
126
|
+
|
|
127
|
+
### Framework: [framework-name]
|
|
128
|
+
### Version: [version]
|
|
129
|
+
|
|
130
|
+
### Relevant APIs
|
|
131
|
+
|
|
132
|
+
1. **API: useOptimistic (React 19)**
|
|
133
|
+
```tsx
|
|
134
|
+
const [optimisticState, addOptimistic] = useOptimistic(
|
|
135
|
+
state,
|
|
136
|
+
updateFn
|
|
137
|
+
);
|
|
138
|
+
```
|
|
139
|
+
- Use case: Optimistic UI updates
|
|
140
|
+
- Available in: React 19+
|
|
141
|
+
|
|
142
|
+
2. **API: Server Actions (Next.js 14)**
|
|
143
|
+
```tsx
|
|
144
|
+
async function submitForm(formData: FormData) {
|
|
145
|
+
'use server';
|
|
146
|
+
// Server-side logic
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Breaking Changes
|
|
151
|
+
|
|
152
|
+
| From | To | Change | Migration |
|
|
153
|
+
|------|-----|--------|-----------|
|
|
154
|
+
| v18 | v19 | useFormStatus location | Import from react-dom |
|
|
155
|
+
|
|
156
|
+
### Official Examples
|
|
157
|
+
|
|
158
|
+
- [Example 1](url): Authentication flow
|
|
159
|
+
- [Example 2](url): Data fetching
|
|
160
|
+
|
|
161
|
+
### Version Compatibility
|
|
162
|
+
|
|
163
|
+
| Package | Min Version | Recommended |
|
|
164
|
+
|---------|-------------|-------------|
|
|
165
|
+
| Node.js | 18.17 | 20.x |
|
|
166
|
+
| React | 18.2 | 19.x |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Integration with /vibe.spec
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
/vibe.spec "소셜 로그인"
|
|
173
|
+
|
|
174
|
+
→ framework-docs-agent 실행:
|
|
175
|
+
"Research NextAuth.js v5 for social login. Get Google, GitHub providers."
|
|
176
|
+
|
|
177
|
+
→ 결과를 SPEC에 반영:
|
|
178
|
+
- 최신 API 사용법
|
|
179
|
+
- 필수 설정
|
|
180
|
+
- 코드 예시
|
|
181
|
+
```
|
|
@@ -1,167 +1,167 @@
|
|
|
1
|
-
# Security Advisory Research Agent
|
|
2
|
-
|
|
3
|
-
보안 권고 리서치 에이전트
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- 보안 취약점 조회
|
|
8
|
-
- 패키지 보안 검사
|
|
9
|
-
- 보안 베스트 프랙티스
|
|
10
|
-
- 규정 준수 확인
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Task(
|
|
22
|
-
model: "haiku",
|
|
23
|
-
subagent_type: "Explore",
|
|
24
|
-
prompt: "Research security advisories for [feature]. Check OWASP, CVEs."
|
|
25
|
-
)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Research Areas
|
|
29
|
-
|
|
30
|
-
### OWASP Top 10 (2021)
|
|
31
|
-
```
|
|
32
|
-
A01: Broken Access Control
|
|
33
|
-
A02: Cryptographic Failures
|
|
34
|
-
A03: Injection
|
|
35
|
-
A04: Insecure Design
|
|
36
|
-
A05: Security Misconfiguration
|
|
37
|
-
A06: Vulnerable Components
|
|
38
|
-
A07: Authentication Failures
|
|
39
|
-
A08: Software Integrity Failures
|
|
40
|
-
A09: Logging Failures
|
|
41
|
-
A10: SSRF
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Package Security
|
|
45
|
-
```
|
|
46
|
-
npm audit
|
|
47
|
-
pip-audit
|
|
48
|
-
bundler-audit
|
|
49
|
-
safety check (Python)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Compliance
|
|
53
|
-
```
|
|
54
|
-
GDPR:
|
|
55
|
-
├── 데이터 최소화
|
|
56
|
-
├── 동의 관리
|
|
57
|
-
├── 삭제권
|
|
58
|
-
└── 데이터 이전
|
|
59
|
-
|
|
60
|
-
PCI-DSS:
|
|
61
|
-
├── 카드 데이터 암호화
|
|
62
|
-
├── 접근 제어
|
|
63
|
-
├── 로깅
|
|
64
|
-
└── 취약점 관리
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Output Format
|
|
68
|
-
|
|
69
|
-
```markdown
|
|
70
|
-
## 🔐 Security Advisory Research
|
|
71
|
-
|
|
72
|
-
### Feature: [feature-name]
|
|
73
|
-
|
|
74
|
-
### Relevant Security Considerations
|
|
75
|
-
|
|
76
|
-
1. **OWASP A03: Injection**
|
|
77
|
-
- Risk: SQL/NoSQL injection
|
|
78
|
-
- Mitigation:
|
|
79
|
-
- Use parameterized queries
|
|
80
|
-
- Validate all user input
|
|
81
|
-
- Use ORM safely
|
|
82
|
-
|
|
83
|
-
2. **OWASP A07: Authentication Failures**
|
|
84
|
-
- Risk: Credential stuffing, weak passwords
|
|
85
|
-
- Mitigation:
|
|
86
|
-
- Rate limiting
|
|
87
|
-
- Strong password policy
|
|
88
|
-
- MFA support
|
|
89
|
-
|
|
90
|
-
### Known Vulnerabilities
|
|
91
|
-
|
|
92
|
-
| Package | Version | CVE | Severity | Fix |
|
|
93
|
-
|---------|---------|-----|----------|-----|
|
|
94
|
-
| lodash | <4.17.21 | CVE-2021-23337 | High | Upgrade |
|
|
95
|
-
| axios | <0.21.1 | CVE-2020-28168 | Medium | Upgrade |
|
|
96
|
-
|
|
97
|
-
### Security Checklist
|
|
98
|
-
|
|
99
|
-
- [ ] Input validation on all user inputs
|
|
100
|
-
- [ ] Output encoding for XSS prevention
|
|
101
|
-
- [ ] Parameterized queries for SQL
|
|
102
|
-
- [ ] HTTPS enforced
|
|
103
|
-
- [ ] Sensitive data encrypted at rest
|
|
104
|
-
- [ ] Proper error handling (no stack traces)
|
|
105
|
-
- [ ] Rate limiting implemented
|
|
106
|
-
- [ ] CSRF protection enabled
|
|
107
|
-
- [ ] Security headers configured
|
|
108
|
-
|
|
109
|
-
### Compliance Requirements
|
|
110
|
-
|
|
111
|
-
For [payment feature]:
|
|
112
|
-
- [ ] PCI-DSS: Never store CVV
|
|
113
|
-
- [ ] PCI-DSS: Encrypt card numbers
|
|
114
|
-
- [ ] GDPR: User consent for data processing
|
|
115
|
-
|
|
116
|
-
### Recommended Security Libraries
|
|
117
|
-
|
|
118
|
-
| Purpose | Library | Notes |
|
|
119
|
-
|---------|---------|-------|
|
|
120
|
-
| Password Hashing | bcrypt/argon2 | Use high work factor |
|
|
121
|
-
| JWT | jose | Well-maintained |
|
|
122
|
-
| Input Validation | zod/pydantic | Type-safe |
|
|
123
|
-
| Rate Limiting | express-rate-limit | Configurable |
|
|
124
|
-
|
|
125
|
-
### References
|
|
126
|
-
|
|
127
|
-
- OWASP Cheat Sheets: [url]
|
|
128
|
-
- CWE Database: [url]
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## External LLM Enhancement (Optional)
|
|
132
|
-
|
|
133
|
-
**GPT 활성화 시** CVE/보안 취약점 DB 지식 보강:
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
Primary: Task(Haiku) + OWASP/CVE 검색
|
|
137
|
-
↓
|
|
138
|
-
[GPT enabled?]
|
|
139
|
-
↓ YES
|
|
140
|
-
mcp__vibe-gpt__gpt_chat(
|
|
141
|
-
prompt: "Security vulnerabilities for [feature]. Check recent CVEs, OWASP risks.",
|
|
142
|
-
systemPrompt: "You are a security expert. Provide CVE details and mitigations."
|
|
143
|
-
)
|
|
144
|
-
↓
|
|
145
|
-
결과 병합 → SPEC Constraints 반영
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**활용 시점:**
|
|
149
|
-
- 최신 CVE 정보 필요 시
|
|
150
|
-
- 특정 라이브러리 취약점 확인 시
|
|
151
|
-
- 규정 준수(PCI-DSS, GDPR) 상세 검토 시
|
|
152
|
-
|
|
153
|
-
**GPT 미설정 시:** Primary만으로 정상 작동
|
|
154
|
-
|
|
155
|
-
## Integration with /vibe.spec
|
|
156
|
-
|
|
157
|
-
```text
|
|
158
|
-
/vibe.spec "결제 기능"
|
|
159
|
-
|
|
160
|
-
→ security-advisory-agent 실행:
|
|
161
|
-
"Research security for payment processing. Check PCI-DSS, OWASP."
|
|
162
|
-
|
|
163
|
-
→ 결과를 SPEC에 반영:
|
|
164
|
-
- 보안 요구사항
|
|
165
|
-
- 필수 체크리스트
|
|
166
|
-
- 규정 준수 항목
|
|
167
|
-
```
|
|
1
|
+
# Security Advisory Research Agent
|
|
2
|
+
|
|
3
|
+
보안 권고 리서치 에이전트
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- 보안 취약점 조회
|
|
8
|
+
- 패키지 보안 검사
|
|
9
|
+
- 보안 베스트 프랙티스
|
|
10
|
+
- 규정 준수 확인
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Task(
|
|
22
|
+
model: "haiku",
|
|
23
|
+
subagent_type: "Explore",
|
|
24
|
+
prompt: "Research security advisories for [feature]. Check OWASP, CVEs."
|
|
25
|
+
)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Research Areas
|
|
29
|
+
|
|
30
|
+
### OWASP Top 10 (2021)
|
|
31
|
+
```
|
|
32
|
+
A01: Broken Access Control
|
|
33
|
+
A02: Cryptographic Failures
|
|
34
|
+
A03: Injection
|
|
35
|
+
A04: Insecure Design
|
|
36
|
+
A05: Security Misconfiguration
|
|
37
|
+
A06: Vulnerable Components
|
|
38
|
+
A07: Authentication Failures
|
|
39
|
+
A08: Software Integrity Failures
|
|
40
|
+
A09: Logging Failures
|
|
41
|
+
A10: SSRF
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Package Security
|
|
45
|
+
```
|
|
46
|
+
npm audit
|
|
47
|
+
pip-audit
|
|
48
|
+
bundler-audit
|
|
49
|
+
safety check (Python)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Compliance
|
|
53
|
+
```
|
|
54
|
+
GDPR:
|
|
55
|
+
├── 데이터 최소화
|
|
56
|
+
├── 동의 관리
|
|
57
|
+
├── 삭제권
|
|
58
|
+
└── 데이터 이전
|
|
59
|
+
|
|
60
|
+
PCI-DSS:
|
|
61
|
+
├── 카드 데이터 암호화
|
|
62
|
+
├── 접근 제어
|
|
63
|
+
├── 로깅
|
|
64
|
+
└── 취약점 관리
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Output Format
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## 🔐 Security Advisory Research
|
|
71
|
+
|
|
72
|
+
### Feature: [feature-name]
|
|
73
|
+
|
|
74
|
+
### Relevant Security Considerations
|
|
75
|
+
|
|
76
|
+
1. **OWASP A03: Injection**
|
|
77
|
+
- Risk: SQL/NoSQL injection
|
|
78
|
+
- Mitigation:
|
|
79
|
+
- Use parameterized queries
|
|
80
|
+
- Validate all user input
|
|
81
|
+
- Use ORM safely
|
|
82
|
+
|
|
83
|
+
2. **OWASP A07: Authentication Failures**
|
|
84
|
+
- Risk: Credential stuffing, weak passwords
|
|
85
|
+
- Mitigation:
|
|
86
|
+
- Rate limiting
|
|
87
|
+
- Strong password policy
|
|
88
|
+
- MFA support
|
|
89
|
+
|
|
90
|
+
### Known Vulnerabilities
|
|
91
|
+
|
|
92
|
+
| Package | Version | CVE | Severity | Fix |
|
|
93
|
+
|---------|---------|-----|----------|-----|
|
|
94
|
+
| lodash | <4.17.21 | CVE-2021-23337 | High | Upgrade |
|
|
95
|
+
| axios | <0.21.1 | CVE-2020-28168 | Medium | Upgrade |
|
|
96
|
+
|
|
97
|
+
### Security Checklist
|
|
98
|
+
|
|
99
|
+
- [ ] Input validation on all user inputs
|
|
100
|
+
- [ ] Output encoding for XSS prevention
|
|
101
|
+
- [ ] Parameterized queries for SQL
|
|
102
|
+
- [ ] HTTPS enforced
|
|
103
|
+
- [ ] Sensitive data encrypted at rest
|
|
104
|
+
- [ ] Proper error handling (no stack traces)
|
|
105
|
+
- [ ] Rate limiting implemented
|
|
106
|
+
- [ ] CSRF protection enabled
|
|
107
|
+
- [ ] Security headers configured
|
|
108
|
+
|
|
109
|
+
### Compliance Requirements
|
|
110
|
+
|
|
111
|
+
For [payment feature]:
|
|
112
|
+
- [ ] PCI-DSS: Never store CVV
|
|
113
|
+
- [ ] PCI-DSS: Encrypt card numbers
|
|
114
|
+
- [ ] GDPR: User consent for data processing
|
|
115
|
+
|
|
116
|
+
### Recommended Security Libraries
|
|
117
|
+
|
|
118
|
+
| Purpose | Library | Notes |
|
|
119
|
+
|---------|---------|-------|
|
|
120
|
+
| Password Hashing | bcrypt/argon2 | Use high work factor |
|
|
121
|
+
| JWT | jose | Well-maintained |
|
|
122
|
+
| Input Validation | zod/pydantic | Type-safe |
|
|
123
|
+
| Rate Limiting | express-rate-limit | Configurable |
|
|
124
|
+
|
|
125
|
+
### References
|
|
126
|
+
|
|
127
|
+
- OWASP Cheat Sheets: [url]
|
|
128
|
+
- CWE Database: [url]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## External LLM Enhancement (Optional)
|
|
132
|
+
|
|
133
|
+
**GPT 활성화 시** CVE/보안 취약점 DB 지식 보강:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
Primary: Task(Haiku) + OWASP/CVE 검색
|
|
137
|
+
↓
|
|
138
|
+
[GPT enabled?]
|
|
139
|
+
↓ YES
|
|
140
|
+
mcp__vibe-gpt__gpt_chat(
|
|
141
|
+
prompt: "Security vulnerabilities for [feature]. Check recent CVEs, OWASP risks.",
|
|
142
|
+
systemPrompt: "You are a security expert. Provide CVE details and mitigations."
|
|
143
|
+
)
|
|
144
|
+
↓
|
|
145
|
+
결과 병합 → SPEC Constraints 반영
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**활용 시점:**
|
|
149
|
+
- 최신 CVE 정보 필요 시
|
|
150
|
+
- 특정 라이브러리 취약점 확인 시
|
|
151
|
+
- 규정 준수(PCI-DSS, GDPR) 상세 검토 시
|
|
152
|
+
|
|
153
|
+
**GPT 미설정 시:** Primary만으로 정상 작동
|
|
154
|
+
|
|
155
|
+
## Integration with /vibe.spec
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
/vibe.spec "결제 기능"
|
|
159
|
+
|
|
160
|
+
→ security-advisory-agent 실행:
|
|
161
|
+
"Research security for payment processing. Check PCI-DSS, OWASP."
|
|
162
|
+
|
|
163
|
+
→ 결과를 SPEC에 반영:
|
|
164
|
+
- 보안 요구사항
|
|
165
|
+
- 필수 체크리스트
|
|
166
|
+
- 규정 준수 항목
|
|
167
|
+
```
|