@umacloud/knowledge 1.0.1

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 (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,383 @@
1
+ ---
2
+ id: case-authorization-hardening
3
+ title: 案例研究:权限体系加固——从越权漏洞到零信任授权
4
+ domain: development
5
+ category: 05-cases
6
+ difficulty: intermediate
7
+ tags: [agent, authorization, case, checklist, development, hardening, 元数据]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 案例研究:权限体系加固——从越权漏洞到零信任授权
12
+
13
+ ## 元数据
14
+
15
+ | 字段 | 值 |
16
+ |------|------|
17
+ | 行业 | 企业级 HR SaaS 平台 |
18
+ | 系统规模 | 企业客户 5,000+,终端用户 200 万 |
19
+ | 技术栈 | Java Spring Boot + PostgreSQL + Redis |
20
+ | 团队规模 | 后端 22 人,安全 3 人 |
21
+ | 加固周期 | 10 周(2024-02 至 2024-04) |
22
+ | 核心目标 | 消除 IDOR/越权漏洞,建立细粒度权限模型 |
23
+
24
+ ---
25
+
26
+ ## 一、背景
27
+
28
+ ### 1.1 业务概述
29
+
30
+ 某 HR SaaS 平台提供薪资管理、考勤、招聘、绩效等功能模块。数据敏感度极高:
31
+
32
+ - 薪资数据:员工工资、奖金、社保明细
33
+ - 人事数据:身份证号、银行卡号、家庭住址
34
+ - 考勤数据:打卡记录、请假审批
35
+ - 绩效数据:评分、晋升建议
36
+
37
+ ### 1.2 触发事件
38
+
39
+ 2024 年 1 月外部渗透测试发现 **12 个 IDOR(Insecure Direct Object Reference)漏洞**:
40
+
41
+ | 编号 | 漏洞 | 严重性 | 说明 |
42
+ |------|------|--------|------|
43
+ | V-01 | 越权查看他人薪资 | Critical | 修改 URL 中的 employee_id 可查看任意员工薪资 |
44
+ | V-02 | 越权下载工资条 | Critical | 工资条 PDF 的 URL 可预测,无鉴权 |
45
+ | V-03 | 跨租户数据访问 | Critical | 修改请求中的 company_id 可访问其他企业数据 |
46
+ | V-04 | 越权审批请假 | High | 非直属上级可审批任意员工的请假申请 |
47
+ | V-05 | 越权修改考勤 | High | HR 角色可修改非本部门员工的考勤记录 |
48
+ | V-06-12 | 其他 IDOR | Medium | 涉及绩效、招聘、通知等模块 |
49
+
50
+ ### 1.3 现有权限模型
51
+
52
+ ```
53
+ 当前模型:简单 RBAC(Role-Based Access Control)
54
+
55
+ 角色:
56
+ ├── super_admin → 全部权限
57
+ ├── company_admin → 企业内全部权限
58
+ ├── hr_manager → HR 模块权限
59
+ ├── department_mgr → 部门管理权限
60
+ └── employee → 个人数据权限
61
+
62
+ 问题:
63
+ 1. 角色粒度太粗:hr_manager 能访问所有员工数据,无部门隔离
64
+ 2. 无资源归属校验:接口只检查"角色是否有权限",不检查"该资源是否属于该用户"
65
+ 3. 无租户隔离层:租户 ID 由前端传递,后端不做强制校验
66
+ 4. 权限硬编码:权限逻辑散落在 80+ 个 Controller 中
67
+ ```
68
+
69
+ ---
70
+
71
+ ## 二、挑战
72
+
73
+ ### 2.1 技术挑战
74
+
75
+ 1. **存量代码庞大**:120 个 API 端点需要逐一加固,改动面广
76
+ 2. **权限逻辑复杂**:HR 场景的权限关系多维——角色 x 部门 x 数据范围 x 操作类型
77
+ 3. **性能约束**:权限校验不能显著增加接口延迟(P99 增加 < 20ms)
78
+ 4. **数据隔离**:5,000+ 企业客户共享数据库实例,租户隔离必须无漏洞
79
+
80
+ ### 2.2 业务挑战
81
+
82
+ 1. **不能停服**:改造期间平台正常运营
83
+ 2. **向下兼容**:现有客户的权限配置不能丢失
84
+ 3. **灵活性**:不同企业客户有不同的权限需求(有的部门间可见,有的不可见)
85
+
86
+ ---
87
+
88
+ ## 三、方案设计
89
+
90
+ ### 3.1 权限模型升级:RBAC → ABAC + RBAC 混合
91
+
92
+ ```
93
+ 新模型:RBAC(角色)+ ABAC(属性)+ 资源归属校验
94
+
95
+ 三层权限校验:
96
+ Layer 1: 租户隔离(Tenant Isolation)
97
+ → 强制校验当前用户的 tenant_id 与目标资源的 tenant_id
98
+ → 在数据库查询层面自动注入 tenant_id 条件
99
+
100
+ Layer 2: 角色权限(RBAC)
101
+ → 校验用户角色是否有目标操作的权限
102
+ → 支持细粒度操作:read/write/approve/export/delete
103
+
104
+ Layer 3: 资源归属(ABAC / Ownership)
105
+ → 校验用户与目标资源的关系
106
+ → 基于属性:部门归属、直属关系、数据范围策略
107
+ ```
108
+
109
+ ### 3.2 权限策略引擎
110
+
111
+ 引入轻量级策略引擎,将权限规则从代码中抽离:
112
+
113
+ ```java
114
+ // 权限策略定义(YAML 配置)
115
+ policies:
116
+ - name: salary-read
117
+ resource: "salary"
118
+ action: "read"
119
+ rules:
120
+ - role: "employee"
121
+ condition: "resource.employee_id == subject.employee_id"
122
+ # 员工只能看自己的薪资
123
+
124
+ - role: "hr_manager"
125
+ condition: "resource.department_id IN subject.managed_departments"
126
+ # HR 经理只能看所管辖部门的薪资
127
+
128
+ - role: "company_admin"
129
+ condition: "resource.company_id == subject.company_id"
130
+ # 企业管理员可看本企业所有薪资
131
+
132
+ - name: leave-approve
133
+ resource: "leave_request"
134
+ action: "approve"
135
+ rules:
136
+ - role: "department_mgr"
137
+ condition: >
138
+ resource.applicant.direct_manager_id == subject.employee_id
139
+ OR resource.applicant.department_id IN subject.managed_departments
140
+ # 直属上级或部门经理可审批
141
+ ```
142
+
143
+ ### 3.3 技术实现架构
144
+
145
+ ```
146
+ 请求流程:
147
+ Client → API Gateway → Auth Filter → Controller → Service → DB
148
+
149
+ Auth Filter 处理流程:
150
+ 1. 提取 JWT 中的 user_id + tenant_id
151
+ 2. 从 Redis 缓存加载用户权限上下文(角色 + 部门 + 管辖范围)
152
+ 3. Layer 1: 验证 tenant_id(注入到所有 DB 查询)
153
+ 4. Layer 2: 匹配 RBAC 角色权限
154
+ 5. Layer 3: 评估 ABAC 策略(资源归属校验)
155
+ ```
156
+
157
+ #### 租户隔离实现
158
+
159
+ ```java
160
+ // MyBatis 拦截器:自动注入 tenant_id 条件
161
+ @Intercepts({
162
+ @Signature(type = Executor.class, method = "query", args = {
163
+ MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class
164
+ })
165
+ })
166
+ public class TenantInterceptor implements Interceptor {
167
+
168
+ @Override
169
+ public Object intercept(Invocation invocation) throws Throwable {
170
+ MappedStatement ms = (MappedStatement) invocation.getArgs()[0];
171
+ BoundSql boundSql = ms.getBoundSql(invocation.getArgs()[1]);
172
+
173
+ String originalSql = boundSql.getSql();
174
+ Long tenantId = TenantContext.getCurrentTenantId();
175
+
176
+ if (tenantId == null) {
177
+ throw new SecurityException("Tenant context is missing");
178
+ }
179
+
180
+ // 自动追加 tenant_id 条件
181
+ String newSql = addTenantCondition(originalSql, tenantId);
182
+ // ... 反射替换 SQL
183
+ return invocation.proceed();
184
+ }
185
+ }
186
+ ```
187
+
188
+ #### 资源归属校验注解
189
+
190
+ ```java
191
+ // 声明式资源归属校验
192
+ @RestController
193
+ @RequestMapping("/api/v1/salary")
194
+ public class SalaryController {
195
+
196
+ @GetMapping("/{employeeId}")
197
+ @RequirePermission(resource = "salary", action = "read")
198
+ @OwnershipCheck(
199
+ resourceType = "employee",
200
+ resourceIdParam = "employeeId",
201
+ rules = {
202
+ @Rule(role = "employee", condition = "self"),
203
+ @Rule(role = "hr_manager", condition = "managed_department"),
204
+ @Rule(role = "company_admin", condition = "same_tenant")
205
+ }
206
+ )
207
+ public ResponseEntity<SalaryDTO> getSalary(
208
+ @PathVariable Long employeeId,
209
+ @AuthUser UserContext user) {
210
+ return ResponseEntity.ok(salaryService.getByEmployeeId(employeeId));
211
+ }
212
+ }
213
+ ```
214
+
215
+ #### 权限上下文缓存
216
+
217
+ ```java
218
+ // 用户权限上下文(Redis 缓存,TTL 5 分钟)
219
+ public class UserPermissionContext {
220
+ private Long userId;
221
+ private Long tenantId;
222
+ private Long employeeId;
223
+ private Set<String> roles; // ["hr_manager", "employee"]
224
+ private Set<Long> managedDepartmentIds; // 管辖部门 ID
225
+ private Set<Long> directReportEmployeeIds; // 直属下属 ID
226
+ private Map<String, Set<String>> permissions; // resource -> [actions]
227
+
228
+ // 缓存 Key: perm:user:{userId}
229
+ // TTL: 5 分钟
230
+ // 失效时机:角色变更/部门调整时主动清除
231
+ }
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 四、实施步骤
237
+
238
+ ### 4.1 Phase 1:紧急修复(Week 1-2)
239
+
240
+ ```
241
+ Week 1: 修复 12 个已知漏洞
242
+ - 逐个接口添加资源归属校验
243
+ - 热修复方式上线,每个修复独立 PR + Review
244
+
245
+ Week 2: 租户隔离加固
246
+ - 上线 TenantInterceptor(MyBatis 拦截器)
247
+ - 全量 SQL 审计:确认所有查询都经过拦截器
248
+ - 补充 14 个被拦截器遗漏的原生 SQL 查询
249
+ ```
250
+
251
+ ### 4.2 Phase 2:权限框架搭建(Week 3-5)
252
+
253
+ ```
254
+ Week 3: 权限模型设计
255
+ - 梳理 120 个 API 端点的资源/操作/归属关系
256
+ - 设计权限策略 YAML 配置格式
257
+ - 实现策略引擎核心(规则解析 + 条件评估)
258
+
259
+ Week 4: 框架开发
260
+ - 开发 @RequirePermission 注解 + AOP 处理器
261
+ - 开发 @OwnershipCheck 注解 + 校验器
262
+ - 开发 UserPermissionContext + Redis 缓存
263
+ - 性能优化:批量预加载、布隆过滤器快速拒绝
264
+
265
+ Week 5: 框架测试
266
+ - 单元测试:200+ 测试用例覆盖各种权限组合
267
+ - 性能测试:权限校验增加延迟 < 8ms(P99)
268
+ ```
269
+
270
+ ### 4.3 Phase 3:全量接入(Week 6-8)
271
+
272
+ ```
273
+ Week 6: 核心模块接入(薪资/人事/考勤)
274
+ - 40 个 API 端点迁移到新权限框架
275
+ - 双重校验期:新旧权限逻辑同时运行,记录差异日志
276
+
277
+ Week 7: 扩展模块接入(绩效/招聘/通知)
278
+ - 50 个 API 端点迁移
279
+ - 清理旧权限代码
280
+
281
+ Week 8: 剩余模块 + 全量验证
282
+ - 30 个 API 端点迁移
283
+ - 全量回归测试
284
+ - 渗透测试验证
285
+ ```
286
+
287
+ ### 4.4 Phase 4:加固与审计(Week 9-10)
288
+
289
+ ```
290
+ Week 9: 审计系统
291
+ - 高风险操作审计日志:薪资查看/导出、人事变更、权限变更
292
+ - 异常访问告警:短时间内频繁访问不同员工数据
293
+ - 权限变更追踪:谁在什么时间修改了谁的角色
294
+
295
+ Week 10: 持续防护
296
+ - 权限配置管理界面:企业管理员可自定义部门间可见性
297
+ - 定期权限审查:每月自动生成权限审查报告
298
+ - CI 集成:新 API 端点必须声明权限注解,否则构建失败
299
+ ```
300
+
301
+ ---
302
+
303
+ ## 五、结果数据
304
+
305
+ ### 5.1 安全指标
306
+
307
+ | 指标 | 加固前 | 加固后 |
308
+ |------|--------|--------|
309
+ | IDOR 漏洞数 | 12 | 0 |
310
+ | 越权风险端点 | 38(渗透测试发现) | 0 |
311
+ | 租户隔离漏洞 | 3 | 0 |
312
+ | 权限绕过路径 | 5 | 0 |
313
+ | 权限代码覆盖率 | 40%(散落在 Controller) | 100%(框架化) |
314
+
315
+ ### 5.2 性能影响
316
+
317
+ | 指标 | 加固前 | 加固后 | 影响 |
318
+ |------|--------|--------|------|
319
+ | API P50 延迟 | 45ms | 48ms | +3ms |
320
+ | API P99 延迟 | 180ms | 188ms | +8ms |
321
+ | Redis 缓存命中率 | - | 94% | - |
322
+ | 权限校验耗时 P99 | - | 8ms | - |
323
+
324
+ ### 5.3 工程指标
325
+
326
+ | 指标 | 加固前 | 加固后 |
327
+ |------|--------|--------|
328
+ | 权限相关代码行数 | 散落 8,000+ 行 | 框架 2,500 行 + 策略配置 800 行 |
329
+ | 新端点接入权限时间 | 2 小时(手写逻辑) | 10 分钟(声明注解) |
330
+ | 权限变更部署时间 | 需重新部署应用 | 热更新策略配置 |
331
+ | 权限审计日志覆盖 | 0% | 100%(高风险操作) |
332
+
333
+ ### 5.4 业务影响
334
+
335
+ - 通过 ISO 27001 审计中的访问控制条款
336
+ - 2 家大型企业客户因权限管控能力提升而签署年度合同
337
+ - 客诉中"权限问题"类别从月均 8 次降到 1 次
338
+
339
+ ---
340
+
341
+ ## 六、经验教训
342
+
343
+ ### 6.1 做对的事
344
+
345
+ 1. **框架化而非逐个修补**:虽然 Phase 1 先做了紧急修复,但根本解决靠的是 Phase 2 的权限框架。如果只修补漏洞不建框架,未来每个新接口都可能引入新漏洞
346
+ 2. **声明式优于命令式**:注解 + 策略配置的方式让权限逻辑一目了然,Code Review 时可直接看到每个接口的权限要求
347
+ 3. **租户隔离下沉到数据层**:MyBatis 拦截器自动注入 tenant_id,比在每个 Service 方法中手动添加更可靠
348
+ 4. **双重校验过渡期**:新旧权限同时运行 2 周,捕获了 7 处迁移 Bug
349
+ 5. **CI 强制检查**:新接口没有权限注解就构建失败,从根源上杜绝了遗漏
350
+
351
+ ### 6.2 做错的事
352
+
353
+ 1. **初期低估了权限场景复杂度**:HR 场景的权限关系比预期复杂(例如:虚线汇报、兼职、代理审批),策略引擎设计时未充分考虑
354
+ 2. **缓存失效策略不完善**:角色变更后缓存 5 分钟才过期,导致权限变更不即时生效。后来改为变更时主动清除缓存
355
+ 3. **审计日志量低估**:全量审计导致日志量激增 10 倍,紧急调整为只审计高风险操作
356
+
357
+ ### 6.3 关键认知
358
+
359
+ - 授权和认证必须分层设计:认证(你是谁)→ 角色权限(你能做什么)→ 资源归属(你能访问哪些数据)
360
+ - RBAC 不够用的时候不要硬扩角色数量,引入 ABAC 做属性级控制
361
+ - 权限改造不是一次性项目,需要建立持续的权限审查和漏洞检测机制
362
+ - 默认拒绝(deny by default)必须是权限框架的基本原则
363
+
364
+ ---
365
+
366
+ ## Agent Checklist
367
+
368
+ 在 AI Agent 辅助执行权限体系加固时,应逐项确认:
369
+
370
+ - [ ] **权限清单**:是否梳理了所有 API 端点的资源/操作/归属关系
371
+ - [ ] **租户隔离**:多租户系统是否在数据层强制隔离(而非仅靠前端传参)
372
+ - [ ] **IDOR 检测**:是否对所有带资源 ID 参数的端点进行了越权测试
373
+ - [ ] **默认拒绝**:权限框架是否基于 deny-by-default 原则
374
+ - [ ] **角色粒度**:角色定义是否足够细,是否需要引入 ABAC 属性控制
375
+ - [ ] **资源归属**:是否有独立的资源归属校验层(不仅仅靠角色)
376
+ - [ ] **缓存策略**:权限缓存的 TTL 和主动失效机制是否合理
377
+ - [ ] **性能测试**:权限校验对接口延迟的影响是否在可接受范围
378
+ - [ ] **审计日志**:高风险操作是否记录了完整的审计日志
379
+ - [ ] **声明式注解**:新接口是否必须声明权限注解(CI 强制检查)
380
+ - [ ] **渗透验证**:加固后是否通过了渗透测试验证
381
+ - [ ] **向下兼容**:现有用户的权限配置在迁移后是否保持一致
382
+ - [ ] **持续监控**:是否建立了异常访问模式的自动告警
383
+ - [ ] **定期审查**:是否有定期的权限审查机制和报告