universal-dev-standards 5.17.0 → 6.0.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.
Files changed (539) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  3. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  4. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  5. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  6. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  7. package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
  8. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  9. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  10. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  11. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  12. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  13. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  14. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  15. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  16. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  17. package/bundled/ai/standards/logging.ai.yaml +97 -3
  18. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  19. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  20. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  21. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  22. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  23. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  24. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  25. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  26. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  27. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  28. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  29. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  30. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  31. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  32. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  33. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  34. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  35. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  36. package/bundled/core/accessibility-standards.md +8 -4
  37. package/bundled/core/ai-friendly-architecture.md +1 -1
  38. package/bundled/core/ai-response-navigation.md +31 -3
  39. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  40. package/bundled/core/api-design-standards.md +92 -7
  41. package/bundled/core/audit-trail.md +119 -0
  42. package/bundled/core/behavior-snapshot.md +94 -7
  43. package/bundled/core/browser-compatibility-standards.md +15 -2
  44. package/bundled/core/checkin-standards.md +9 -2
  45. package/bundled/core/code-review-checklist.md +10 -2
  46. package/bundled/core/container-image-standards.md +97 -0
  47. package/bundled/core/context-aware-loading.md +2 -2
  48. package/bundled/core/cost-budget-test.md +1 -1
  49. package/bundled/core/cross-flow-regression.md +3 -2
  50. package/bundled/core/data-contract.md +104 -0
  51. package/bundled/core/data-migration-testing.md +90 -0
  52. package/bundled/core/data-pipeline.md +113 -0
  53. package/bundled/core/deprecation-standards.md +16 -2
  54. package/bundled/core/developer-memory.md +13 -8
  55. package/bundled/core/documentation-writing-standards.md +1 -1
  56. package/bundled/core/error-code-standards.md +4 -3
  57. package/bundled/core/flaky-test-management.md +1 -1
  58. package/bundled/core/flow-based-testing.md +3 -3
  59. package/bundled/core/forward-derivation-standards.md +33 -5
  60. package/bundled/core/full-coverage-testing.md +72 -0
  61. package/bundled/core/git-worktree.md +4 -4
  62. package/bundled/core/guides/performance-guide.md +1 -1
  63. package/bundled/core/guides/security-guide.md +1 -1
  64. package/bundled/core/health-check-standards.md +2 -2
  65. package/bundled/core/iac-design-principles.md +97 -0
  66. package/bundled/core/incident-response.md +119 -0
  67. package/bundled/core/license-compliance.md +2 -0
  68. package/bundled/core/logging-standards.md +78 -2
  69. package/bundled/core/mock-boundary.md +54 -2
  70. package/bundled/core/model-provenance.md +181 -0
  71. package/bundled/core/model-selection.md +27 -2
  72. package/bundled/core/packaging-standards.md +1 -0
  73. package/bundled/core/performance-standards.md +96 -2
  74. package/bundled/core/pii-classification.md +148 -0
  75. package/bundled/core/pipeline-security-gates.md +22 -2
  76. package/bundled/core/postmortem-standards.md +2 -0
  77. package/bundled/core/prd-standards.md +91 -0
  78. package/bundled/core/privacy-standards.md +14 -3
  79. package/bundled/core/product-metrics-standards.md +100 -0
  80. package/bundled/core/project-context-memory.md +8 -2
  81. package/bundled/core/prompt-regression.md +1 -1
  82. package/bundled/core/refactoring-standards.md +44 -3
  83. package/bundled/core/replay-test.md +1 -1
  84. package/bundled/core/resource-cost-boundary.md +180 -0
  85. package/bundled/core/reverse-engineering-standards.md +66 -2
  86. package/bundled/core/runbook.md +113 -0
  87. package/bundled/core/schema-evolution.md +105 -0
  88. package/bundled/core/secret-management-standards.md +110 -0
  89. package/bundled/core/security-testing.md +26 -2
  90. package/bundled/core/self-review-protocol.md +2 -2
  91. package/bundled/core/skill-standard-alignment-check.md +53 -0
  92. package/bundled/core/slo-sli.md +109 -0
  93. package/bundled/core/smoke-test.md +1 -1
  94. package/bundled/core/tech-debt-standards.md +1 -1
  95. package/bundled/core/test-data-standards.md +2 -2
  96. package/bundled/core/user-journey-testing.md +102 -0
  97. package/bundled/core/user-story-mapping.md +96 -0
  98. package/bundled/core/verification-oracle.md +167 -0
  99. package/bundled/core/versioning.md +133 -109
  100. package/bundled/locales/COVERAGE.md +84 -73
  101. package/bundled/locales/zh-CN/CHANGELOG.md +71 -6
  102. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  103. package/bundled/locales/zh-CN/README.md +22 -9
  104. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  105. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  106. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  107. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  108. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  109. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  110. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  111. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  112. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  113. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  114. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  115. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  116. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  117. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  118. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  119. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  120. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  121. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  122. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  123. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  124. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  125. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  126. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  127. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  128. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  129. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  130. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  131. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  132. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  133. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  134. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  135. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  136. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  137. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  138. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  139. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  140. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  141. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  142. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  143. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  144. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  145. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  146. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  147. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  148. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  149. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  150. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  151. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  152. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  153. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  154. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  155. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  156. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  157. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  158. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  159. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  160. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  161. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  162. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  163. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  164. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  165. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  166. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  167. package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
  168. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  169. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  170. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  171. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  172. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  173. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  174. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  175. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  176. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  177. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  178. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  179. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  180. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  181. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  182. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  184. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  186. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  187. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  188. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  189. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  190. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  191. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  192. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  193. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  194. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  195. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  196. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  197. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  198. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  199. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  200. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  201. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  202. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  203. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  204. package/bundled/locales/zh-CN/skills/README.md +89 -126
  205. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  206. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  207. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  208. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  209. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  210. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  211. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  212. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  213. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  215. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  217. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  218. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  219. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  221. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  222. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  223. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  224. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  225. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  226. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  227. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  228. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  229. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  230. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  232. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  233. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  235. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  236. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  237. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  239. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  242. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  243. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  244. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  245. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  246. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  248. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  249. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  250. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  251. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  252. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  253. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  254. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  255. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  256. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  257. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  258. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  259. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  261. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  262. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  263. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  265. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  266. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  267. package/bundled/locales/zh-TW/CHANGELOG.md +71 -6
  268. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  269. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  270. package/bundled/locales/zh-TW/README.md +22 -9
  271. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  272. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  273. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  274. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  275. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  276. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  277. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  278. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  279. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  280. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  281. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  282. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  283. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  284. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  285. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  286. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  287. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  288. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  289. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  290. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  291. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  292. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  293. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  294. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  295. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  296. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  297. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  298. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  299. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  300. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  301. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  302. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  303. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  304. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  305. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  306. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  307. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  308. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  309. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  310. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  311. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  312. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  313. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  314. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  315. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  316. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  317. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  318. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  319. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  320. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  321. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  322. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  323. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  324. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  325. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  326. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  327. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  328. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  329. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  330. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  331. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  332. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  333. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  334. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  335. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  336. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  337. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  338. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  339. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  340. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  341. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  342. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  343. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  344. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  345. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  346. package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
  347. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  348. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  349. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  350. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  351. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  352. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  353. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  354. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  355. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  356. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  357. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  358. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  359. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  360. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  361. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  362. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  363. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  364. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  365. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  367. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  369. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  370. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  371. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  372. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  373. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  374. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  375. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  376. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  377. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  378. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  379. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  380. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  381. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  382. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  383. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  384. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  385. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  386. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  387. package/bundled/locales/zh-TW/skills/README.md +91 -128
  388. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  389. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  390. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  391. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  392. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  393. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  394. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  395. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  396. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  398. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  401. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  402. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  404. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  406. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  407. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  408. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  409. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  410. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  411. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  412. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  413. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  414. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  415. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  417. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  418. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  420. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  421. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  422. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  424. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  426. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  427. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  428. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  429. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  430. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  432. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  433. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  434. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  435. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  436. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  437. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  439. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  440. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  441. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  442. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  443. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  444. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  445. package/bundled/skills/README.md +1 -1
  446. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  447. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  448. package/bundled/skills/agents/code-architect.md +1 -1
  449. package/bundled/skills/agents/doc-writer.md +1 -1
  450. package/bundled/skills/agents/reviewer.md +2 -2
  451. package/bundled/skills/agents/spec-analyst.md +1 -1
  452. package/bundled/skills/agents/test-specialist.md +1 -1
  453. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  454. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  455. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  456. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  457. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  458. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  459. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  460. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  461. package/bundled/skills/bdd-assistant/guide.md +1 -2
  462. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  463. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  464. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  465. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  466. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  467. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  468. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  469. package/bundled/skills/commands/README.md +2 -2
  470. package/bundled/skills/commands/ac-coverage.md +1 -1
  471. package/bundled/skills/commands/atdd.md +2 -2
  472. package/bundled/skills/commands/bdd.md +2 -2
  473. package/bundled/skills/commands/brainstorm.md +25 -14
  474. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  475. package/bundled/skills/commands/derive-all.md +1 -1
  476. package/bundled/skills/commands/derive-atdd.md +1 -1
  477. package/bundled/skills/commands/derive-bdd.md +2 -3
  478. package/bundled/skills/commands/derive-tdd.md +1 -1
  479. package/bundled/skills/commands/derive.md +1 -1
  480. package/bundled/skills/commands/dev-workflow.md +1 -1
  481. package/bundled/skills/commands/journey-test.md +45 -0
  482. package/bundled/skills/commands/methodology.md +4 -4
  483. package/bundled/skills/commands/pr.md +1 -1
  484. package/bundled/skills/commands/skill-builder.md +42 -0
  485. package/bundled/skills/commands/tdd.md +1 -1
  486. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  487. package/bundled/skills/dev-methodology/guide.md +1 -1
  488. package/bundled/skills/dev-methodology/runtime.md +1 -1
  489. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  490. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  491. package/bundled/skills/docs-generator/SKILL.md +3 -3
  492. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  493. package/bundled/skills/logging-guide/SKILL.md +38 -2
  494. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  495. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  496. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  497. package/bundled/skills/project-discovery/guide.md +2 -2
  498. package/bundled/skills/push/SKILL.md +1 -1
  499. package/bundled/skills/release-standards/SKILL.md +19 -5
  500. package/bundled/skills/security-assistant/SKILL.md +1 -1
  501. package/bundled/skills/skill-builder/SKILL.md +1 -1
  502. package/bundled/skills/spec-derivation/guide.md +3 -4
  503. package/bundled/skills/spec-driven-dev/SKILL.md +2 -2
  504. package/bundled/skills/sweep/SKILL.md +1 -1
  505. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  506. package/bundled/skills/testing-guide/SKILL.md +1 -1
  507. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  508. package/bundled/skills/workflows/README.md +2 -2
  509. package/package.json +3 -3
  510. package/src/commands/audit.js +30 -9
  511. package/src/commands/config.js +33 -2
  512. package/src/commands/hitl.js +14 -1
  513. package/src/commands/init.js +110 -58
  514. package/src/commands/quickstart.js +1 -2
  515. package/src/commands/release.js +51 -6
  516. package/src/commands/run-intent.js +9 -0
  517. package/src/commands/spec-split.js +27 -2
  518. package/src/commands/update.js +22 -6
  519. package/src/config/ai-agent-paths.js +3 -1
  520. package/src/i18n/messages.js +3 -102
  521. package/src/missions/MissionManager.js +44 -12
  522. package/src/utils/build-manifest.js +35 -3
  523. package/src/utils/friction-detector.js +71 -22
  524. package/src/utils/health-checker.js +29 -2
  525. package/src/utils/transaction.js +111 -0
  526. package/src/utils/version-promote.js +16 -0
  527. package/standards-registry.json +58 -146
  528. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  529. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  530. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  531. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  532. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  533. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  534. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  535. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  536. package/src/commands/flow.js +0 -260
  537. package/src/commands/start.js +0 -372
  538. package/src/commands/sweep.js +0 -151
  539. package/src/commands/workflow.js +0 -681
