@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,511 @@
1
+ ---
2
+ id: api-security-complete
3
+ title: API安全完整指南
4
+ domain: security
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [agent, api, checklist, complete, security, 实战代码示例, 常见陷阱, 最佳实践]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # API安全完整指南
12
+
13
+ ## 概述
14
+ API是现代应用的核心攻击面。本指南覆盖API认证、授权、限流、CORS、输入验证、HTTPS、API Gateway安全等完整防护体系,帮助团队构建安全的API服务。
15
+
16
+ ## 核心概念
17
+
18
+ ### 1. API安全层次模型
19
+ - **传输层**: HTTPS/TLS — 加密通信
20
+ - **认证层**: 验证调用者身份(API Key/OAuth2/JWT)
21
+ - **授权层**: 验证调用者权限(RBAC/ABAC/Scope)
22
+ - **输入层**: 验证请求数据(Schema验证/注入防护)
23
+ - **限流层**: 防止滥用(速率限制/配额)
24
+ - **审计层**: 记录所有操作(日志/审计追踪)
25
+
26
+ ### 2. OWASP API Security Top 10 (2023)
27
+ 1. **BOLA**: 对象级授权缺失(越权访问他人资源)
28
+ 2. **Broken Authentication**: 认证机制缺陷
29
+ 3. **Broken Object Property Level Authorization**: 属性级越权
30
+ 4. **Unrestricted Resource Consumption**: 无限制资源消耗
31
+ 5. **Broken Function Level Authorization**: 功能级越权
32
+ 6. **Unrestricted Access to Sensitive Business Flows**: 业务流程滥用
33
+ 7. **Server Side Request Forgery**: SSRF
34
+ 8. **Security Misconfiguration**: 安全配置错误
35
+ 9. **Improper Inventory Management**: API资产管理不当
36
+ 10. **Unsafe Consumption of APIs**: 不安全的API调用
37
+
38
+ ### 3. 认证方案安全等级
39
+ | 方案 | 安全性 | 适用场景 | 注意事项 |
40
+ |------|--------|----------|----------|
41
+ | API Key | 低 | 服务间调用/简单集成 | 不要在URL中传递 |
42
+ | Bearer Token(JWT) | 中 | SPA/移动端 | 短有效期+刷新 |
43
+ | OAuth2 | 高 | 第三方授权 | 使用PKCE |
44
+ | mTLS | 最高 | 服务间/零信任 | 证书管理复杂 |
45
+
46
+ ## 实战代码示例
47
+
48
+ ### 认证中间件
49
+
50
+ ```python
51
+ # FastAPI多层认证
52
+ from fastapi import FastAPI, Depends, HTTPException, Security
53
+ from fastapi.security import HTTPBearer, APIKeyHeader, OAuth2PasswordBearer
54
+ from jose import jwt, JWTError
55
+
56
+ app = FastAPI()
57
+
58
+ # API Key认证
59
+ api_key_header = APIKeyHeader(name="X-API-Key")
60
+
61
+ async def verify_api_key(api_key: str = Security(api_key_header)) -> str:
62
+ hashed = hashlib.sha256(api_key.encode()).hexdigest()
63
+ client = await get_client_by_key_hash(hashed)
64
+ if not client or not client.is_active:
65
+ raise HTTPException(status_code=401, detail="Invalid API key")
66
+ return client.id
67
+
68
+ # JWT认证
69
+ bearer_scheme = HTTPBearer()
70
+
71
+ async def verify_jwt(credentials = Security(bearer_scheme)) -> dict:
72
+ token = credentials.credentials
73
+ try:
74
+ payload = jwt.decode(
75
+ token,
76
+ PUBLIC_KEY,
77
+ algorithms=["RS256"],
78
+ audience="https://api.example.com",
79
+ issuer="https://auth.example.com",
80
+ )
81
+ return payload
82
+ except JWTError as e:
83
+ raise HTTPException(status_code=401, detail="Invalid token")
84
+
85
+ # 组合认证(API Key或JWT)
86
+ async def authenticate(
87
+ request: Request,
88
+ api_key: str = Security(api_key_header, auto_error=False),
89
+ jwt_token = Security(bearer_scheme, auto_error=False),
90
+ ) -> AuthContext:
91
+ if api_key:
92
+ client_id = await verify_api_key(api_key)
93
+ return AuthContext(type="api_key", client_id=client_id)
94
+ if jwt_token:
95
+ payload = await verify_jwt(jwt_token)
96
+ return AuthContext(type="jwt", user_id=payload["sub"], scopes=payload.get("scope", []))
97
+ raise HTTPException(status_code=401, detail="Authentication required")
98
+ ```
99
+
100
+ ### 授权控制(RBAC/ABAC)
101
+
102
+ ```python
103
+ # 基于角色和权限的授权
104
+ from functools import wraps
105
+ from enum import Enum
106
+
107
+ class Permission(str, Enum):
108
+ READ_USERS = "users:read"
109
+ WRITE_USERS = "users:write"
110
+ DELETE_USERS = "users:delete"
111
+ READ_ORDERS = "orders:read"
112
+ MANAGE_ORDERS = "orders:manage"
113
+ ADMIN = "admin:*"
114
+
115
+ ROLE_PERMISSIONS = {
116
+ "viewer": [Permission.READ_USERS, Permission.READ_ORDERS],
117
+ "editor": [Permission.READ_USERS, Permission.WRITE_USERS, Permission.READ_ORDERS],
118
+ "admin": [Permission.ADMIN],
119
+ }
120
+
121
+ def require_permissions(*permissions: Permission):
122
+ """权限检查装饰器"""
123
+ def decorator(func):
124
+ @wraps(func)
125
+ async def wrapper(*args, auth: AuthContext = Depends(authenticate), **kwargs):
126
+ user_permissions = get_user_permissions(auth)
127
+ if Permission.ADMIN in user_permissions:
128
+ return await func(*args, auth=auth, **kwargs)
129
+ for perm in permissions:
130
+ if perm not in user_permissions:
131
+ raise HTTPException(
132
+ status_code=403,
133
+ detail=f"Missing permission: {perm}",
134
+ )
135
+ return await func(*args, auth=auth, **kwargs)
136
+ return wrapper
137
+ return decorator
138
+
139
+ # 对象级授权(防BOLA)
140
+ @app.get("/api/orders/{order_id}")
141
+ @require_permissions(Permission.READ_ORDERS)
142
+ async def get_order(order_id: int, auth: AuthContext = Depends(authenticate)):
143
+ order = await order_repo.get(order_id)
144
+ if not order:
145
+ raise HTTPException(404, "Order not found")
146
+ # 关键: 验证资源归属
147
+ if auth.type != "admin" and order.user_id != auth.user_id:
148
+ raise HTTPException(403, "Access denied")
149
+ return order
150
+ ```
151
+
152
+ ### 速率限制
153
+
154
+ ```python
155
+ # Redis滑动窗口限流
156
+ from redis.asyncio import Redis
157
+ import time
158
+
159
+ class RateLimiter:
160
+ def __init__(self, redis: Redis):
161
+ self.redis = redis
162
+
163
+ async def is_allowed(
164
+ self,
165
+ key: str,
166
+ max_requests: int,
167
+ window_seconds: int,
168
+ ) -> tuple[bool, dict]:
169
+ """滑动窗口限流"""
170
+ now = time.time()
171
+ window_start = now - window_seconds
172
+ pipe = self.redis.pipeline()
173
+
174
+ # 清除窗口外的请求记录
175
+ pipe.zremrangebyscore(key, 0, window_start)
176
+ # 统计当前窗口请求数
177
+ pipe.zcard(key)
178
+ # 添加当前请求
179
+ pipe.zadd(key, {str(now): now})
180
+ # 设置过期时间
181
+ pipe.expire(key, window_seconds)
182
+
183
+ results = await pipe.execute()
184
+ current_count = results[1]
185
+
186
+ headers = {
187
+ "X-RateLimit-Limit": str(max_requests),
188
+ "X-RateLimit-Remaining": str(max(0, max_requests - current_count - 1)),
189
+ "X-RateLimit-Reset": str(int(now + window_seconds)),
190
+ }
191
+
192
+ if current_count >= max_requests:
193
+ return False, headers
194
+ return True, headers
195
+
196
+ # 限流中间件
197
+ rate_limiter = RateLimiter(redis)
198
+
199
+ RATE_LIMITS = {
200
+ "default": {"max_requests": 100, "window": 60},
201
+ "auth": {"max_requests": 5, "window": 60}, # 登录限制更严格
202
+ "upload": {"max_requests": 10, "window": 3600}, # 上传限制
203
+ }
204
+
205
+ class RateLimitMiddleware(BaseHTTPMiddleware):
206
+ async def dispatch(self, request, call_next):
207
+ # 确定限流规则
208
+ path = request.url.path
209
+ if path.startswith("/auth"):
210
+ rule = RATE_LIMITS["auth"]
211
+ elif path.startswith("/upload"):
212
+ rule = RATE_LIMITS["upload"]
213
+ else:
214
+ rule = RATE_LIMITS["default"]
215
+
216
+ # 限流Key: IP + 路径前缀
217
+ client_ip = request.client.host
218
+ key = f"ratelimit:{client_ip}:{path.split('/')[1]}"
219
+
220
+ allowed, headers = await rate_limiter.is_allowed(
221
+ key, rule["max_requests"], rule["window"]
222
+ )
223
+
224
+ if not allowed:
225
+ return JSONResponse(
226
+ status_code=429,
227
+ content={"error": "Rate limit exceeded"},
228
+ headers=headers,
229
+ )
230
+
231
+ response = await call_next(request)
232
+ for k, v in headers.items():
233
+ response.headers[k] = v
234
+ return response
235
+ ```
236
+
237
+ ### 输入验证与注入防护
238
+
239
+ ```python
240
+ # Pydantic严格输入验证
241
+ from pydantic import BaseModel, validator, Field, EmailStr
242
+ from typing import Annotated
243
+ import re
244
+ import bleach
245
+
246
+ class CreateUserRequest(BaseModel):
247
+ name: Annotated[str, Field(min_length=1, max_length=100, pattern=r'^[\w\s\-]+$')]
248
+ email: EmailStr
249
+ age: Annotated[int, Field(ge=0, le=150)]
250
+ bio: Annotated[str, Field(max_length=1000)] = ""
251
+ website: Annotated[str, Field(max_length=200)] = ""
252
+
253
+ @validator("name")
254
+ def sanitize_name(cls, v):
255
+ # 清除HTML标签
256
+ return bleach.clean(v, tags=[], strip=True)
257
+
258
+ @validator("bio")
259
+ def sanitize_bio(cls, v):
260
+ # 只允许安全的HTML标签
261
+ return bleach.clean(v, tags=["b", "i", "p", "br"], strip=True)
262
+
263
+ @validator("website")
264
+ def validate_website(cls, v):
265
+ if v and not v.startswith(("https://", "http://")):
266
+ raise ValueError("Website must start with http:// or https://")
267
+ return v
268
+
269
+ # SQL注入防护 — 始终使用参数化查询
270
+ async def search_users(query: str):
271
+ # 错误: f"SELECT * FROM users WHERE name LIKE '%{query}%'"
272
+ # 正确: 参数化
273
+ result = await db.execute(
274
+ text("SELECT * FROM users WHERE name LIKE :query"),
275
+ {"query": f"%{query}%"},
276
+ )
277
+ return result.fetchall()
278
+ ```
279
+
280
+ ### CORS安全配置
281
+
282
+ ```python
283
+ # 严格的CORS配置
284
+ from fastapi.middleware.cors import CORSMiddleware
285
+
286
+ # 生产环境: 明确指定允许的域名
287
+ ALLOWED_ORIGINS = [
288
+ "https://app.example.com",
289
+ "https://admin.example.com",
290
+ ]
291
+
292
+ app.add_middleware(
293
+ CORSMiddleware,
294
+ allow_origins=ALLOWED_ORIGINS, # 不要使用["*"]
295
+ allow_credentials=True,
296
+ allow_methods=["GET", "POST", "PUT", "DELETE"],
297
+ allow_headers=["Authorization", "Content-Type", "X-Request-ID"],
298
+ expose_headers=["X-RateLimit-Limit", "X-RateLimit-Remaining"],
299
+ max_age=3600, # 预检缓存1小时
300
+ )
301
+ ```
302
+
303
+ ### 安全响应头
304
+
305
+ ```python
306
+ # 安全头中间件
307
+ class SecurityHeadersMiddleware(BaseHTTPMiddleware):
308
+ async def dispatch(self, request, call_next):
309
+ response = await call_next(request)
310
+
311
+ response.headers["X-Content-Type-Options"] = "nosniff"
312
+ response.headers["X-Frame-Options"] = "DENY"
313
+ response.headers["X-XSS-Protection"] = "0" # 现代浏览器建议关闭
314
+ response.headers["Strict-Transport-Security"] = "max-age=31536000; includeSubDomains"
315
+ response.headers["Content-Security-Policy"] = "default-src 'self'"
316
+ response.headers["Referrer-Policy"] = "strict-origin-when-cross-origin"
317
+ response.headers["Permissions-Policy"] = "camera=(), microphone=(), geolocation=()"
318
+
319
+ # 移除泄露信息的头
320
+ response.headers.pop("Server", None)
321
+ response.headers.pop("X-Powered-By", None)
322
+
323
+ return response
324
+ ```
325
+
326
+ ### API Gateway安全(nginx示例)
327
+
328
+ ```nginx
329
+ # nginx API Gateway安全配置
330
+ upstream api_backend {
331
+ server api-1:8080;
332
+ server api-2:8080;
333
+ }
334
+
335
+ # 限流配置
336
+ limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
337
+ limit_req_zone $binary_remote_addr zone=auth_limit:10m rate=3r/m;
338
+ limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
339
+
340
+ server {
341
+ listen 443 ssl http2;
342
+ server_name api.example.com;
343
+
344
+ # TLS配置
345
+ ssl_certificate /etc/ssl/certs/api.crt;
346
+ ssl_certificate_key /etc/ssl/private/api.key;
347
+ ssl_protocols TLSv1.2 TLSv1.3;
348
+ ssl_ciphers HIGH:!aNULL:!MD5;
349
+ ssl_prefer_server_ciphers on;
350
+
351
+ # 请求体大小限制
352
+ client_max_body_size 10m;
353
+ client_body_timeout 10s;
354
+ client_header_timeout 10s;
355
+
356
+ # 安全头
357
+ add_header X-Content-Type-Options "nosniff" always;
358
+ add_header X-Frame-Options "DENY" always;
359
+ add_header Strict-Transport-Security "max-age=31536000" always;
360
+
361
+ # API路由 — 通用限流
362
+ location /api/ {
363
+ limit_req zone=api_limit burst=20 nodelay;
364
+ limit_conn conn_limit 10;
365
+
366
+ proxy_pass http://api_backend;
367
+ proxy_set_header Host $host;
368
+ proxy_set_header X-Real-IP $remote_addr;
369
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
370
+ proxy_set_header X-Forwarded-Proto $scheme;
371
+
372
+ # 超时
373
+ proxy_connect_timeout 5s;
374
+ proxy_read_timeout 30s;
375
+ proxy_send_timeout 10s;
376
+ }
377
+
378
+ # 认证端点 — 更严格限流
379
+ location /auth/ {
380
+ limit_req zone=auth_limit burst=5 nodelay;
381
+ proxy_pass http://api_backend;
382
+ }
383
+
384
+ # 隐藏内部端点
385
+ location /internal/ {
386
+ deny all;
387
+ return 404;
388
+ }
389
+
390
+ # 健康检查不限流
391
+ location /health {
392
+ proxy_pass http://api_backend;
393
+ }
394
+ }
395
+ ```
396
+
397
+ ## 最佳实践
398
+
399
+ ### 1. 认证安全
400
+ - API Key通过Header传递,不放URL(日志泄露)
401
+ - JWT使用RS256(非对称),不用HS256
402
+ - Token有效期: Access 15min, Refresh 7天
403
+ - 实现Token黑名单(登出/异常)
404
+
405
+ ### 2. 授权安全
406
+ - 每个端点都要验证权限(默认拒绝)
407
+ - 对象级授权: 检查资源归属(防BOLA)
408
+ - 属性级授权: 不同角色返回不同字段
409
+ - 使用中间件统一授权,避免遗漏
410
+
411
+ ### 3. 输入安全
412
+ - 使用Schema验证(Pydantic/Joi/Zod)
413
+ - 限制请求体大小
414
+ - 参数化SQL查询(永远不拼接)
415
+ - HTML输出编码(防XSS)
416
+ - 文件上传: 验证类型/大小/内容
417
+
418
+ ### 4. 传输安全
419
+ - 全链路HTTPS(包括内部服务)
420
+ - HSTS头强制HTTPS
421
+ - TLS 1.2+,禁用旧协议
422
+ - 证书自动续期(Let's Encrypt/cert-manager)
423
+
424
+ ### 5. 审计与监控
425
+ - 记录所有认证事件(成功/失败)
426
+ - 记录敏感操作(删除/修改/导出)
427
+ - 监控异常模式(暴力破解/扫描)
428
+ - 告警: 高频401/403/429
429
+
430
+ ## 常见陷阱
431
+
432
+ ### 陷阱1: BOLA(对象级越权)
433
+ ```python
434
+ # 错误: 只验证了认证,没验证资源归属
435
+ @app.get("/api/users/{user_id}/orders")
436
+ async def get_orders(user_id: int, auth = Depends(authenticate)):
437
+ return await order_repo.get_by_user(user_id) # 任何人都能查看!
438
+
439
+ # 正确: 验证资源归属
440
+ @app.get("/api/users/{user_id}/orders")
441
+ async def get_orders(user_id: int, auth = Depends(authenticate)):
442
+ if auth.user_id != user_id and not auth.is_admin:
443
+ raise HTTPException(403, "Access denied")
444
+ return await order_repo.get_by_user(user_id)
445
+ ```
446
+
447
+ ### 陷阱2: 批量端点遗漏权限检查
448
+ ```python
449
+ # 错误: 批量删除没有逐条检查权限
450
+ @app.delete("/api/orders/batch")
451
+ async def batch_delete(order_ids: list[int], auth = Depends(authenticate)):
452
+ await order_repo.delete_many(order_ids) # 可能删除别人的订单!
453
+
454
+ # 正确: 验证每个资源的归属
455
+ @app.delete("/api/orders/batch")
456
+ async def batch_delete(order_ids: list[int], auth = Depends(authenticate)):
457
+ orders = await order_repo.get_many(order_ids)
458
+ for order in orders:
459
+ if order.user_id != auth.user_id:
460
+ raise HTTPException(403, f"No access to order {order.id}")
461
+ await order_repo.delete_many(order_ids)
462
+ ```
463
+
464
+ ### 陷阱3: 错误响应泄露信息
465
+ ```python
466
+ # 错误: 暴露内部实现
467
+ except DatabaseError as e:
468
+ raise HTTPException(500, detail=str(e)) # 泄露SQL/表结构
469
+
470
+ # 正确: 统一错误格式,隐藏内部细节
471
+ except DatabaseError as e:
472
+ logger.error("Database error", error=str(e), request_id=request_id)
473
+ raise HTTPException(500, detail="Internal server error")
474
+ ```
475
+
476
+ ### 陷阱4: CORS配置过宽
477
+ ```python
478
+ # 错误
479
+ allow_origins=["*"],
480
+ allow_credentials=True, # 与*冲突且不安全!
481
+
482
+ # 正确
483
+ allow_origins=["https://app.example.com"],
484
+ allow_credentials=True,
485
+ ```
486
+
487
+ ## Agent Checklist
488
+
489
+ ### 认证与授权
490
+ - [ ] 所有端点都要求认证(除公开端点)
491
+ - [ ] 对象级授权已实现(检查资源归属)
492
+ - [ ] 功能级授权已实现(角色/权限检查)
493
+ - [ ] 认证失败统一返回401,授权失败返回403
494
+
495
+ ### 输入验证
496
+ - [ ] 所有输入使用Schema验证
497
+ - [ ] SQL查询使用参数化
498
+ - [ ] 请求体大小已限制
499
+ - [ ] 文件上传有类型和大小验证
500
+
501
+ ### 传输与配置
502
+ - [ ] 全链路HTTPS
503
+ - [ ] CORS限制到具体域名
504
+ - [ ] 安全响应头已配置
505
+ - [ ] 敏感头信息已移除(Server等)
506
+
507
+ ### 限流与监控
508
+ - [ ] API限流已配置
509
+ - [ ] 认证端点有更严格的限流
510
+ - [ ] 认证事件有审计日志
511
+ - [ ] 异常访问模式有告警