@wazir-dev/cli 1.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 (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. package/workflows/verify.md +37 -0
@@ -0,0 +1,700 @@
1
+ # Secure Software Development Lifecycle (SDLC)
2
+
3
+ > Integrating security into every SDLC phase — requirements through operations.
4
+ > Covers shift-left security, SAST/DAST/SCA tooling, CI/CD pipeline integration,
5
+ > threat modeling, and compliance with NIST SSDF, OWASP SAMM, and Microsoft SDL.
6
+
7
+ ---
8
+
9
+ ## 1. Threat Landscape
10
+
11
+ ### The Cost of Late Security Fixes
12
+
13
+ Security defects discovered late cost exponentially more to remediate:
14
+
15
+ | Discovery Phase | Relative Cost Multiplier | Example Cost per Defect |
16
+ |----------------------|--------------------------|-------------------------|
17
+ | Requirements | 1x | $100–$500 |
18
+ | Design | 3–6x | $500–$3,000 |
19
+ | Implementation | 10x | $1,000–$5,000 |
20
+ | Testing | 15–40x | $5,000–$25,000 |
21
+ | Production | 30–100x | $10,000–$100,000+ |
22
+ | Post-breach | 640x+ | $4.44M average (2025) |
23
+
24
+ **IBM/Ponemon 2025 Cost of a Data Breach Report:**
25
+ - Global average breach cost: **$4.44M** (2025); U.S. average: **$10.22M** (all-time high)
26
+ - Average time to identify and contain: **241 days** (nine-year low)
27
+ - Detection/escalation costs: **$1.47M** average — largest cost driver four years running
28
+ - 97% of AI-related breach victims lacked proper access controls
29
+ - Study: 600 organizations, 17 industries, 16 countries (IBM/Ponemon 2025)
30
+
31
+ ### Breaches From Skipping Security Phases
32
+
33
+ | Incident | Root Cause (Skipped Phase) | Impact |
34
+ |------------------------------|-------------------------------------------|---------------------------------|
35
+ | Equifax (2017) | No SCA — unpatched Apache Struts CVE | 147M records, $700M settlement |
36
+ | SolarWinds (2020) | No supply chain security, weak build CI | 18,000 orgs compromised |
37
+ | Log4Shell (2021) | No dependency threat modeling | Millions of systems vulnerable |
38
+ | MOVEit Transfer (2023) | No DAST on file transfer endpoints | 2,500+ orgs, 90M individuals |
39
+ | XZ Utils backdoor (2024) | No supply chain integrity verification | Near-miss on global SSH infra |
40
+ | npm Shai Hulud attack (2025) | No behavioral SCA / supply chain monitor | Malicious packages in ecosystem |
41
+
42
+ ---
43
+
44
+ ## 2. Core Security Principles
45
+
46
+ ### Shift-Left Security
47
+
48
+ Move security as early as possible. Instead of a gate before release, embed it
49
+ into every phase starting with requirements:
50
+
51
+ ```
52
+ Traditional: [Dev] → [Dev] → [Dev] → [Test] → [SECURITY] → [Release]
53
+ Shift-Left: [SEC+Dev] → [SEC+Dev] → [SEC+Test] → [SEC+Deploy] → [SEC+Ops]
54
+ ```
55
+
56
+ ### Security by Design
57
+
58
+ Security is an architectural property, not a bolt-on. Every design decision must consider:
59
+ - **Least privilege** — minimum necessary permissions
60
+ - **Fail-safe defaults** — deny by default, allow explicitly
61
+ - **Complete mediation** — verify every access attempt
62
+ - **Separation of duties** — no single point of compromise
63
+ - **Economy of mechanism** — simple, auditable designs
64
+
65
+ ### Defense in Depth at Every Phase
66
+
67
+ | Phase | Primary Control | Secondary Control | Tertiary Control |
68
+ |-----------------|------------------------------|--------------------------------|---------------------------|
69
+ | Requirements | Security requirements | Abuse case analysis | Compliance mapping |
70
+ | Design | Threat modeling | Security architecture review | Attack surface analysis |
71
+ | Implementation | SAST in IDE | Secure coding standards | Peer code review |
72
+ | Build | SAST in CI | SCA dependency scan | Secret scanning |
73
+ | Test | DAST on staging | Penetration testing | Fuzz testing |
74
+ | Deploy | IaC scanning | Container image scanning | Configuration validation |
75
+ | Operations | Runtime protection (RASP) | WAF / API gateway | SIEM / monitoring |
76
+
77
+ ### Security as Code
78
+
79
+ Codify security policies so they are version-controlled, reviewable via pull
80
+ requests, testable with unit tests, automated in CI/CD, and reproducible.
81
+
82
+ ### Continuous Validation
83
+
84
+ - Automated scans on every commit (SAST, SCA, secrets)
85
+ - Dynamic scans on every staging deployment (DAST)
86
+ - Periodic penetration tests (quarterly or after major changes)
87
+ - Continuous production monitoring (SIEM, anomaly detection)
88
+ - Regular dependency updates and vulnerability patching
89
+
90
+ ### Threat Modeling Before Coding
91
+
92
+ 1. **Decompose** — components and data flows
93
+ 2. **Identify** — assets, entry points, trust boundaries
94
+ 3. **Enumerate** — threats using STRIDE or LINDDUN
95
+ 4. **Rate** — risk using DREAD or CVSS
96
+ 5. **Mitigate** — specific, testable security controls
97
+ 6. **Validate** — mitigations through testing
98
+
99
+ ---
100
+
101
+ ## 3. Implementation Patterns
102
+
103
+ ### Security Requirements Gathering
104
+
105
+ Every feature spec should include security requirements:
106
+
107
+ ```markdown
108
+ ## Feature: User Profile Update API
109
+ ### Security Requirements
110
+ - [ ] Authentication: Require valid JWT with `profile:write` scope
111
+ - [ ] Authorization: Users can only modify own profile (IDOR prevention)
112
+ - [ ] Input validation: Display name max 100 chars, alphanumeric + spaces
113
+ - [ ] Rate limiting: Max 10 updates per hour per user
114
+ - [ ] Audit logging: Log all changes with before/after values
115
+ - [ ] Data classification: Email is PII — encrypt at rest, mask in logs
116
+ ```
117
+
118
+ ### Threat Modeling in Design (STRIDE)
119
+
120
+ | Category | Question | Example Threat |
121
+ |----------------------------|---------------------------------------------------|-----------------------------------------|
122
+ | **S**poofing | Can attacker impersonate a user or component? | Stolen JWT used from different IP |
123
+ | **T**ampering | Can data be modified in transit or at rest? | MITM on API calls |
124
+ | **R**epudiation | Can a user deny performing an action? | No audit log for financial transactions |
125
+ | **I**nformation Disclosure | Can sensitive data leak? | Stack traces in error responses |
126
+ | **D**enial of Service | Can the system be made unavailable? | Unbounded query on search endpoint |
127
+ | **E**levation of Privilege | Can a user gain unauthorized access? | Mass assignment on user role field |
128
+
129
+ ### SAST in CI
130
+
131
+ **Semgrep** — 20K–100K loc/sec, custom rules look like source code:
132
+ ```yaml
133
+ # .semgrep.yml
134
+ rules:
135
+ - id: hardcoded-jwt-secret
136
+ patterns:
137
+ - pattern: jwt.sign($PAYLOAD, "...")
138
+ message: "JWT secret must come from environment variables"
139
+ severity: ERROR
140
+ languages: [javascript, typescript]
141
+
142
+ - id: sql-injection-template-literal
143
+ patterns:
144
+ - pattern: $DB.query(`... ${$USER_INPUT} ...`)
145
+ message: "Use parameterized queries instead of template literals"
146
+ severity: ERROR
147
+ languages: [javascript, typescript]
148
+ ```
149
+
150
+ **CodeQL** — 88% accuracy, 5% false positive rate. Native to GitHub Advanced
151
+ Security. Excels at taint tracking (source-to-sink). Slower but deeper
152
+ inter-procedural analysis.
153
+
154
+ **SonarQube** — ~0.4K loc/sec. Broader scope: code smells, duplication,
155
+ coverage, technical debt. Quality gates can block merges below thresholds.
156
+
157
+ ### DAST in Staging
158
+
159
+ **OWASP ZAP** automation framework configuration:
160
+ ```yaml
161
+ # zap-config.yaml
162
+ env:
163
+ contexts:
164
+ - name: "staging-app"
165
+ urls: ["https://staging.example.com"]
166
+ authentication:
167
+ method: "json"
168
+ parameters:
169
+ loginRequestUrl: "https://staging.example.com/api/auth/login"
170
+ loginRequestBody: '{"email":"{%username%}","password":"{%password%}"}'
171
+ jobs:
172
+ - type: spider
173
+ parameters: { maxDuration: 5, maxDepth: 10 }
174
+ - type: passiveScan-wait
175
+ parameters: { maxDuration: 10 }
176
+ - type: activeScan
177
+ parameters: { maxRuleDurationInMins: 5 }
178
+ - type: report
179
+ parameters: { template: "sarif-json", reportDir: "/zap/reports" }
180
+ risks: [high, medium]
181
+ ```
182
+
183
+ ### SCA — Three-Layer Dependency Security
184
+
185
+ | Layer | Purpose | Tools | Coverage |
186
+ |-------|------------------------------|--------------------------|------------------------------|
187
+ | 1 | Dependency update automation | Dependabot, Renovate | Keeps versions current |
188
+ | 2 | CVE vulnerability scanning | Snyk, npm audit, Trivy | Known vulnerability database |
189
+ | 3 | Malicious package detection | Socket.dev, Phylum | Behavioral / supply chain |
190
+
191
+ No single tool covers all three layers — build a stack, not buy a solution.
192
+
193
+ ### Security Code Review Checklist
194
+
195
+ ```markdown
196
+ ### Authentication & Authorization
197
+ - [ ] All endpoints require authentication (unless explicitly public)
198
+ - [ ] Authorization checks verify resource ownership (no IDOR)
199
+
200
+ ### Input Validation
201
+ - [ ] All user input validated server-side
202
+ - [ ] SQL uses parameterized queries; output encoding for context
203
+
204
+ ### Data Handling
205
+ - [ ] No secrets in code; PII masked in logs
206
+ - [ ] Sensitive data encrypted at rest and in transit
207
+
208
+ ### Business Logic
209
+ - [ ] Race conditions considered; rate limiting on sensitive endpoints
210
+ ```
211
+
212
+ ### Penetration Testing Cadence
213
+
214
+ | Trigger | Scope | Type |
215
+ |--------------------------|--------------------------|--------------------|
216
+ | Quarterly schedule | Full application | External pen test |
217
+ | Major feature release | New feature + interfaces | Targeted pen test |
218
+ | Infrastructure change | Network / cloud config | Infrastructure |
219
+ | Post-incident | Attack vector + surface | Focused assessment |
220
+
221
+ ### Security Champions Program
222
+
223
+ 1. **Select** one volunteer developer per team
224
+ 2. **Train** via OWASP, SANS, vendor certifications
225
+ 3. **Empower** with authority to flag/block security issues
226
+ 4. **Connect** through cross-team community of practice
227
+ 5. **Rotate** annually to spread knowledge
228
+
229
+ ---
230
+
231
+ ## 4. Vulnerability Catalog
232
+
233
+ Process-level vulnerabilities introducing systemic security risk:
234
+
235
+ | # | Vulnerability | Risk | Mitigation |
236
+ |----|--------------------------------------|----------|-----------------------------------------------------|
237
+ | 1 | Missing threat model | Critical | Mandatory threat model in design review |
238
+ | 2 | No SAST in CI pipeline | High | SAST gate on every PR (Semgrep/CodeQL) |
239
+ | 3 | Insecure defaults in frameworks | High | Hardened base configs, env-aware defaults |
240
+ | 4 | Missing security requirements | Critical | Security requirements template per feature |
241
+ | 5 | Security as afterthought | Critical | Security review as design phase gate |
242
+ | 6 | No SCA / dependency scanning | High | Automated SCA with blocking on high/critical |
243
+ | 7 | No secret scanning in pipeline | Critical | Pre-commit hooks + CI secret scanning |
244
+ | 8 | Missing security regression tests | Medium | Security test suite on every build |
245
+ | 9 | No DAST on staging | High | Automated DAST in staging pipeline |
246
+ | 10 | Shared secrets across environments | High | Separate secrets per env, vault-based management |
247
+ | 11 | No security training for developers | Medium | Annual secure coding training + champions |
248
+ | 12 | Manual security reviews only | Medium | Automated tooling + manual review for high-risk |
249
+ | 13 | No IaC scanning | High | Checkov/tfsec in CI for all infrastructure code |
250
+ | 14 | Missing vulnerability disclosure | Medium | Published security.txt + responsible disclosure |
251
+ | 15 | No container image scanning | High | Trivy/Grype scan in build pipeline |
252
+
253
+ ---
254
+
255
+ ## 5. Security Checklist
256
+
257
+ ### Requirements Phase
258
+ - [ ] Security requirements documented for every feature
259
+ - [ ] Abuse cases and misuse cases defined
260
+ - [ ] Data classification completed (public, internal, confidential, restricted)
261
+ - [ ] Compliance requirements mapped (GDPR, PCI-DSS, HIPAA, SOC2)
262
+ - [ ] Third-party integration security requirements defined
263
+
264
+ ### Design Phase
265
+ - [ ] Threat model created using STRIDE or equivalent
266
+ - [ ] Security architecture review completed and signed off
267
+ - [ ] Attack surface analysis documented
268
+ - [ ] Auth model designed; data flow diagrams include encryption boundaries
269
+ - [ ] Secure defaults defined for all configuration parameters
270
+
271
+ ### Implementation Phase
272
+ - [ ] Secure coding standards followed (OWASP Secure Coding Practices)
273
+ - [ ] SAST integrated in IDE for real-time feedback
274
+ - [ ] Pre-commit hooks for secret scanning
275
+ - [ ] Parameterized queries for all database operations
276
+ - [ ] Server-side input validation; context-appropriate output encoding
277
+ - [ ] Error handling does not leak sensitive information
278
+ - [ ] Security events logged; sensitive data excluded from logs
279
+
280
+ ### Testing Phase
281
+ - [ ] SAST passes with zero high/critical findings
282
+ - [ ] SCA — no high/critical CVEs in dependencies
283
+ - [ ] DAST on staging (authenticated + unauthenticated)
284
+ - [ ] Security regression tests pass
285
+ - [ ] Penetration test scheduled for major releases
286
+ - [ ] Fuzz testing on parsing and input-handling code
287
+
288
+ ### Deployment Phase
289
+ - [ ] IaC security scan passes (Checkov, tfsec)
290
+ - [ ] Container images scanned — no critical base image vulnerabilities
291
+ - [ ] Secrets injected at runtime, not baked into images
292
+ - [ ] TLS with strong ciphers; security headers configured
293
+ - [ ] Network segmentation enforced
294
+
295
+ ### Operations Phase
296
+ - [ ] Security monitoring/alerting active (SIEM)
297
+ - [ ] Incident response plan documented and tested
298
+ - [ ] Vulnerability disclosure policy published
299
+ - [ ] Dependency update automation enabled
300
+ - [ ] Access reviews conducted quarterly
301
+
302
+ ---
303
+
304
+ ## 6. Tools & Automation
305
+
306
+ ### SAST
307
+
308
+ | Tool | Speed | Languages | Best For |
309
+ |-------------|--------------------|-----------|-----------------------------------|
310
+ | Semgrep | 20K–100K loc/sec | 30+ | Fast PR scanning, custom rules |
311
+ | CodeQL | Slower (deep) | 12 | Taint analysis, semantic bugs |
312
+ | SonarQube | ~0.4K loc/sec | 30+ | Code quality + security |
313
+ | Snyk Code | Fast (AI-assisted) | 10+ | AI-powered fix suggestions |
314
+
315
+ ### DAST
316
+
317
+ | Tool | Type | Auth | Best For |
318
+ |-------------|--------------|---------|-----------------------------------|
319
+ | OWASP ZAP | Open source | Full | Free, comprehensive, CI-friendly |
320
+ | Burp Suite | Commercial | Full | Manual + automated pen testing |
321
+ | Nuclei | Open source | Template| Fast template-based scanning |
322
+
323
+ ### SCA
324
+
325
+ | Tool | Detection Approach | Supply Chain | Integration |
326
+ |----------------|------------------------|--------------|---------------------|
327
+ | Snyk | CVE (proprietary+NVD) | Basic | CI/CD, IDE, CLI |
328
+ | Socket.dev | Behavioral analysis | Deep | GitHub, npm |
329
+ | Trivy | CVE (NVD, GitHub) | Basic | CI/CD, CLI |
330
+ | Dependabot | CVE (GitHub Advisory) | No | GitHub native |
331
+
332
+ ### Secret Scanning
333
+
334
+ | Tool | Patterns | Verification | Pre-commit |
335
+ |----------------|-------------|------------------|------------|
336
+ | Gitleaks | 160+ types | No | Yes |
337
+ | TruffleHog | Entropy+pat | Live verification| Yes |
338
+ | GitHub Native | 200+ types | Partner verify | Auto |
339
+
340
+ ### IaC Scanning
341
+
342
+ | Tool | Frameworks | Policies | Notes |
343
+ |-------------|-------------------------------|----------|----------------------|
344
+ | Checkov | Terraform, CF, K8s, Docker | 1000+ | Graph-based analysis |
345
+ | tfsec | Terraform | 300+ | Merged into Trivy |
346
+ | Terrascan | Terraform, K8s, CF, Docker | 500+ | Rego (OPA) policies |
347
+
348
+ ---
349
+
350
+ ## 7. Platform-Specific Guidance
351
+
352
+ ### GitHub Actions Security Pipeline
353
+
354
+ ```yaml
355
+ # .github/workflows/security.yml
356
+ name: Security Pipeline
357
+ on:
358
+ pull_request:
359
+ branches: [main, develop]
360
+ push:
361
+ branches: [main]
362
+ schedule:
363
+ - cron: '0 6 * * 1' # Weekly Monday scan
364
+
365
+ permissions:
366
+ contents: read
367
+ security-events: write
368
+
369
+ jobs:
370
+ secret-scan:
371
+ runs-on: ubuntu-latest
372
+ steps:
373
+ - uses: actions/checkout@v4
374
+ with: { fetch-depth: 0 }
375
+ - uses: gitleaks/gitleaks-action@v2
376
+ env:
377
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
378
+
379
+ sast:
380
+ runs-on: ubuntu-latest
381
+ steps:
382
+ - uses: actions/checkout@v4
383
+ - uses: semgrep/semgrep-action@v1
384
+ with:
385
+ config: "p/default p/owasp-top-ten p/nodejs"
386
+ generateSarif: "1"
387
+ env:
388
+ SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
389
+ - uses: github/codeql-action/upload-sarif@v3
390
+ if: always()
391
+ with: { sarif_file: semgrep.sarif }
392
+
393
+ codeql:
394
+ runs-on: ubuntu-latest
395
+ steps:
396
+ - uses: actions/checkout@v4
397
+ - uses: github/codeql-action/init@v3
398
+ with: { languages: javascript-typescript, queries: security-extended }
399
+ - uses: github/codeql-action/autobuild@v3
400
+ - uses: github/codeql-action/analyze@v3
401
+
402
+ sca:
403
+ runs-on: ubuntu-latest
404
+ steps:
405
+ - uses: actions/checkout@v4
406
+ - uses: snyk/actions/node@master
407
+ env:
408
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
409
+ with: { args: --severity-threshold=high }
410
+ - uses: aquasecurity/trivy-action@master
411
+ with:
412
+ scan-type: 'fs'
413
+ format: 'sarif'
414
+ output: 'trivy.sarif'
415
+ severity: 'CRITICAL,HIGH'
416
+ - uses: github/codeql-action/upload-sarif@v3
417
+ if: always()
418
+ with: { sarif_file: 'trivy.sarif' }
419
+
420
+ iac-scan:
421
+ runs-on: ubuntu-latest
422
+ steps:
423
+ - uses: actions/checkout@v4
424
+ - uses: bridgecrewio/checkov-action@master
425
+ with: { directory: ./infrastructure, framework: terraform, soft_fail: false }
426
+
427
+ dast:
428
+ runs-on: ubuntu-latest
429
+ needs: [sast, sca, secret-scan]
430
+ if: github.ref == 'refs/heads/main'
431
+ steps:
432
+ - uses: actions/checkout@v4
433
+ - uses: zaproxy/action-full-scan@v0.11.0
434
+ with:
435
+ target: 'https://staging.example.com'
436
+ rules_file_name: '.zap/rules.tsv'
437
+ ```
438
+
439
+ ### GitLab CI/CD Security
440
+
441
+ ```yaml
442
+ # .gitlab-ci.yml — leverage built-in security templates
443
+ include:
444
+ - template: Security/SAST.gitlab-ci.yml
445
+ - template: Security/Secret-Detection.gitlab-ci.yml
446
+ - template: Security/Dependency-Scanning.gitlab-ci.yml
447
+ - template: Security/Container-Scanning.gitlab-ci.yml
448
+ - template: Security/DAST.gitlab-ci.yml
449
+
450
+ semgrep:
451
+ stage: security
452
+ image: semgrep/semgrep:latest
453
+ script: semgrep ci --config auto --sarif --output semgrep.sarif
454
+ artifacts:
455
+ reports: { sast: semgrep.sarif }
456
+ rules:
457
+ - if: $CI_MERGE_REQUEST_IID
458
+ ```
459
+
460
+ ### Jenkins Pipeline
461
+
462
+ ```groovy
463
+ pipeline {
464
+ agent any
465
+ stages {
466
+ stage('Security') {
467
+ parallel {
468
+ stage('Secrets') { steps { sh 'gitleaks detect --source .' } }
469
+ stage('SAST') { steps { sh 'semgrep ci --config auto' } }
470
+ stage('SCA') { steps { sh 'snyk test --severity-threshold=high' } }
471
+ }
472
+ }
473
+ stage('IaC') { steps { sh 'checkov -d infrastructure/' } }
474
+ stage('Container') { steps { sh 'trivy image --severity HIGH,CRITICAL app:${BUILD_NUMBER}' } }
475
+ stage('DAST') {
476
+ when { branch 'main' }
477
+ steps {
478
+ sh 'docker run --rm ghcr.io/zaproxy/zaproxy:stable zap-full-scan.py -t https://staging.example.com'
479
+ }
480
+ }
481
+ }
482
+ }
483
+ ```
484
+
485
+ ### Azure DevOps
486
+
487
+ ```yaml
488
+ # azure-pipelines.yml
489
+ stages:
490
+ - stage: SecurityScans
491
+ jobs:
492
+ - job: SAST
493
+ steps:
494
+ - script: semgrep ci --config auto --sarif -o semgrep.sarif
495
+ - task: PublishBuildArtifacts@1
496
+ inputs: { PathtoPublish: semgrep.sarif, ArtifactName: SecurityReports }
497
+ - job: SCA
498
+ steps:
499
+ - task: SnykSecurityScan@1
500
+ inputs: { testType: app, severityThreshold: high, failOnIssues: true }
501
+ ```
502
+
503
+ ---
504
+
505
+ ## 8. Incident Patterns
506
+
507
+ ### Security Regression Detection
508
+
509
+ ```javascript
510
+ // security-regression.test.js — each test maps to a previously discovered vuln
511
+ describe('Security Regressions', () => {
512
+ test('VULN-001: user search uses parameterized queries', async () => {
513
+ const malicious = "'; DROP TABLE users; --";
514
+ const res = await request(app)
515
+ .get(`/api/users/search?q=${encodeURIComponent(malicious)}`)
516
+ .set('Authorization', `Bearer ${token}`);
517
+ expect(res.status).not.toBe(500);
518
+ const count = await db.query('SELECT COUNT(*) FROM users');
519
+ expect(count.rows[0].count).toBeGreaterThan(0);
520
+ });
521
+
522
+ test('VULN-002: cannot download other user invoices', async () => {
523
+ const res = await request(app)
524
+ .get('/api/invoices/other-user-id')
525
+ .set('Authorization', `Bearer ${userAToken}`);
526
+ expect(res.status).toBe(403);
527
+ });
528
+
529
+ test('VULN-003: HTML in comments is sanitized', async () => {
530
+ const res = await request(app)
531
+ .post('/api/comments')
532
+ .set('Authorization', `Bearer ${token}`)
533
+ .send({ body: '<script>alert("xss")</script>' });
534
+ expect(res.body.body).not.toContain('<script>');
535
+ });
536
+ });
537
+ ```
538
+
539
+ ### Vulnerability Disclosure Process
540
+
541
+ 1. **Receive** — Monitor security@company.com, HackerOne, security.txt; auto-ack within 1 business day
542
+ 2. **Triage (48h)** — Reproduce, assess impact, classify: Critical (24h), High (7d), Medium (30d), Low (90d)
543
+ 3. **Remediate** — Private advisory, fix in private fork, backport patches, write regression test
544
+ 4. **Disclose** — Request CVE, coordinate 90-day timeline, publish advisory with CVSS
545
+ 5. **Post-mortem** — Root cause analysis, update threat model, add SAST/DAST rules, share learnings
546
+
547
+ ### CVE Response Playbook
548
+
549
+ | Time | Action | Owner |
550
+ |----------|----------------------------------------------|------------------|
551
+ | T+0h | CVE alert via OSV/Snyk | Security tooling |
552
+ | T+1h | Triage: check SBOM for affected components | Security team |
553
+ | T+2h | Assess exploitability in our context | Security + Dev |
554
+ | T+4h | Internal advisory to affected teams | Security team |
555
+ | T+24h | Mitigate: WAF rules, feature flags | DevOps + Dev |
556
+ | T+48–72h | Patch: update dependency, test, deploy | Dev team |
557
+ | T+1w | Verify remediation, update SBOM | Security team |
558
+
559
+ ---
560
+
561
+ ## 9. Compliance & Standards
562
+
563
+ ### NIST SSDF SP 800-218
564
+
565
+ Four practice groups (v1.1 final; v1.2 draft released Dec 2025 per EO 14306):
566
+
567
+ | Practice Group | ID | Key Practices |
568
+ |-----------------------------------|----|----------------------------------------------------|
569
+ | Prepare the Organization | PO | Security requirements, roles, tooling, training |
570
+ | Protect the Software | PS | Code, build, and release integrity |
571
+ | Produce Well-Secured Software | PW | Design, code review, test, configure securely |
572
+ | Respond to Vulnerabilities | RV | Identify, analyze, remediate vulnerabilities |
573
+
574
+ **SSDF-to-CI/CD mapping:**
575
+ - PO.1 → Security requirements template in issue tracker
576
+ - PS.1 → Branch protection, signed commits, CODEOWNERS
577
+ - PS.2 → Reproducible builds, SLSA provenance
578
+ - PW.5 → SAST + DAST + SCA in pipeline
579
+ - RV.1 → Vulnerability scanning, dependency monitoring
580
+
581
+ ### OWASP SAMM v2.0
582
+
583
+ Five business functions, 15 security practices, 3 maturity levels each:
584
+
585
+ | Business Function | Security Practices |
586
+ |-------------------|-------------------------------------------------------------|
587
+ | Governance | Strategy & Metrics, Policy & Compliance, Education |
588
+ | Design | Threat Assessment, Security Requirements, Security Architecture |
589
+ | Implementation | Secure Build, Secure Deployment, Defect Management |
590
+ | Verification | Architecture Assessment, Requirements Testing, Security Testing |
591
+ | Operations | Incident Management, Environment Mgmt, Operational Mgmt |
592
+
593
+ ### Microsoft SDL
594
+
595
+ 12 practices across the development lifecycle. 2024–2025 updates: six new
596
+ requirements, six retired, 19 major updates. New focus: memory-safe languages,
597
+ OSS supply chain, responsible AI, AI-assisted security tooling.
598
+
599
+ **Also relevant:** ISO 27001 (A.8.25–A.8.31), SOC 2 (CC8.1/CC7.1), PCI-DSS 4.0 (Req 6).
600
+
601
+ ---
602
+
603
+ ## 10. Code Examples
604
+
605
+ ### Pre-commit Hook Configuration
606
+
607
+ ```yaml
608
+ # .pre-commit-config.yaml
609
+ repos:
610
+ - repo: https://github.com/gitleaks/gitleaks
611
+ rev: v8.21.2
612
+ hooks:
613
+ - id: gitleaks
614
+
615
+ - repo: https://github.com/trufflesecurity/trufflehog
616
+ rev: v3.82.13
617
+ hooks:
618
+ - id: trufflehog
619
+ entry: trufflehog git file://. --since-commit HEAD --only-verified --fail
620
+
621
+ - repo: https://github.com/semgrep/semgrep
622
+ rev: v1.96.0
623
+ hooks:
624
+ - id: semgrep
625
+ args: ['--config', 'auto', '--error']
626
+
627
+ - repo: https://github.com/bridgecrewio/checkov
628
+ rev: 3.2.300
629
+ hooks:
630
+ - id: checkov
631
+ args: ['--framework', 'terraform', '--quiet']
632
+
633
+ - repo: https://github.com/pre-commit/pre-commit-hooks
634
+ rev: v5.0.0
635
+ hooks:
636
+ - id: detect-private-key
637
+ - id: check-added-large-files
638
+ args: ['--maxkb=500']
639
+ - id: no-commit-to-branch
640
+ args: ['--branch', 'main', '--branch', 'production']
641
+ ```
642
+
643
+ ### Security PR Template
644
+
645
+ ```markdown
646
+ <!-- .github/PULL_REQUEST_TEMPLATE/security-review.md -->
647
+ ## Security Impact Assessment
648
+
649
+ ### Change Classification
650
+ - [ ] Modifies authentication or authorization logic
651
+ - [ ] Handles user input (forms, APIs, file uploads)
652
+ - [ ] Modifies database queries or data access
653
+ - [ ] Introduces new third-party dependencies
654
+ - [ ] Handles sensitive data (PII, credentials, financial)
655
+
656
+ ### Security Checklist
657
+ - [ ] Threat model reviewed/updated
658
+ - [ ] Input validation for all new user-supplied data
659
+ - [ ] Authorization checks verify resource ownership
660
+ - [ ] No hardcoded secrets; error responses leak nothing
661
+ - [ ] Security regression tests added
662
+ ```
663
+
664
+ ### DAST Scan Policy for CI Gating
665
+
666
+ ```tsv
667
+ # .zap/rules.tsv — ID, action (IGNORE/WARN/FAIL), name
668
+ 10010 FAIL Cookie No HttpOnly Flag
669
+ 10011 FAIL Cookie Without Secure Flag
670
+ 10021 FAIL X-Content-Type-Options Header
671
+ 10035 FAIL Strict-Transport-Security Header
672
+ 10038 FAIL Content Security Policy Header Not Set
673
+ 40012 FAIL Cross Site Scripting (Reflected)
674
+ 40014 FAIL Cross Site Scripting (Persistent)
675
+ 40018 FAIL SQL Injection
676
+ 40028 FAIL Open Redirect
677
+ 90020 FAIL Remote OS Command Injection
678
+ ```
679
+
680
+ ### SBOM Generation
681
+
682
+ ```yaml
683
+ # GitHub Actions — SBOM for NIST SSDF PS.3 compliance
684
+ - name: Generate CycloneDX SBOM
685
+ uses: CycloneDX/gh-node-module-generatebom@v1
686
+ with: { output: './sbom.cdx.json' }
687
+ - name: Scan SBOM for vulnerabilities
688
+ run: trivy sbom sbom.cdx.json --severity HIGH,CRITICAL --exit-code 1
689
+ ```
690
+
691
+ ---
692
+
693
+ ## References
694
+
695
+ - NIST SP 800-218 — SSDF v1.1/v1.2 draft (https://csrc.nist.gov/pubs/sp/800/218/final)
696
+ - OWASP SAMM v2.0 (https://owaspsamm.org/model/)
697
+ - Microsoft SDL (https://www.microsoft.com/en-us/securityengineering/sdl)
698
+ - IBM/Ponemon 2025 Cost of a Data Breach (https://www.ibm.com/reports/data-breach)
699
+ - OWASP Secure Coding Practices (https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/)
700
+ - SLSA (https://slsa.dev/) | CycloneDX (https://cyclonedx.org/)