@@ -0,0 +1,494 @@
1
+ ---
2
+ source: core/guides/security-guide.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ status: current
6
+ ---
7
+
8
+ # Security Guide
9
+
10
+ > **語言**: [English](../../../../core/guides/security-guide.md) | 繁體中文
11
+
12
+ **版本**: 1.0.0
13
+ **最後更新**: 2026-01-29
14
+ **相關標準**: [Security Standards](../security-standards.md)
15
+
16
+ ---
17
+
18
+ ## Purpose
19
+
20
+ 本指南提供軟體安全的詳細說明、漏洞範例與教學內容。若需要可立即執行的檢查清單、必要演算法與強制標頭,請參閱 [Security Standards](../security-standards.md)。
21
+
22
+ ---
23
+
24
+ ## Table of Contents
25
+
26
+ 1. [Security Principles Explained](#security-principles-explained)
27
+ 2. [OWASP Top 10 Detailed Analysis](#owasp-top-10-detailed-analysis)
28
+ 3. [Authentication Deep Dive](#authentication-deep-dive)
29
+ 4. [Authorization Patterns](#authorization-patterns)
30
+ 5. [Input Validation Strategies](#input-validation-strategies)
31
+ 6. [Cryptography Explained](#cryptography-explained)
32
+ 7. [Secure Coding Patterns](#secure-coding-patterns)
33
+ 8. [Security Testing Methods](#security-testing-methods)
34
+ 9. [Secrets Management Practices](#secrets-management-practices)
35
+ 10. [Security Logging Best Practices](#security-logging-best-practices)
36
+ 11. [Incident Response Process](#incident-response-process)
37
+ 12. [References](#references)
38
+
39
+ ---
40
+
41
+ ## Security Principles Explained
42
+
43
+ ### Defense in Depth
44
+
45
+ ```
46
+ ┌─────────────────────────────────────────────────────────────────┐
47
+ │ Defense in Depth Model │
48
+ ├─────────────────────────────────────────────────────────────────┤
49
+ │ │
50
+ │ Layer 1: Perimeter Security │
51
+ │ ├── Firewall, WAF, DDoS protection │
52
+ │ └── Network segmentation │
53
+ │ │
54
+ │ Layer 2: Application Security │
55
+ │ ├── Input validation, output encoding │
56
+ │ ├── Authentication, authorization │
57
+ │ └── Secure session management │
58
+ │ │
59
+ │ Layer 3: Data Security │
60
+ │ ├── Encryption at rest and in transit │
61
+ │ ├── Data masking, tokenization │
62
+ │ └── Access controls │
63
+ │ │
64
+ │ Layer 4: Monitoring & Response │
65
+ │ ├── Security logging, SIEM │
66
+ │ ├── Intrusion detection │
67
+ │ └── Incident response │
68
+ │ │
69
+ └─────────────────────────────────────────────────────────────────┘
70
+ ```
71
+
72
+ 關鍵洞見在於:沒有任何單一的安全控制是完美的。透過分層佈防,即使攻擊者突破了某一層,仍會面臨更多障礙。
73
+
74
+ ---
75
+
76
+ ## OWASP Top 10 Detailed Analysis
77
+
78
+ ### A01:2021 – Broken Access Control
79
+
80
+ **為何位居第一**:存取控制失效從第 5 名躍升至第 1 名,原因在於應用程式越來越依賴複雜的權限系統,而這類系統極易設定錯誤。
81
+
82
+ ```
83
+ ┌─────────────────────────────────────────────────────────────────┐
84
+ │ Broken Access Control Prevention │
85
+ ├─────────────────────────────────────────────────────────────────┤
86
+ │ │
87
+ │ Vulnerabilities: │
88
+ │ ├── IDOR (Insecure Direct Object Reference) │
89
+ │ ├── Missing function-level access control │
90
+ │ ├── Privilege escalation │
91
+ │ └── CORS misconfiguration │
92
+ │ │
93
+ │ Prevention: │
94
+ │ ├── Deny by default, explicit allow list │
95
+ │ ├── Server-side access control (never trust client) │
96
+ │ ├── Validate object ownership on every request │
97
+ │ ├── Log access control failures, alert on anomalies │
98
+ │ └── Rate limit APIs to prevent enumeration │
99
+ │ │
100
+ └─────────────────────────────────────────────────────────────────┘
101
+ ```
102
+
103
+ **IDOR 防護範例**:
104
+ ```typescript
105
+ // ❌ Bad: Direct object reference without ownership check
106
+ app.get('/api/orders/:orderId', (req, res) => {
107
+ const order = db.orders.findById(req.params.orderId);
108
+ res.json(order);
109
+ });
110
+
111
+ // ✅ Good: Validate ownership
112
+ app.get('/api/orders/:orderId', authenticate, (req, res) => {
113
+ const order = db.orders.findById(req.params.orderId);
114
+ if (!order || order.userId !== req.user.id) {
115
+ return res.status(404).json({ error: 'Order not found' });
116
+ }
117
+ res.json(order);
118
+ });
119
+ ```
120
+
121
+ ### A03:2021 – Injection
122
+
123
+ **SQL Injection 防護**:
124
+ ```typescript
125
+ // ❌ Bad: String concatenation (vulnerable to SQL injection)
126
+ const query = `SELECT * FROM users WHERE id = '${userId}'`;
127
+
128
+ // ✅ Good: Parameterized query
129
+ const query = 'SELECT * FROM users WHERE id = ?';
130
+ db.query(query, [userId]);
131
+
132
+ // ✅ Good: ORM with proper escaping
133
+ const user = await User.findOne({ where: { id: userId } });
134
+ ```
135
+
136
+ **Command Injection 防護**:
137
+ ```typescript
138
+ // ❌ Bad: Direct shell execution with user input is dangerous
139
+ // Never pass unvalidated user input to shell commands
140
+
141
+ // ✅ Good: Use library APIs with validated input
142
+ import sharp from 'sharp';
143
+ if (!/^[a-zA-Z0-9_-]+$/.test(filename)) {
144
+ throw new Error('Invalid filename');
145
+ }
146
+ await sharp(`${filename}.png`).toFile('output.jpg');
147
+
148
+ // ✅ Good: Use execFile with argument array (no shell)
149
+ import { execFile } from 'child_process';
150
+ execFile('convert', [validatedInput, 'output.jpg']);
151
+ ```
152
+
153
+ ### A10:2021 – Server-Side Request Forgery (SSRF)
154
+
155
+ ```typescript
156
+ // ❌ Bad: Unvalidated URL from user input
157
+ const response = await fetch(userProvidedUrl);
158
+
159
+ // ✅ Good: Allowlist validation
160
+ const ALLOWED_HOSTS = ['api.trusted.com', 'cdn.trusted.com'];
161
+ const url = new URL(userProvidedUrl);
162
+ if (!ALLOWED_HOSTS.includes(url.hostname)) {
163
+ throw new Error('URL not allowed');
164
+ }
165
+ // Also: Block internal IPs (127.0.0.1, 10.x.x.x, 192.168.x.x, etc.)
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Authentication Deep Dive
171
+
172
+ ### Password Storage Explained
173
+
174
+ ```
175
+ ┌─────────────────────────────────────────────────────────────────┐
176
+ │ Password Hashing Standards │
177
+ ├─────────────────────────────────────────────────────────────────┤
178
+ │ │
179
+ │ ✅ Recommended Algorithms (in order): │
180
+ │ 1. Argon2id (winner of PHC, memory-hard) │
181
+ │ 2. bcrypt (cost factor ≥ 12) │
182
+ │ 3. scrypt (N=2^17, r=8, p=1) │
183
+ │ │
184
+ │ ❌ Never Use: │
185
+ │ - MD5, SHA1, SHA256 (without salt/iteration) │
186
+ │ - Plain text storage │
187
+ │ - Reversible encryption for passwords │
188
+ │ │
189
+ │ Configuration Example (Argon2id): │
190
+ │ - Memory: 64 MB │
191
+ │ - Iterations: 3 │
192
+ │ - Parallelism: 4 │
193
+ │ - Salt: 16 bytes (random per password) │
194
+ │ │
195
+ └─────────────────────────────────────────────────────────────────┘
196
+ ```
197
+
198
+ **為何採用這些演算法?** 它們的設計目的就是要在計算上耗費高昂的成本,使得暴力破解攻擊變得不切實際。Argon2id 屬於 memory-hard(記憶體密集)演算法,意味著攻擊者難以利用 GPU 輕易地平行化攻擊。
199
+
200
+ ### JWT Best Practices
201
+
202
+ ```typescript
203
+ // ✅ JWT Configuration
204
+ const jwtConfig = {
205
+ algorithm: 'RS256', // Use asymmetric for distributed systems
206
+ expiresIn: '15m', // Short-lived access tokens
207
+ issuer: 'your-app.com',
208
+ audience: 'your-app.com',
209
+ };
210
+
211
+ // ✅ Validation checklist:
212
+ // - Verify signature with correct algorithm
213
+ // - Check exp, iat, nbf claims
214
+ // - Validate iss and aud claims
215
+ // - Use allowlist for algorithms (prevent "none" attack)
216
+
217
+ // ❌ Never:
218
+ // - Store sensitive data in JWT payload
219
+ // - Use symmetric keys for multi-party systems
220
+ // - Set expiresIn > 1 hour for access tokens
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Authorization Patterns
226
+
227
+ ### RBAC Model Example
228
+
229
+ ```
230
+ ┌─────────────────────────────────────────────────────────────────┐
231
+ │ RBAC Model Example │
232
+ ├─────────────────────────────────────────────────────────────────┤
233
+ │ │
234
+ │ Roles: │
235
+ │ ├── admin → All permissions │
236
+ │ ├── manager → Read, Write, Delete (own team) │
237
+ │ ├── editor → Read, Write │
238
+ │ └── viewer → Read only │
239
+ │ │
240
+ │ Permissions: │
241
+ │ ├── resource:read │
242
+ │ ├── resource:write │
243
+ │ ├── resource:delete │
244
+ │ └── resource:admin │
245
+ │ │
246
+ │ Assignment: │
247
+ │ User → Role → Permissions │
248
+ │ │
249
+ └─────────────────────────────────────────────────────────────────┘
250
+ ```
251
+
252
+ ### ABAC for Complex Policies
253
+
254
+ 當 RBAC 不足以應付需求時(複雜的政策):
255
+
256
+ ```typescript
257
+ // ABAC Policy Example
258
+ const policy = {
259
+ effect: 'allow',
260
+ action: 'document:edit',
261
+ conditions: {
262
+ 'user.department': { equals: 'resource.department' },
263
+ 'user.clearanceLevel': { greaterThanOrEqual: 'resource.sensitivityLevel' },
264
+ 'time.hour': { between: [9, 17] },
265
+ },
266
+ };
267
+ ```
268
+
269
+ ---
270
+
271
+ ## Input Validation Strategies
272
+
273
+ ### Validation Layers
274
+
275
+ ```
276
+ ┌─────────────────────────────────────────────────────────────────┐
277
+ │ Input Validation Layers │
278
+ ├─────────────────────────────────────────────────────────────────┤
279
+ │ │
280
+ │ 1. Client-side (UX only, not security) │
281
+ │ └── Immediate feedback, reduce server load │
282
+ │ │
283
+ │ 2. API Gateway / Edge │
284
+ │ └── Rate limiting, basic format validation │
285
+ │ │
286
+ │ 3. Application Layer (PRIMARY) │
287
+ │ ├── Type validation (schema validation) │
288
+ │ ├── Business rule validation │
289
+ │ └── Sanitization │
290
+ │ │
291
+ │ 4. Database Layer │
292
+ │ └── Constraints, triggers (last line of defense) │
293
+ │ │
294
+ └─────────────────────────────────────────────────────────────────┘
295
+ ```
296
+
297
+ **關鍵洞見**:用戶端驗證僅用於提升使用者體驗。所有安全驗證都必須在伺服器端進行。
298
+
299
+ ---
300
+
301
+ ## Cryptography Explained
302
+
303
+ ### Key Management Lifecycle
304
+
305
+ ```
306
+ ┌─────────────────────────────────────────────────────────────────┐
307
+ │ Key Management Lifecycle │
308
+ ├─────────────────────────────────────────────────────────────────┤
309
+ │ │
310
+ │ 1. Generation │
311
+ │ ├── Use cryptographically secure RNG │
312
+ │ ├── Generate in secure environment (HSM, KMS) │
313
+ │ └── Never generate client-side │
314
+ │ │
315
+ │ 2. Storage │
316
+ │ ├── Use KMS (AWS KMS, HashiCorp Vault, Azure Key Vault) │
317
+ │ ├── Never store in code or version control │
318
+ │ └── Encrypt keys at rest with master key │
319
+ │ │
320
+ │ 3. Distribution │
321
+ │ ├── Use secure channels only │
322
+ │ └── Implement key wrapping │
323
+ │ │
324
+ │ 4. Rotation │
325
+ │ ├── Define rotation schedule (90 days typical) │
326
+ │ ├── Support graceful rotation (multiple active keys) │
327
+ │ └── Automate rotation where possible │
328
+ │ │
329
+ │ 5. Revocation & Destruction │
330
+ │ ├── Immediate revocation on compromise │
331
+ │ └── Secure deletion (memory wipe, crypto-shredding) │
332
+ │ │
333
+ └─────────────────────────────────────────────────────────────────┘
334
+ ```
335
+
336
+ ---
337
+
338
+ ## Secure Coding Patterns
339
+
340
+ ### Error Handling
341
+
342
+ ```typescript
343
+ // ❌ Bad: Exposes internal details
344
+ catch (error) {
345
+ res.status(500).json({ error: error.message, stack: error.stack });
346
+ }
347
+
348
+ // ✅ Good: Generic message, log details internally
349
+ catch (error) {
350
+ logger.error('Database error', { error, requestId: req.id });
351
+ res.status(500).json({
352
+ error: 'An internal error occurred',
353
+ requestId: req.id
354
+ });
355
+ }
356
+ ```
357
+
358
+ **為什麼?** 錯誤訊息可能洩漏以下資訊:
359
+ - 資料庫結構(SQL 錯誤)
360
+ - 檔案系統路徑(堆疊追蹤)
361
+ - 函式庫版本(有助於鎖定已知漏洞發動攻擊)
362
+
363
+ ---
364
+
365
+ ## Security Testing Methods
366
+
367
+ ### CI/CD Security Integration
368
+
369
+ ```yaml
370
+ # Example: GitHub Actions Security Pipeline
371
+ name: Security Checks
372
+
373
+ on: [push, pull_request]
374
+
375
+ jobs:
376
+ security:
377
+ runs-on: ubuntu-latest
378
+ steps:
379
+ - uses: actions/checkout@v4
380
+
381
+ # Dependency vulnerability check
382
+ - name: npm audit
383
+ run: npm audit --audit-level=high
384
+
385
+ # SAST
386
+ - name: Run Semgrep
387
+ uses: returntocorp/semgrep-action@v1
388
+ with:
389
+ config: p/owasp-top-ten
390
+
391
+ # Secrets scanning
392
+ - name: GitLeaks
393
+ uses: gitleaks/gitleaks-action@v2
394
+
395
+ # Container scanning
396
+ - name: Trivy
397
+ uses: aquasecurity/trivy-action@master
398
+ with:
399
+ scan-type: 'fs'
400
+ severity: 'CRITICAL,HIGH'
401
+ ```
402
+
403
+ ---
404
+
405
+ ## Security Logging Best Practices
406
+
407
+ ### What to Log
408
+
409
+ | 類別 | 事件 |
410
+ |----------|--------|
411
+ | **Authentication** | 登入成功/失敗、登出、MFA 事件 |
412
+ | **Authorization** | 拒絕存取、權限提升嘗試 |
413
+ | **Data Access** | 敏感資料存取、大量匯出 |
414
+ | **Admin Actions** | 使用者建立、權限變更 |
415
+ | **Security Events** | 輸入驗證失敗、觸及速率限制 |
416
+
417
+ ### Log Format
418
+
419
+ ```json
420
+ {
421
+ "timestamp": "2025-01-15T10:30:00.123Z",
422
+ "level": "SECURITY",
423
+ "event_type": "authentication_failure",
424
+ "user_id": "usr_12345",
425
+ "ip_address": "203.0.113.50",
426
+ "user_agent": "Mozilla/5.0...",
427
+ "request_id": "req_abc123",
428
+ "details": {
429
+ "reason": "invalid_password",
430
+ "attempt_count": 3
431
+ }
432
+ }
433
+ ```
434
+
435
+ ---
436
+
437
+ ## Incident Response Process
438
+
439
+ ```
440
+ ┌─────────────────────────────────────────────────────────────────┐
441
+ │ Security Incident Response │
442
+ ├─────────────────────────────────────────────────────────────────┤
443
+ │ │
444
+ │ 1. IDENTIFY │
445
+ │ ├── Detect and confirm the incident │
446
+ │ ├── Determine scope and impact │
447
+ │ └── Assign severity level │
448
+ │ │
449
+ │ 2. CONTAIN │
450
+ │ ├── Isolate affected systems │
451
+ │ ├── Preserve evidence │
452
+ │ └── Prevent further damage │
453
+ │ │
454
+ │ 3. ERADICATE │
455
+ │ ├── Remove threat actor access │
456
+ │ ├── Patch vulnerabilities │
457
+ │ └── Reset compromised credentials │
458
+ │ │
459
+ │ 4. RECOVER │
460
+ │ ├── Restore systems from clean backups │
461
+ │ ├── Verify system integrity │
462
+ │ └── Monitor for reoccurrence │
463
+ │ │
464
+ │ 5. LESSONS LEARNED │
465
+ │ ├── Document timeline and actions │
466
+ │ ├── Identify root cause │
467
+ │ └── Update security controls │
468
+ │ │
469
+ └─────────────────────────────────────────────────────────────────┘
470
+ ```
471
+
472
+ ---
473
+
474
+ ## References
475
+
476
+ ### Standards
477
+ - [OWASP Top 10 (2021)](https://owasp.org/Top10/)
478
+ - [OWASP ASVS v4.0](https://owasp.org/www-project-application-security-verification-standard/)
479
+ - [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
480
+ - [NIST SP 800-53 Rev 5](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)
481
+ - [CWE/SANS Top 25](https://cwe.mitre.org/top25/)
482
+
483
+ ### Books
484
+ - OWASP - "OWASP Testing Guide v4"
485
+ - Adam Shostack - "Threat Modeling: Designing for Security" (2014)
486
+ - Dafydd Stuttard - "The Web Application Hacker's Handbook" (2011)
487
+
488
+ ---
489
+
490
+ ## License
491
+
492
+ 本指南以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
493
+
494
+ **來源**: [core/guides/security-guide.md](../../../../core/guides/security-guide.md)
@@ -0,0 +1,90 @@
1
+ ---
2
+ source: ../../../core/iac-design-principles.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-17
6
+ source_hash: 6cf9c75621e0
7
+ status: current
8
+ ---
9
+
10
+ # 基礎設施即程式碼設計原則
11
+
12
+ > **Language**: [English](../../../core/iac-design-principles.md) | 繁體中文
13
+
14
+ > **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
15
+ > **AI 最佳化版本**: `ai/standards/iac-design-principles.ai.yaml`
16
+ > **規格**: XSPEC-065(cross-project/specs/XSPEC-065-uds-infrastructure-pack.md)
17
+
18
+ ## 概觀
19
+
20
+ 本標準定義基礎設施即程式碼(IaC)撰寫的四項基礎原則:**可重現、不可變、冪等、
21
+ 版本化**。涵蓋狀態管理要求(含鎖定的遠端狀態)、漂移偵測類別,以及 CI/CD 整合。
22
+ 設計目標為確保基礎設施變更可追溯、可逆,並可重複套用而無非預期副作用。
23
+
24
+ 本標準屬於 **IaC 標準包**(XSPEC-065),並作為 `container-image-standards` 與
25
+ `secret-management-standards` 所立基的工具無關基礎(映像與機密後端本身即是版本化、
26
+ 可重現的基礎設施)。
27
+
28
+ > **範圍**:本標準定義*撰寫原則*、*狀態管理*規則與*漂移處理分類*。特定 IaC 工具
29
+ > (Terraform/Pulumi/CloudFormation)與後端屬採用者的選擇,不在本標準範圍內。
30
+
31
+ ## 需求
32
+
33
+ | ID | 規則 | 等級 |
34
+ |----|------|------|
35
+ | REQ-001 | IaC 四原則(可重現、不可變、冪等、版本化) | MUST |
36
+ | REQ-002 | 狀態管理(遠端後端、鎖定、加密、VCS 不存本地狀態) | MUST |
37
+ | REQ-003 | 漂移偵測(PR 上執行 plan;三類分類) | MUST |
38
+
39
+ ### REQ-001 — IaC 四原則
40
+
41
+ 所有基礎設施定義 MUST 遵循四項基礎原則:(1) **可重現**——在相同輸入與狀態下,套用
42
+ IaC 產生相同的基礎設施;(2) **不可變**——基礎設施變更以取代資源的方式套用,而非
43
+ 就地變更;blue/green 或滾動取代模式優於就地變更;(3) **冪等**——多次套用相同 IaC
44
+ 設定產生相同結果,無錯誤或非預期副作用;(4) **版本化**——所有 IaC 定義儲存於版本
45
+ 控制並具備有意義的 commit message;不在 VCS 流程外進行任何基礎設施變更。
46
+
47
+ ### REQ-002 — 狀態管理
48
+
49
+ IaC 狀態 MUST 儲存於啟用鎖定的遠端後端,以防止並行修改。本地狀態檔 MUST NOT 提交
50
+ 至版本控制或用於 CI/CD 管線。建議後端:Terraform Cloud/S3+DynamoDB(Terraform)、
51
+ Pulumi Service/S3(Pulumi)、CloudFormation 原生 stack 狀態。狀態存取 MUST 透過 IAM
52
+ 或同等機制限制為獲授權主體。狀態靜態加密為 REQUIRED。
53
+
54
+ ### REQ-003 — 漂移偵測
55
+
56
+ 團隊 MUST 在每個 pull request 於 CI 執行 `plan`(或同等)以偵測設定漂移。漂移結果
57
+ MUST 分類為三類之一並據以處理:(1) **rollback-to-code**——實際基礎設施因手動變更而
58
+ 偏離程式碼;於下次 apply 將實際還原以符合程式碼;(2) **update-code-from-actual**——
59
+ 實際反映尚未編碼的有意變更;更新 IaC 以符合,然後 apply;(3) **manual-reconcile**——
60
+ 漂移需人為判斷(例如資料 volume 變更);以文件化決策上呈基礎設施負責人。漂移報告
61
+ SHOULD 依排定節奏(例如每日)發布至團隊頻道。
62
+
63
+ ## 反模式
64
+
65
+ - 將本地狀態檔(`terraform.tfstate`)提交至版本控制。
66
+ - 套用可變的就地變更(例如以 sed patch 執行中的 VM)而非取代資源。
67
+ - 進行手動 console 變更而未更新對應的 IaC 定義。
68
+ - 不使用遠端鎖定,允許並行 apply 而損毀狀態。
69
+ - pin 至 `latest` provider 或 module 版本,破壞可重現性。
70
+
71
+ ## 與既有標準的整合
72
+
73
+ - **`container-image-standards`**——容器映像是依相同原則產生的版本化、可重現產物。
74
+ - **`secret-management-standards`**——機密後端(Vault/KMS)作為具遠端狀態、受存取
75
+ 控制的基礎設施管理。
76
+ - **`deployment-standards` / `cd-deployment-strategies`**——不可變取代(REQ-001)
77
+ 支撐 blue/green 與滾動部署模式。
78
+ - **`no-cicd-deployment`**——即使無 CI/CD 平台,四原則與狀態管理規則仍適用於腳本化
79
+ 的基礎設施變更。
80
+
81
+ ## 相關規格
82
+
83
+ - XSPEC-065 — UDS 基礎設施(IaC)標準包(本標準來源)
84
+ - DEC-043 — UDS 覆蓋完整性路線圖(Wave 4 範圍)
85
+
86
+ ## 變更紀錄
87
+
88
+ | 版本 | 日期 | 變更 |
89
+ |------|------|------|
90
+ | v1.0.0 | 2026-06-17 | 初版——REQ-001~003:IaC 四原則、狀態管理、漂移偵測(XSPEC-065) |