ai-developer-skill-os 9.3.0 → 10.1.0
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/.agents/AGENTS.md +60 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/registry/graph.json +95 -342
- package/.agents/registry/index.yaml +61 -237
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +19 -8
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
- package/.agents/skills/qk-backend-data/SKILL.md +190 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
- package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
- package/.agents/skills/qk-code-review/SKILL.md +126 -247
- package/.agents/skills/qk-devops-release/SKILL.md +145 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
- package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
- package/.agents/skills/qk-product-spec/SKILL.md +113 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
- package/.agents/workflows/feature-delivery.yml +1 -1
- package/.agents/workflows/production-release.yml +1 -1
- package/.agents/workflows/spec-driven-development.yml +109 -87
- package/CHANGELOG.md +54 -0
- package/README.md +125 -184
- package/bin/install.js +337 -329
- package/package.json +2 -2
- package/.agents/README.md +0 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
- package/.agents/docs/MIGRATION-STATUS.md +0 -35
- package/.agents/docs/MIGRATION-V8.md +0 -10
- package/.agents/docs/ROADMAP-V8.2.md +0 -78
- package/.agents/docs/V8-CERTIFICATION.md +0 -27
- package/.agents/skills/qk-access-policy/SKILL.md +0 -206
- package/.agents/skills/qk-access-policy/capability.yaml +0 -23
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
- package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
- package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
- package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
- package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
- package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
- package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
- package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
- package/.agents/skills/qk-code-review/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/SKILL.md +0 -198
- package/.agents/skills/qk-context-loader/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
- package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
- package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
- package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
- package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
- package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-docs/SKILL.md +0 -193
- package/.agents/skills/qk-docs/capability.yaml +0 -23
- package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
- package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
- package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
- package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
- package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
- package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-help/SKILL.md +0 -107
- package/.agents/skills/qk-help/capability.yaml +0 -20
- package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
- package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
- package/.agents/skills/qk-product-specification/SKILL.md +0 -187
- package/.agents/skills/qk-product-specification/capability.yaml +0 -27
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-production-release/SKILL.md +0 -188
- package/.agents/skills/qk-production-release/capability.yaml +0 -27
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-audit/SKILL.md +0 -174
- package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
- package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-health/SKILL.md +0 -202
- package/.agents/skills/qk-project-health/capability.yaml +0 -23
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-project-memory/SKILL.md +0 -303
- package/.agents/skills/qk-project-memory/capability.yaml +0 -23
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-refactor/SKILL.md +0 -243
- package/.agents/skills/qk-refactor/capability.yaml +0 -26
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-security-audit/SKILL.md +0 -280
- package/.agents/skills/qk-security-audit/capability.yaml +0 -29
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
- package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
- package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
- package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
- package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
- package/.agents/skills/qk-ui-builder/references/color.md +0 -115
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
- package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
- package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
- package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
- package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
- package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
- package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
- package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-upgrade/SKILL.md +0 -301
- package/.agents/skills/qk-upgrade/capability.yaml +0 -24
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
- package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
- package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
- package/.agents/workflows/research.yml +0 -75
- package/.agents/workflows/skill-evolution.yml +0 -97
- package/tooling/fix-refactor.js +0 -8
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-security-audit
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: experimental
|
|
6
|
-
description: "Audit bảo mật ứng dụng theo OWASP: phát hiện lỗ hổng, secret leak, dependency risk, permission model — output là report + remediation plan, KHÔNG tự sửa code. Dùng skill này khi user nhắc đến: security audit, kiểm tra bảo mật, scan lỗ hổng, owasp, tìm secret leak, dependency vulnerability, npm audit, pip audit, lộ api key — kể cả khi chỉ nói 'code này có an toàn không'."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- security-audit
|
|
14
|
-
- vulnerability-scan
|
|
15
|
-
- secret-detection
|
|
16
|
-
- permission-review
|
|
17
|
-
|
|
18
|
-
complexity:
|
|
19
|
-
level: high
|
|
20
|
-
criteria:
|
|
21
|
-
files_affected: "1-10"
|
|
22
|
-
has_behavior_change: false
|
|
23
|
-
has_external_dependency: false
|
|
24
|
-
has_breaking_change: false
|
|
25
|
-
|
|
26
|
-
triggers:
|
|
27
|
-
- "security audit"
|
|
28
|
-
- "kiểm tra bảo mật"
|
|
29
|
-
- "scan lỗ hổng"
|
|
30
|
-
- "owasp"
|
|
31
|
-
- "tìm secret leak"
|
|
32
|
-
- "dependency vulnerability"
|
|
33
|
-
- "npm audit"
|
|
34
|
-
- "pip audit"
|
|
35
|
-
- "lộ api key"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
# ── V8: References ─────────────────────────────────────────
|
|
39
|
-
workflow: security-audit
|
|
40
|
-
|
|
41
|
-
rules:
|
|
42
|
-
- global
|
|
43
|
-
- security
|
|
44
|
-
|
|
45
|
-
tools:
|
|
46
|
-
- filesystem
|
|
47
|
-
- terminal
|
|
48
|
-
|
|
49
|
-
related_skills:
|
|
50
|
-
- qk-access-policy
|
|
51
|
-
|
|
52
|
-
knowledge_scope:
|
|
53
|
-
domain:
|
|
54
|
-
- security-practices
|
|
55
|
-
- vulnerability-detection
|
|
56
|
-
concepts:
|
|
57
|
-
- owasp
|
|
58
|
-
- secret-detection
|
|
59
|
-
references:
|
|
60
|
-
- architecture
|
|
61
|
-
- security
|
|
62
|
-
- anti-patterns
|
|
63
|
-
|
|
64
|
-
decision_boundary:
|
|
65
|
-
owns:
|
|
66
|
-
- application-security
|
|
67
|
-
- agent-security
|
|
68
|
-
- prompt-injection
|
|
69
|
-
- dependency-risk
|
|
70
|
-
does_not_own:
|
|
71
|
-
- access control implementation
|
|
72
|
-
- penetration testing
|
|
73
|
-
- compliance certification
|
|
74
|
-
conflicts_with: []
|
|
75
|
-
delegates_to: []
|
|
76
|
-
# Note: validation/verify logic nằm trong step 'verify' của workflow security-audit.yml
|
|
77
|
-
# qk-validation-gate đã được downgrade thành workflow step (v9.2.1) — không còn là skill độc lập
|
|
78
|
-
|
|
79
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
80
|
-
verification:
|
|
81
|
-
required: true
|
|
82
|
-
strategy: feature
|
|
83
|
-
|
|
84
|
-
lifecycle:
|
|
85
|
-
promotion_gate:
|
|
86
|
-
requirements:
|
|
87
|
-
tests:
|
|
88
|
-
minimum_pass_rate: 0.95
|
|
89
|
-
usage:
|
|
90
|
-
minimum_runs: 20
|
|
91
|
-
conflicts:
|
|
92
|
-
zero_boundary_violation: true
|
|
93
|
-
evidence:
|
|
94
|
-
required:
|
|
95
|
-
- evaluation_report
|
|
96
|
-
- usage_history
|
|
97
|
-
- boundary_audit
|
|
98
|
-
demotion_gate:
|
|
99
|
-
triggers:
|
|
100
|
-
- repeated_failure
|
|
101
|
-
- boundary_violation
|
|
102
|
-
- outdated_reference
|
|
103
|
-
action:
|
|
104
|
-
change_status: "stable -> experimental"
|
|
105
|
-
|
|
106
|
-
selection:
|
|
107
|
-
priority: high
|
|
108
|
-
confidence_threshold: 0.85
|
|
109
|
-
|
|
110
|
-
examples: []
|
|
111
|
-
learnings: []
|
|
112
|
-
|
|
113
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
114
|
-
execution_mode: deterministic
|
|
115
|
-
cost: medium
|
|
116
|
-
latency: slow
|
|
117
|
-
risk: medium # scan đọc sensitive files (env, config, secrets) — không phải low
|
|
118
|
-
side_effects: read_only
|
|
119
|
-
produces: [report, remediation_plan] # read_only = không tự patch code, chỉ báo cáo + đề xuất fix
|
|
120
|
-
consumes: [user-description]
|
|
121
|
-
|
|
122
|
-
token_budget:
|
|
123
|
-
max_files_read: 10
|
|
124
|
-
max_lines_per_read: 150
|
|
125
|
-
max_shell_commands: 2
|
|
126
|
-
stop_early: true
|
|
127
|
-
|
|
128
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
# qk-security-audit — Security Auditor
|
|
132
|
-
|
|
133
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## Preconditions
|
|
138
|
-
|
|
139
|
-
- [ ] Biết scope cần audit: toàn bộ codebase / 1 module / 1 PR / 1 dependency
|
|
140
|
-
→ Nếu chưa biết: hỏi user trước khi bắt đầu scan
|
|
141
|
-
- [ ] Không được ghi vào bất kỳ file nào trong quá trình audit (`side_effects: read_only`)
|
|
142
|
-
- [ ] Nếu phát hiện secret đang live (API key, password): **BLOCKED ngay** — báo user xử lý trước
|
|
143
|
-
- [ ] Output là report + remediation_plan — KHÔNG tự sửa code, KHÔNG tự revoke secret
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## Scope
|
|
148
|
-
|
|
149
|
-
✅ Skill này làm:
|
|
150
|
-
- Scan OWASP Top 10: injection, broken auth, sensitive data exposure, XSS, IDOR...
|
|
151
|
-
- Detect secret/credential leak trong code, config, commit history pattern
|
|
152
|
-
- Audit dependency vulnerabilities (npm audit / pip audit / cargo audit equivalent)
|
|
153
|
-
- Review permission model: RBAC gaps, over-privileged roles, missing auth checks
|
|
154
|
-
- Phát hiện prompt injection risk (nếu project có AI/LLM component)
|
|
155
|
-
- Output: Severity-ranked finding list + remediation plan cho từng finding
|
|
156
|
-
|
|
157
|
-
❌ Skill này KHÔNG làm:
|
|
158
|
-
- Tự sửa code để fix lỗ hổng (→ dùng `qk-bug-resolution` sau khi có report)
|
|
159
|
-
- Implement RBAC/ABAC (→ `qk-access-policy`)
|
|
160
|
-
- Penetration testing thực sự (cần human expert)
|
|
161
|
-
- Compliance certification (SOC2, ISO27001...)
|
|
162
|
-
- Revoke credentials hay rotate secrets (→ user tự làm)
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Execution Steps
|
|
167
|
-
|
|
168
|
-
### Step 1 — Xác định scope và threat model
|
|
169
|
-
```
|
|
170
|
-
Inputs: user_description, DEV_PROFILE.md (stack info)
|
|
171
|
-
Actions:
|
|
172
|
-
- Xác định: audit toàn bộ / module cụ thể / diff của PR
|
|
173
|
-
- Xác định attack surface dựa trên stack:
|
|
174
|
-
Web app → injection, XSS, CSRF, auth bypass
|
|
175
|
-
API → broken auth, IDOR, rate limiting, input validation
|
|
176
|
-
Data → SQL injection, data exposure, access control
|
|
177
|
-
AI/LLM → prompt injection, data poisoning, model extraction
|
|
178
|
-
DevOps → secrets in CI, misconfigured IAM, container escape
|
|
179
|
-
- List top 5 risk areas cần ưu tiên
|
|
180
|
-
Outputs: audit_scope, threat_model
|
|
181
|
-
Exit: BLOCKED nếu scope quá rộng mà không có priority
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### Step 2 — Scan theo OWASP Top 10
|
|
185
|
-
```
|
|
186
|
-
Actions (đọc có mục tiêu, không dump toàn bộ codebase):
|
|
187
|
-
A01 Broken Access Control:
|
|
188
|
-
- Grep auth middleware: routes có bị skip không
|
|
189
|
-
- Check role check consistency (if admin check ở route nhưng thiếu ở service)
|
|
190
|
-
A02 Cryptographic Failures:
|
|
191
|
-
- Tìm hardcoded secrets: grep pattern (password=, api_key=, secret=, token=)
|
|
192
|
-
- Check password hashing: bcrypt/argon2 hay MD5/SHA1?
|
|
193
|
-
- Check TLS config nếu có
|
|
194
|
-
A03 Injection:
|
|
195
|
-
- SQL: tìm string concatenation trong queries
|
|
196
|
-
- Command injection: exec(), eval(), subprocess với user input
|
|
197
|
-
- Template injection (SSTI)
|
|
198
|
-
A05 Security Misconfiguration:
|
|
199
|
-
- .env.example so sánh với .env (nếu đọc được)
|
|
200
|
-
- CORS config: wildcard origin?
|
|
201
|
-
- Debug mode enabled trong production config?
|
|
202
|
-
A06 Vulnerable Components:
|
|
203
|
-
- Đọc package.json / requirements.txt / go.mod
|
|
204
|
-
- Flag packages có known CVE hoặc deprecated
|
|
205
|
-
A09 Logging Failures:
|
|
206
|
-
- Sensitive data trong logs (password, token, PII)?
|
|
207
|
-
- Missing security event logging (failed login, permission denied)?
|
|
208
|
-
Token budget: max 10 files, 150 lines/file — ưu tiên auth/middleware/config files
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Step 3 — Detect Secret Leak
|
|
212
|
-
```
|
|
213
|
-
Actions:
|
|
214
|
-
- Grep patterns: (api[_-]?key|secret|password|token|credential)\s*[:=]\s*['"][^'"]{8,}
|
|
215
|
-
- Check: .env files committed? (git ls-files | grep .env)
|
|
216
|
-
- Check config files: database URL có credential?
|
|
217
|
-
- Check source code comments: TODO fix this hardcoded password
|
|
218
|
-
- Check test files: mock credentials có bị copy từ production?
|
|
219
|
-
Exit: BLOCKED ngay nếu tìm thấy live credential — báo user xử lý trước khi tiếp tục
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Step 4 — Output Report
|
|
223
|
-
```
|
|
224
|
-
Format bắt buộc:
|
|
225
|
-
CRITICAL (fix ngay, không deploy):
|
|
226
|
-
[C1] [Tên lỗi] — [File:line] — [Mô tả] — [Remediation]
|
|
227
|
-
|
|
228
|
-
HIGH (fix trong sprint này):
|
|
229
|
-
[H1] [Tên lỗi] — [File:line] — [Mô tả] — [Remediation]
|
|
230
|
-
|
|
231
|
-
MEDIUM (schedule fix):
|
|
232
|
-
[M1] ...
|
|
233
|
-
|
|
234
|
-
LOW / INFORMATIONAL:
|
|
235
|
-
[L1] ...
|
|
236
|
-
|
|
237
|
-
SUMMARY:
|
|
238
|
-
Critical: N | High: N | Medium: N | Low: N
|
|
239
|
-
Most urgent: [top 3 cần fix ngay]
|
|
240
|
-
Recommended next skill: qk-bug-resolution (để fix từng finding)
|
|
241
|
-
qk-access-policy (nếu có RBAC gap)
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## Prompt Template
|
|
247
|
-
|
|
248
|
-
```
|
|
249
|
-
Audit scope: [toàn bộ codebase / module X / PR #N / file Y]
|
|
250
|
-
Stack: [đọc từ DEV_PROFILE.md — hoặc ghi rõ nếu chưa có]
|
|
251
|
-
Ưu tiên: [injection / secrets / auth / dependencies / tất cả]
|
|
252
|
-
Context: [sắp deploy production / sau khi thêm auth feature / định kỳ / ...]
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### Theo Role:
|
|
256
|
-
|
|
257
|
-
**role: be / fullstack**
|
|
258
|
-
```
|
|
259
|
-
Audit scope: src/api/ + src/middleware/
|
|
260
|
-
Ưu tiên: auth bypass, SQL injection, secret leak
|
|
261
|
-
Context: Sắp deploy lên production lần đầu
|
|
262
|
-
```
|
|
263
|
-
→ AI focus: auth middleware completeness, parameterized queries, JWT validation, CORS.
|
|
264
|
-
|
|
265
|
-
**role: devops**
|
|
266
|
-
```
|
|
267
|
-
Audit scope: .github/workflows/ + Dockerfile + terraform/
|
|
268
|
-
Ưu tiên: secrets in CI, IAM over-privilege, container security
|
|
269
|
-
Context: Sau khi onboard engineer mới vào team
|
|
270
|
-
```
|
|
271
|
-
→ AI focus: secrets in env vars vs secrets manager, IAM least privilege, base image CVEs.
|
|
272
|
-
|
|
273
|
-
**role: ai-engineer**
|
|
274
|
-
```
|
|
275
|
-
Audit scope: prompts/ + agents/ + retrieval/
|
|
276
|
-
Ưu tiên: prompt injection, data poisoning, PII in context
|
|
277
|
-
Context: RAG system sắp ra production
|
|
278
|
-
```
|
|
279
|
-
→ AI focus: input sanitization trước khi đưa vào prompt, output filtering,
|
|
280
|
-
PII không được persist trong vector DB, guardrails có đủ không.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-security-audit"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Security audit (OWASP, dependency security, secret detection, permission model)."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "qk-security-audit"
|
|
12
|
-
references:
|
|
13
|
-
- "architecture"
|
|
14
|
-
- "security"
|
|
15
|
-
- "anti-patterns"
|
|
16
|
-
eval:
|
|
17
|
-
scorecard: "evals/scorecard.yaml"
|
|
18
|
-
decision_boundary:
|
|
19
|
-
owns:
|
|
20
|
-
- "application-security"
|
|
21
|
-
- "agent-security"
|
|
22
|
-
- "prompt-injection"
|
|
23
|
-
- "dependency-risk"
|
|
24
|
-
does_not_own:
|
|
25
|
-
- "access control implementation"
|
|
26
|
-
- "penetration testing"
|
|
27
|
-
- "compliance certification"
|
|
28
|
-
conflicts_with: []
|
|
29
|
-
delegates_to: []
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: qk-security-audit-eval
|
|
2
|
-
description: Đánh giá chất lượng Kiểm toán Bảo mật
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 95 # Threshold gần như tuyệt đối vì đây là lưới lọc bảo mật cuối cùng
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: secret_leak_detection
|
|
8
|
-
name: Nhận diện rò rỉ Secret (Secret Leak)
|
|
9
|
-
description: Agent có phát hiện được API keys/Passwords bị hardcode không?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Rà quét và chỉ điểm chính xác file/line chứa secret bị hardcode (40đ)
|
|
13
|
-
|
|
14
|
-
- id: r_sec_04_enforcement
|
|
15
|
-
name: Rà soát Zero-Trust & Phân quyền
|
|
16
|
-
description: Có kiểm tra các lỗ hổng RBAC/ABAC và Prompt Injection không?
|
|
17
|
-
weight: 35
|
|
18
|
-
criteria:
|
|
19
|
-
- Đánh giá mô hình quyền hạn xem có lỗ hổng BOLA hoặc Broken Auth không (15đ)
|
|
20
|
-
- Quét nguy cơ Prompt Injection (nếu có LLM integration) theo chuẩn R-SEC-04 (20đ)
|
|
21
|
-
|
|
22
|
-
- id: owasp_and_dependencies
|
|
23
|
-
name: Lỗ hổng OWASP & Dependencies
|
|
24
|
-
description: Có kiểm tra các thư viện lỗi thời hoặc lỗ hổng phổ biến không?
|
|
25
|
-
weight: 25
|
|
26
|
-
criteria:
|
|
27
|
-
- Đưa ra danh sách cảnh báo dựa trên OWASP Top 10 và Dependency Tree (25đ)
|