blockmine 1.23.4 → 1.25.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 (954) hide show
  1. package/CHANGELOG.md +82 -32
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/cli.js +1 -1
  5. package/backend/src/ai/plugin-assistant-system-prompt.md +725 -6
  6. package/backend/src/api/routes/aiAssistant.js +562 -103
  7. package/backend/src/api/routes/botUsers.js +30 -10
  8. package/backend/src/api/routes/bots.js +112 -21
  9. package/backend/src/api/routes/servers.js +14 -2
  10. package/backend/src/core/BotProcess.js +139 -7
  11. package/backend/src/core/GraphExecutionEngine.js +9 -2
  12. package/backend/src/core/PluginHooks.js +221 -0
  13. package/backend/src/core/PluginLoader.js +83 -3
  14. package/backend/src/core/PluginManager.js +85 -5
  15. package/backend/src/core/node-registries/container.js +162 -0
  16. package/backend/src/core/node-registries/furnace.js +143 -0
  17. package/backend/src/core/node-registries/inventory.js +181 -0
  18. package/backend/src/core/node-registries/navigation.js +111 -0
  19. package/backend/src/core/nodes/container/close.js +26 -0
  20. package/backend/src/core/nodes/container/deposit.js +88 -0
  21. package/backend/src/core/nodes/container/deposit_all.js +71 -0
  22. package/backend/src/core/nodes/container/find_item.js +77 -0
  23. package/backend/src/core/nodes/container/get_items.js +51 -0
  24. package/backend/src/core/nodes/container/open.js +111 -0
  25. package/backend/src/core/nodes/container/withdraw.js +91 -0
  26. package/backend/src/core/nodes/furnace/close.js +24 -0
  27. package/backend/src/core/nodes/furnace/get_status.js +74 -0
  28. package/backend/src/core/nodes/furnace/open.js +110 -0
  29. package/backend/src/core/nodes/furnace/put_fuel.js +64 -0
  30. package/backend/src/core/nodes/furnace/put_input.js +64 -0
  31. package/backend/src/core/nodes/furnace/take_output.js +69 -0
  32. package/backend/src/core/nodes/inventory/count_item.js +28 -0
  33. package/backend/src/core/nodes/inventory/drop.js +65 -0
  34. package/backend/src/core/nodes/inventory/equip.js +45 -0
  35. package/backend/src/core/nodes/inventory/find_item.js +55 -0
  36. package/backend/src/core/nodes/inventory/get_all.js +45 -0
  37. package/backend/src/core/nodes/inventory/get_held_item.js +63 -0
  38. package/backend/src/core/nodes/inventory/get_slot.js +46 -0
  39. package/backend/src/core/nodes/inventory/has_item.js +35 -0
  40. package/backend/src/core/nodes/inventory/select_slot.js +46 -0
  41. package/backend/src/core/nodes/navigation/follow.js +51 -0
  42. package/backend/src/core/nodes/navigation/go_to.js +53 -0
  43. package/backend/src/core/nodes/navigation/go_to_entity.js +69 -0
  44. package/backend/src/core/nodes/navigation/go_to_player.js +70 -0
  45. package/backend/src/core/nodes/navigation/stop.js +26 -0
  46. package/backend/src/core/services/BotLifecycleService.js +186 -2
  47. package/backend/src/core/services/MinecraftViewerService.js +2 -0
  48. package/backend/src/server.js +11 -1
  49. package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
  50. package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
  51. package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
  52. package/frontend/dist/flags/en.svg +32 -0
  53. package/frontend/dist/flags/ru.svg +5 -0
  54. package/frontend/dist/index.html +2 -2
  55. package/frontend/dist/locales/en/admin.json +100 -0
  56. package/frontend/dist/locales/en/api-keys.json +58 -0
  57. package/frontend/dist/locales/en/bots.json +110 -0
  58. package/frontend/dist/locales/en/common.json +47 -0
  59. package/frontend/dist/locales/en/configuration.json +22 -0
  60. package/frontend/dist/locales/en/console.json +10 -0
  61. package/frontend/dist/locales/en/dashboard.json +85 -0
  62. package/frontend/dist/locales/en/dialogs.json +70 -0
  63. package/frontend/dist/locales/en/event-graphs.json +50 -0
  64. package/frontend/dist/locales/en/graph-store.json +70 -0
  65. package/frontend/dist/locales/en/login.json +34 -0
  66. package/frontend/dist/locales/en/management.json +114 -0
  67. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  68. package/frontend/dist/locales/en/nodes.json +1077 -0
  69. package/frontend/dist/locales/en/permissions.json +50 -0
  70. package/frontend/dist/locales/en/plugin-detail.json +49 -0
  71. package/frontend/dist/locales/en/plugins.json +110 -0
  72. package/frontend/dist/locales/en/proxies.json +81 -0
  73. package/frontend/dist/locales/en/servers.json +39 -0
  74. package/frontend/dist/locales/en/setup.json +17 -0
  75. package/frontend/dist/locales/en/sidebar.json +27 -0
  76. package/frontend/dist/locales/en/tasks.json +62 -0
  77. package/frontend/dist/locales/en/visual-editor.json +219 -0
  78. package/frontend/dist/locales/en/websocket.json +86 -0
  79. package/frontend/dist/locales/ru/admin.json +100 -0
  80. package/frontend/dist/locales/ru/api-keys.json +58 -0
  81. package/frontend/dist/locales/ru/bots.json +110 -0
  82. package/frontend/dist/locales/ru/common.json +49 -0
  83. package/frontend/dist/locales/ru/configuration.json +22 -0
  84. package/frontend/dist/locales/ru/console.json +10 -0
  85. package/frontend/dist/locales/ru/dashboard.json +85 -0
  86. package/frontend/dist/locales/ru/dialogs.json +70 -0
  87. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  88. package/frontend/dist/locales/ru/graph-store.json +70 -0
  89. package/frontend/dist/locales/ru/login.json +34 -0
  90. package/frontend/dist/locales/ru/management.json +114 -0
  91. package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
  92. package/frontend/dist/locales/ru/nodes.json +1077 -0
  93. package/frontend/dist/locales/ru/permissions.json +50 -0
  94. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  95. package/frontend/dist/locales/ru/plugins.json +110 -0
  96. package/frontend/dist/locales/ru/proxies.json +81 -0
  97. package/frontend/dist/locales/ru/servers.json +39 -0
  98. package/frontend/dist/locales/ru/setup.json +17 -0
  99. package/frontend/dist/locales/ru/sidebar.json +27 -0
  100. package/frontend/dist/locales/ru/tasks.json +62 -0
  101. package/frontend/dist/locales/ru/visual-editor.json +221 -0
  102. package/frontend/dist/locales/ru/websocket.json +86 -0
  103. package/frontend/dist/minecraft-assets/items/acacia_boat.png +0 -0
  104. package/frontend/dist/minecraft-assets/items/acacia_chest_boat.png +0 -0
  105. package/frontend/dist/minecraft-assets/items/acacia_door.png +0 -0
  106. package/frontend/dist/minecraft-assets/items/acacia_hanging_sign.png +0 -0
  107. package/frontend/dist/minecraft-assets/items/acacia_sign.png +0 -0
  108. package/frontend/dist/minecraft-assets/items/amethyst_shard.png +0 -0
  109. package/frontend/dist/minecraft-assets/items/angler_pottery_sherd.png +0 -0
  110. package/frontend/dist/minecraft-assets/items/apple.png +0 -0
  111. package/frontend/dist/minecraft-assets/items/archer_pottery_sherd.png +0 -0
  112. package/frontend/dist/minecraft-assets/items/armor_stand.png +0 -0
  113. package/frontend/dist/minecraft-assets/items/arms_up_pottery_sherd.png +0 -0
  114. package/frontend/dist/minecraft-assets/items/arrow.png +0 -0
  115. package/frontend/dist/minecraft-assets/items/axolotl_bucket.png +0 -0
  116. package/frontend/dist/minecraft-assets/items/baked_potato.png +0 -0
  117. package/frontend/dist/minecraft-assets/items/bamboo.png +0 -0
  118. package/frontend/dist/minecraft-assets/items/bamboo_chest_raft.png +0 -0
  119. package/frontend/dist/minecraft-assets/items/bamboo_door.png +0 -0
  120. package/frontend/dist/minecraft-assets/items/bamboo_hanging_sign.png +0 -0
  121. package/frontend/dist/minecraft-assets/items/bamboo_raft.png +0 -0
  122. package/frontend/dist/minecraft-assets/items/bamboo_sign.png +0 -0
  123. package/frontend/dist/minecraft-assets/items/barrier.png +0 -0
  124. package/frontend/dist/minecraft-assets/items/beef.png +0 -0
  125. package/frontend/dist/minecraft-assets/items/beetroot.png +0 -0
  126. package/frontend/dist/minecraft-assets/items/beetroot_seeds.png +0 -0
  127. package/frontend/dist/minecraft-assets/items/beetroot_soup.png +0 -0
  128. package/frontend/dist/minecraft-assets/items/bell.png +0 -0
  129. package/frontend/dist/minecraft-assets/items/birch_boat.png +0 -0
  130. package/frontend/dist/minecraft-assets/items/birch_chest_boat.png +0 -0
  131. package/frontend/dist/minecraft-assets/items/birch_door.png +0 -0
  132. package/frontend/dist/minecraft-assets/items/birch_hanging_sign.png +0 -0
  133. package/frontend/dist/minecraft-assets/items/birch_sign.png +0 -0
  134. package/frontend/dist/minecraft-assets/items/black_candle.png +0 -0
  135. package/frontend/dist/minecraft-assets/items/black_dye.png +0 -0
  136. package/frontend/dist/minecraft-assets/items/blade_pottery_sherd.png +0 -0
  137. package/frontend/dist/minecraft-assets/items/blaze_powder.png +0 -0
  138. package/frontend/dist/minecraft-assets/items/blaze_rod.png +0 -0
  139. package/frontend/dist/minecraft-assets/items/blue_candle.png +0 -0
  140. package/frontend/dist/minecraft-assets/items/blue_dye.png +0 -0
  141. package/frontend/dist/minecraft-assets/items/bone.png +0 -0
  142. package/frontend/dist/minecraft-assets/items/bone_meal.png +0 -0
  143. package/frontend/dist/minecraft-assets/items/book.png +0 -0
  144. package/frontend/dist/minecraft-assets/items/bow.png +0 -0
  145. package/frontend/dist/minecraft-assets/items/bow_pulling_0.png +0 -0
  146. package/frontend/dist/minecraft-assets/items/bow_pulling_1.png +0 -0
  147. package/frontend/dist/minecraft-assets/items/bow_pulling_2.png +0 -0
  148. package/frontend/dist/minecraft-assets/items/bowl.png +0 -0
  149. package/frontend/dist/minecraft-assets/items/bread.png +0 -0
  150. package/frontend/dist/minecraft-assets/items/brewer_pottery_sherd.png +0 -0
  151. package/frontend/dist/minecraft-assets/items/brewing_stand.png +0 -0
  152. package/frontend/dist/minecraft-assets/items/brick.png +0 -0
  153. package/frontend/dist/minecraft-assets/items/broken_elytra.png +0 -0
  154. package/frontend/dist/minecraft-assets/items/brown_candle.png +0 -0
  155. package/frontend/dist/minecraft-assets/items/brown_dye.png +0 -0
  156. package/frontend/dist/minecraft-assets/items/brush.png +0 -0
  157. package/frontend/dist/minecraft-assets/items/bucket.png +0 -0
  158. package/frontend/dist/minecraft-assets/items/bundle.png +0 -0
  159. package/frontend/dist/minecraft-assets/items/bundle_filled.png +0 -0
  160. package/frontend/dist/minecraft-assets/items/burn_pottery_sherd.png +0 -0
  161. package/frontend/dist/minecraft-assets/items/cake.png +0 -0
  162. package/frontend/dist/minecraft-assets/items/campfire.png +0 -0
  163. package/frontend/dist/minecraft-assets/items/candle.png +0 -0
  164. package/frontend/dist/minecraft-assets/items/carrot.png +0 -0
  165. package/frontend/dist/minecraft-assets/items/carrot_on_a_stick.png +0 -0
  166. package/frontend/dist/minecraft-assets/items/cauldron.png +0 -0
  167. package/frontend/dist/minecraft-assets/items/chain.png +0 -0
  168. package/frontend/dist/minecraft-assets/items/chainmail_boots.png +0 -0
  169. package/frontend/dist/minecraft-assets/items/chainmail_chestplate.png +0 -0
  170. package/frontend/dist/minecraft-assets/items/chainmail_helmet.png +0 -0
  171. package/frontend/dist/minecraft-assets/items/chainmail_leggings.png +0 -0
  172. package/frontend/dist/minecraft-assets/items/charcoal.png +0 -0
  173. package/frontend/dist/minecraft-assets/items/cherry_boat.png +0 -0
  174. package/frontend/dist/minecraft-assets/items/cherry_chest_boat.png +0 -0
  175. package/frontend/dist/minecraft-assets/items/cherry_door.png +0 -0
  176. package/frontend/dist/minecraft-assets/items/cherry_hanging_sign.png +0 -0
  177. package/frontend/dist/minecraft-assets/items/cherry_sign.png +0 -0
  178. package/frontend/dist/minecraft-assets/items/chest_minecart.png +0 -0
  179. package/frontend/dist/minecraft-assets/items/chicken.png +0 -0
  180. package/frontend/dist/minecraft-assets/items/chorus_fruit.png +0 -0
  181. package/frontend/dist/minecraft-assets/items/clay_ball.png +0 -0
  182. package/frontend/dist/minecraft-assets/items/clock_00.png +0 -0
  183. package/frontend/dist/minecraft-assets/items/clock_01.png +0 -0
  184. package/frontend/dist/minecraft-assets/items/clock_02.png +0 -0
  185. package/frontend/dist/minecraft-assets/items/clock_03.png +0 -0
  186. package/frontend/dist/minecraft-assets/items/clock_04.png +0 -0
  187. package/frontend/dist/minecraft-assets/items/clock_05.png +0 -0
  188. package/frontend/dist/minecraft-assets/items/clock_06.png +0 -0
  189. package/frontend/dist/minecraft-assets/items/clock_07.png +0 -0
  190. package/frontend/dist/minecraft-assets/items/clock_08.png +0 -0
  191. package/frontend/dist/minecraft-assets/items/clock_09.png +0 -0
  192. package/frontend/dist/minecraft-assets/items/clock_10.png +0 -0
  193. package/frontend/dist/minecraft-assets/items/clock_11.png +0 -0
  194. package/frontend/dist/minecraft-assets/items/clock_12.png +0 -0
  195. package/frontend/dist/minecraft-assets/items/clock_13.png +0 -0
  196. package/frontend/dist/minecraft-assets/items/clock_14.png +0 -0
  197. package/frontend/dist/minecraft-assets/items/clock_15.png +0 -0
  198. package/frontend/dist/minecraft-assets/items/clock_16.png +0 -0
  199. package/frontend/dist/minecraft-assets/items/clock_17.png +0 -0
  200. package/frontend/dist/minecraft-assets/items/clock_18.png +0 -0
  201. package/frontend/dist/minecraft-assets/items/clock_19.png +0 -0
  202. package/frontend/dist/minecraft-assets/items/clock_20.png +0 -0
  203. package/frontend/dist/minecraft-assets/items/clock_21.png +0 -0
  204. package/frontend/dist/minecraft-assets/items/clock_22.png +0 -0
  205. package/frontend/dist/minecraft-assets/items/clock_23.png +0 -0
  206. package/frontend/dist/minecraft-assets/items/clock_24.png +0 -0
  207. package/frontend/dist/minecraft-assets/items/clock_25.png +0 -0
  208. package/frontend/dist/minecraft-assets/items/clock_26.png +0 -0
  209. package/frontend/dist/minecraft-assets/items/clock_27.png +0 -0
  210. package/frontend/dist/minecraft-assets/items/clock_28.png +0 -0
  211. package/frontend/dist/minecraft-assets/items/clock_29.png +0 -0
  212. package/frontend/dist/minecraft-assets/items/clock_30.png +0 -0
  213. package/frontend/dist/minecraft-assets/items/clock_31.png +0 -0
  214. package/frontend/dist/minecraft-assets/items/clock_32.png +0 -0
  215. package/frontend/dist/minecraft-assets/items/clock_33.png +0 -0
  216. package/frontend/dist/minecraft-assets/items/clock_34.png +0 -0
  217. package/frontend/dist/minecraft-assets/items/clock_35.png +0 -0
  218. package/frontend/dist/minecraft-assets/items/clock_36.png +0 -0
  219. package/frontend/dist/minecraft-assets/items/clock_37.png +0 -0
  220. package/frontend/dist/minecraft-assets/items/clock_38.png +0 -0
  221. package/frontend/dist/minecraft-assets/items/clock_39.png +0 -0
  222. package/frontend/dist/minecraft-assets/items/clock_40.png +0 -0
  223. package/frontend/dist/minecraft-assets/items/clock_41.png +0 -0
  224. package/frontend/dist/minecraft-assets/items/clock_42.png +0 -0
  225. package/frontend/dist/minecraft-assets/items/clock_43.png +0 -0
  226. package/frontend/dist/minecraft-assets/items/clock_44.png +0 -0
  227. package/frontend/dist/minecraft-assets/items/clock_45.png +0 -0
  228. package/frontend/dist/minecraft-assets/items/clock_46.png +0 -0
  229. package/frontend/dist/minecraft-assets/items/clock_47.png +0 -0
  230. package/frontend/dist/minecraft-assets/items/clock_48.png +0 -0
  231. package/frontend/dist/minecraft-assets/items/clock_49.png +0 -0
  232. package/frontend/dist/minecraft-assets/items/clock_50.png +0 -0
  233. package/frontend/dist/minecraft-assets/items/clock_51.png +0 -0
  234. package/frontend/dist/minecraft-assets/items/clock_52.png +0 -0
  235. package/frontend/dist/minecraft-assets/items/clock_53.png +0 -0
  236. package/frontend/dist/minecraft-assets/items/clock_54.png +0 -0
  237. package/frontend/dist/minecraft-assets/items/clock_55.png +0 -0
  238. package/frontend/dist/minecraft-assets/items/clock_56.png +0 -0
  239. package/frontend/dist/minecraft-assets/items/clock_57.png +0 -0
  240. package/frontend/dist/minecraft-assets/items/clock_58.png +0 -0
  241. package/frontend/dist/minecraft-assets/items/clock_59.png +0 -0
  242. package/frontend/dist/minecraft-assets/items/clock_60.png +0 -0
  243. package/frontend/dist/minecraft-assets/items/clock_61.png +0 -0
  244. package/frontend/dist/minecraft-assets/items/clock_62.png +0 -0
  245. package/frontend/dist/minecraft-assets/items/clock_63.png +0 -0
  246. package/frontend/dist/minecraft-assets/items/coal.png +0 -0
  247. package/frontend/dist/minecraft-assets/items/coast_armor_trim_smithing_template.png +0 -0
  248. package/frontend/dist/minecraft-assets/items/cocoa_beans.png +0 -0
  249. package/frontend/dist/minecraft-assets/items/cod.png +0 -0
  250. package/frontend/dist/minecraft-assets/items/cod_bucket.png +0 -0
  251. package/frontend/dist/minecraft-assets/items/command_block_minecart.png +0 -0
  252. package/frontend/dist/minecraft-assets/items/comparator.png +0 -0
  253. package/frontend/dist/minecraft-assets/items/compass_00.png +0 -0
  254. package/frontend/dist/minecraft-assets/items/compass_01.png +0 -0
  255. package/frontend/dist/minecraft-assets/items/compass_02.png +0 -0
  256. package/frontend/dist/minecraft-assets/items/compass_03.png +0 -0
  257. package/frontend/dist/minecraft-assets/items/compass_04.png +0 -0
  258. package/frontend/dist/minecraft-assets/items/compass_05.png +0 -0
  259. package/frontend/dist/minecraft-assets/items/compass_06.png +0 -0
  260. package/frontend/dist/minecraft-assets/items/compass_07.png +0 -0
  261. package/frontend/dist/minecraft-assets/items/compass_08.png +0 -0
  262. package/frontend/dist/minecraft-assets/items/compass_09.png +0 -0
  263. package/frontend/dist/minecraft-assets/items/compass_10.png +0 -0
  264. package/frontend/dist/minecraft-assets/items/compass_11.png +0 -0
  265. package/frontend/dist/minecraft-assets/items/compass_12.png +0 -0
  266. package/frontend/dist/minecraft-assets/items/compass_13.png +0 -0
  267. package/frontend/dist/minecraft-assets/items/compass_14.png +0 -0
  268. package/frontend/dist/minecraft-assets/items/compass_15.png +0 -0
  269. package/frontend/dist/minecraft-assets/items/compass_16.png +0 -0
  270. package/frontend/dist/minecraft-assets/items/compass_17.png +0 -0
  271. package/frontend/dist/minecraft-assets/items/compass_18.png +0 -0
  272. package/frontend/dist/minecraft-assets/items/compass_19.png +0 -0
  273. package/frontend/dist/minecraft-assets/items/compass_20.png +0 -0
  274. package/frontend/dist/minecraft-assets/items/compass_21.png +0 -0
  275. package/frontend/dist/minecraft-assets/items/compass_22.png +0 -0
  276. package/frontend/dist/minecraft-assets/items/compass_23.png +0 -0
  277. package/frontend/dist/minecraft-assets/items/compass_24.png +0 -0
  278. package/frontend/dist/minecraft-assets/items/compass_25.png +0 -0
  279. package/frontend/dist/minecraft-assets/items/compass_26.png +0 -0
  280. package/frontend/dist/minecraft-assets/items/compass_27.png +0 -0
  281. package/frontend/dist/minecraft-assets/items/compass_28.png +0 -0
  282. package/frontend/dist/minecraft-assets/items/compass_29.png +0 -0
  283. package/frontend/dist/minecraft-assets/items/compass_30.png +0 -0
  284. package/frontend/dist/minecraft-assets/items/compass_31.png +0 -0
  285. package/frontend/dist/minecraft-assets/items/cooked_beef.png +0 -0
  286. package/frontend/dist/minecraft-assets/items/cooked_chicken.png +0 -0
  287. package/frontend/dist/minecraft-assets/items/cooked_cod.png +0 -0
  288. package/frontend/dist/minecraft-assets/items/cooked_mutton.png +0 -0
  289. package/frontend/dist/minecraft-assets/items/cooked_porkchop.png +0 -0
  290. package/frontend/dist/minecraft-assets/items/cooked_rabbit.png +0 -0
  291. package/frontend/dist/minecraft-assets/items/cooked_salmon.png +0 -0
  292. package/frontend/dist/minecraft-assets/items/cookie.png +0 -0
  293. package/frontend/dist/minecraft-assets/items/copper_ingot.png +0 -0
  294. package/frontend/dist/minecraft-assets/items/creeper_banner_pattern.png +0 -0
  295. package/frontend/dist/minecraft-assets/items/crimson_door.png +0 -0
  296. package/frontend/dist/minecraft-assets/items/crimson_hanging_sign.png +0 -0
  297. package/frontend/dist/minecraft-assets/items/crimson_sign.png +0 -0
  298. package/frontend/dist/minecraft-assets/items/crossbow_arrow.png +0 -0
  299. package/frontend/dist/minecraft-assets/items/crossbow_firework.png +0 -0
  300. package/frontend/dist/minecraft-assets/items/crossbow_pulling_0.png +0 -0
  301. package/frontend/dist/minecraft-assets/items/crossbow_pulling_1.png +0 -0
  302. package/frontend/dist/minecraft-assets/items/crossbow_pulling_2.png +0 -0
  303. package/frontend/dist/minecraft-assets/items/crossbow_standby.png +0 -0
  304. package/frontend/dist/minecraft-assets/items/cyan_candle.png +0 -0
  305. package/frontend/dist/minecraft-assets/items/cyan_dye.png +0 -0
  306. package/frontend/dist/minecraft-assets/items/danger_pottery_sherd.png +0 -0
  307. package/frontend/dist/minecraft-assets/items/dark_oak_boat.png +0 -0
  308. package/frontend/dist/minecraft-assets/items/dark_oak_chest_boat.png +0 -0
  309. package/frontend/dist/minecraft-assets/items/dark_oak_door.png +0 -0
  310. package/frontend/dist/minecraft-assets/items/dark_oak_hanging_sign.png +0 -0
  311. package/frontend/dist/minecraft-assets/items/dark_oak_sign.png +0 -0
  312. package/frontend/dist/minecraft-assets/items/diamond.png +0 -0
  313. package/frontend/dist/minecraft-assets/items/diamond_axe.png +0 -0
  314. package/frontend/dist/minecraft-assets/items/diamond_boots.png +0 -0
  315. package/frontend/dist/minecraft-assets/items/diamond_chestplate.png +0 -0
  316. package/frontend/dist/minecraft-assets/items/diamond_helmet.png +0 -0
  317. package/frontend/dist/minecraft-assets/items/diamond_hoe.png +0 -0
  318. package/frontend/dist/minecraft-assets/items/diamond_horse_armor.png +0 -0
  319. package/frontend/dist/minecraft-assets/items/diamond_leggings.png +0 -0
  320. package/frontend/dist/minecraft-assets/items/diamond_pickaxe.png +0 -0
  321. package/frontend/dist/minecraft-assets/items/diamond_shovel.png +0 -0
  322. package/frontend/dist/minecraft-assets/items/diamond_sword.png +0 -0
  323. package/frontend/dist/minecraft-assets/items/disc_fragment_5.png +0 -0
  324. package/frontend/dist/minecraft-assets/items/dragon_breath.png +0 -0
  325. package/frontend/dist/minecraft-assets/items/dried_kelp.png +0 -0
  326. package/frontend/dist/minecraft-assets/items/dune_armor_trim_smithing_template.png +0 -0
  327. package/frontend/dist/minecraft-assets/items/echo_shard.png +0 -0
  328. package/frontend/dist/minecraft-assets/items/egg.png +0 -0
  329. package/frontend/dist/minecraft-assets/items/elytra.png +0 -0
  330. package/frontend/dist/minecraft-assets/items/emerald.png +0 -0
  331. package/frontend/dist/minecraft-assets/items/empty_armor_slot_boots.png +0 -0
  332. package/frontend/dist/minecraft-assets/items/empty_armor_slot_chestplate.png +0 -0
  333. package/frontend/dist/minecraft-assets/items/empty_armor_slot_helmet.png +0 -0
  334. package/frontend/dist/minecraft-assets/items/empty_armor_slot_leggings.png +0 -0
  335. package/frontend/dist/minecraft-assets/items/empty_armor_slot_shield.png +0 -0
  336. package/frontend/dist/minecraft-assets/items/empty_slot_amethyst_shard.png +0 -0
  337. package/frontend/dist/minecraft-assets/items/empty_slot_axe.png +0 -0
  338. package/frontend/dist/minecraft-assets/items/empty_slot_diamond.png +0 -0
  339. package/frontend/dist/minecraft-assets/items/empty_slot_emerald.png +0 -0
  340. package/frontend/dist/minecraft-assets/items/empty_slot_hoe.png +0 -0
  341. package/frontend/dist/minecraft-assets/items/empty_slot_ingot.png +0 -0
  342. package/frontend/dist/minecraft-assets/items/empty_slot_lapis_lazuli.png +0 -0
  343. package/frontend/dist/minecraft-assets/items/empty_slot_pickaxe.png +0 -0
  344. package/frontend/dist/minecraft-assets/items/empty_slot_quartz.png +0 -0
  345. package/frontend/dist/minecraft-assets/items/empty_slot_redstone_dust.png +0 -0
  346. package/frontend/dist/minecraft-assets/items/empty_slot_shovel.png +0 -0
  347. package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_armor_trim.png +0 -0
  348. package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_netherite_upgrade.png +0 -0
  349. package/frontend/dist/minecraft-assets/items/empty_slot_sword.png +0 -0
  350. package/frontend/dist/minecraft-assets/items/enchanted_book.png +0 -0
  351. package/frontend/dist/minecraft-assets/items/end_crystal.png +0 -0
  352. package/frontend/dist/minecraft-assets/items/ender_eye.png +0 -0
  353. package/frontend/dist/minecraft-assets/items/ender_pearl.png +0 -0
  354. package/frontend/dist/minecraft-assets/items/experience_bottle.png +0 -0
  355. package/frontend/dist/minecraft-assets/items/explorer_pottery_sherd.png +0 -0
  356. package/frontend/dist/minecraft-assets/items/eye_armor_trim_smithing_template.png +0 -0
  357. package/frontend/dist/minecraft-assets/items/feather.png +0 -0
  358. package/frontend/dist/minecraft-assets/items/fermented_spider_eye.png +0 -0
  359. package/frontend/dist/minecraft-assets/items/filled_map.png +0 -0
  360. package/frontend/dist/minecraft-assets/items/filled_map_markings.png +0 -0
  361. package/frontend/dist/minecraft-assets/items/fire_charge.png +0 -0
  362. package/frontend/dist/minecraft-assets/items/firework_rocket.png +0 -0
  363. package/frontend/dist/minecraft-assets/items/firework_star.png +0 -0
  364. package/frontend/dist/minecraft-assets/items/firework_star_overlay.png +0 -0
  365. package/frontend/dist/minecraft-assets/items/fishing_rod.png +0 -0
  366. package/frontend/dist/minecraft-assets/items/fishing_rod_cast.png +0 -0
  367. package/frontend/dist/minecraft-assets/items/flint.png +0 -0
  368. package/frontend/dist/minecraft-assets/items/flint_and_steel.png +0 -0
  369. package/frontend/dist/minecraft-assets/items/flower_banner_pattern.png +0 -0
  370. package/frontend/dist/minecraft-assets/items/flower_pot.png +0 -0
  371. package/frontend/dist/minecraft-assets/items/friend_pottery_sherd.png +0 -0
  372. package/frontend/dist/minecraft-assets/items/furnace_minecart.png +0 -0
  373. package/frontend/dist/minecraft-assets/items/ghast_tear.png +0 -0
  374. package/frontend/dist/minecraft-assets/items/glass_bottle.png +0 -0
  375. package/frontend/dist/minecraft-assets/items/glistering_melon_slice.png +0 -0
  376. package/frontend/dist/minecraft-assets/items/globe_banner_pattern.png +0 -0
  377. package/frontend/dist/minecraft-assets/items/glow_berries.png +0 -0
  378. package/frontend/dist/minecraft-assets/items/glow_ink_sac.png +0 -0
  379. package/frontend/dist/minecraft-assets/items/glow_item_frame.png +0 -0
  380. package/frontend/dist/minecraft-assets/items/glowstone_dust.png +0 -0
  381. package/frontend/dist/minecraft-assets/items/goat_horn.png +0 -0
  382. package/frontend/dist/minecraft-assets/items/gold_ingot.png +0 -0
  383. package/frontend/dist/minecraft-assets/items/gold_nugget.png +0 -0
  384. package/frontend/dist/minecraft-assets/items/golden_apple.png +0 -0
  385. package/frontend/dist/minecraft-assets/items/golden_axe.png +0 -0
  386. package/frontend/dist/minecraft-assets/items/golden_boots.png +0 -0
  387. package/frontend/dist/minecraft-assets/items/golden_carrot.png +0 -0
  388. package/frontend/dist/minecraft-assets/items/golden_chestplate.png +0 -0
  389. package/frontend/dist/minecraft-assets/items/golden_helmet.png +0 -0
  390. package/frontend/dist/minecraft-assets/items/golden_hoe.png +0 -0
  391. package/frontend/dist/minecraft-assets/items/golden_horse_armor.png +0 -0
  392. package/frontend/dist/minecraft-assets/items/golden_leggings.png +0 -0
  393. package/frontend/dist/minecraft-assets/items/golden_pickaxe.png +0 -0
  394. package/frontend/dist/minecraft-assets/items/golden_shovel.png +0 -0
  395. package/frontend/dist/minecraft-assets/items/golden_sword.png +0 -0
  396. package/frontend/dist/minecraft-assets/items/gray_candle.png +0 -0
  397. package/frontend/dist/minecraft-assets/items/gray_dye.png +0 -0
  398. package/frontend/dist/minecraft-assets/items/green_candle.png +0 -0
  399. package/frontend/dist/minecraft-assets/items/green_dye.png +0 -0
  400. package/frontend/dist/minecraft-assets/items/gunpowder.png +0 -0
  401. package/frontend/dist/minecraft-assets/items/heart_of_the_sea.png +0 -0
  402. package/frontend/dist/minecraft-assets/items/heart_pottery_sherd.png +0 -0
  403. package/frontend/dist/minecraft-assets/items/heartbreak_pottery_sherd.png +0 -0
  404. package/frontend/dist/minecraft-assets/items/honey_bottle.png +0 -0
  405. package/frontend/dist/minecraft-assets/items/honeycomb.png +0 -0
  406. package/frontend/dist/minecraft-assets/items/hopper.png +0 -0
  407. package/frontend/dist/minecraft-assets/items/hopper_minecart.png +0 -0
  408. package/frontend/dist/minecraft-assets/items/host_armor_trim_smithing_template.png +0 -0
  409. package/frontend/dist/minecraft-assets/items/howl_pottery_sherd.png +0 -0
  410. package/frontend/dist/minecraft-assets/items/ink_sac.png +0 -0
  411. package/frontend/dist/minecraft-assets/items/iron_axe.png +0 -0
  412. package/frontend/dist/minecraft-assets/items/iron_boots.png +0 -0
  413. package/frontend/dist/minecraft-assets/items/iron_chestplate.png +0 -0
  414. package/frontend/dist/minecraft-assets/items/iron_door.png +0 -0
  415. package/frontend/dist/minecraft-assets/items/iron_helmet.png +0 -0
  416. package/frontend/dist/minecraft-assets/items/iron_hoe.png +0 -0
  417. package/frontend/dist/minecraft-assets/items/iron_horse_armor.png +0 -0
  418. package/frontend/dist/minecraft-assets/items/iron_ingot.png +0 -0
  419. package/frontend/dist/minecraft-assets/items/iron_leggings.png +0 -0
  420. package/frontend/dist/minecraft-assets/items/iron_nugget.png +0 -0
  421. package/frontend/dist/minecraft-assets/items/iron_pickaxe.png +0 -0
  422. package/frontend/dist/minecraft-assets/items/iron_shovel.png +0 -0
  423. package/frontend/dist/minecraft-assets/items/iron_sword.png +0 -0
  424. package/frontend/dist/minecraft-assets/items/item_frame.png +0 -0
  425. package/frontend/dist/minecraft-assets/items/jungle_boat.png +0 -0
  426. package/frontend/dist/minecraft-assets/items/jungle_chest_boat.png +0 -0
  427. package/frontend/dist/minecraft-assets/items/jungle_door.png +0 -0
  428. package/frontend/dist/minecraft-assets/items/jungle_hanging_sign.png +0 -0
  429. package/frontend/dist/minecraft-assets/items/jungle_sign.png +0 -0
  430. package/frontend/dist/minecraft-assets/items/kelp.png +0 -0
  431. package/frontend/dist/minecraft-assets/items/knowledge_book.png +0 -0
  432. package/frontend/dist/minecraft-assets/items/lantern.png +0 -0
  433. package/frontend/dist/minecraft-assets/items/lapis_lazuli.png +0 -0
  434. package/frontend/dist/minecraft-assets/items/lava_bucket.png +0 -0
  435. package/frontend/dist/minecraft-assets/items/lead.png +0 -0
  436. package/frontend/dist/minecraft-assets/items/leather.png +0 -0
  437. package/frontend/dist/minecraft-assets/items/leather_boots.png +0 -0
  438. package/frontend/dist/minecraft-assets/items/leather_boots_overlay.png +0 -0
  439. package/frontend/dist/minecraft-assets/items/leather_chestplate.png +0 -0
  440. package/frontend/dist/minecraft-assets/items/leather_chestplate_overlay.png +0 -0
  441. package/frontend/dist/minecraft-assets/items/leather_helmet.png +0 -0
  442. package/frontend/dist/minecraft-assets/items/leather_helmet_overlay.png +0 -0
  443. package/frontend/dist/minecraft-assets/items/leather_horse_armor.png +0 -0
  444. package/frontend/dist/minecraft-assets/items/leather_leggings.png +0 -0
  445. package/frontend/dist/minecraft-assets/items/leather_leggings_overlay.png +0 -0
  446. package/frontend/dist/minecraft-assets/items/light.png +0 -0
  447. package/frontend/dist/minecraft-assets/items/light_00.png +0 -0
  448. package/frontend/dist/minecraft-assets/items/light_01.png +0 -0
  449. package/frontend/dist/minecraft-assets/items/light_02.png +0 -0
  450. package/frontend/dist/minecraft-assets/items/light_03.png +0 -0
  451. package/frontend/dist/minecraft-assets/items/light_04.png +0 -0
  452. package/frontend/dist/minecraft-assets/items/light_05.png +0 -0
  453. package/frontend/dist/minecraft-assets/items/light_06.png +0 -0
  454. package/frontend/dist/minecraft-assets/items/light_07.png +0 -0
  455. package/frontend/dist/minecraft-assets/items/light_08.png +0 -0
  456. package/frontend/dist/minecraft-assets/items/light_09.png +0 -0
  457. package/frontend/dist/minecraft-assets/items/light_10.png +0 -0
  458. package/frontend/dist/minecraft-assets/items/light_11.png +0 -0
  459. package/frontend/dist/minecraft-assets/items/light_12.png +0 -0
  460. package/frontend/dist/minecraft-assets/items/light_13.png +0 -0
  461. package/frontend/dist/minecraft-assets/items/light_14.png +0 -0
  462. package/frontend/dist/minecraft-assets/items/light_15.png +0 -0
  463. package/frontend/dist/minecraft-assets/items/light_blue_candle.png +0 -0
  464. package/frontend/dist/minecraft-assets/items/light_blue_dye.png +0 -0
  465. package/frontend/dist/minecraft-assets/items/light_gray_candle.png +0 -0
  466. package/frontend/dist/minecraft-assets/items/light_gray_dye.png +0 -0
  467. package/frontend/dist/minecraft-assets/items/lime_candle.png +0 -0
  468. package/frontend/dist/minecraft-assets/items/lime_dye.png +0 -0
  469. package/frontend/dist/minecraft-assets/items/lingering_potion.png +0 -0
  470. package/frontend/dist/minecraft-assets/items/magenta_candle.png +0 -0
  471. package/frontend/dist/minecraft-assets/items/magenta_dye.png +0 -0
  472. package/frontend/dist/minecraft-assets/items/magma_cream.png +0 -0
  473. package/frontend/dist/minecraft-assets/items/mangrove_boat.png +0 -0
  474. package/frontend/dist/minecraft-assets/items/mangrove_chest_boat.png +0 -0
  475. package/frontend/dist/minecraft-assets/items/mangrove_door.png +0 -0
  476. package/frontend/dist/minecraft-assets/items/mangrove_hanging_sign.png +0 -0
  477. package/frontend/dist/minecraft-assets/items/mangrove_propagule.png +0 -0
  478. package/frontend/dist/minecraft-assets/items/mangrove_sign.png +0 -0
  479. package/frontend/dist/minecraft-assets/items/map.png +0 -0
  480. package/frontend/dist/minecraft-assets/items/melon_seeds.png +0 -0
  481. package/frontend/dist/minecraft-assets/items/melon_slice.png +0 -0
  482. package/frontend/dist/minecraft-assets/items/milk_bucket.png +0 -0
  483. package/frontend/dist/minecraft-assets/items/minecart.png +0 -0
  484. package/frontend/dist/minecraft-assets/items/miner_pottery_sherd.png +0 -0
  485. package/frontend/dist/minecraft-assets/items/mojang_banner_pattern.png +0 -0
  486. package/frontend/dist/minecraft-assets/items/mourner_pottery_sherd.png +0 -0
  487. package/frontend/dist/minecraft-assets/items/mushroom_stew.png +0 -0
  488. package/frontend/dist/minecraft-assets/items/music_disc_11.png +0 -0
  489. package/frontend/dist/minecraft-assets/items/music_disc_13.png +0 -0
  490. package/frontend/dist/minecraft-assets/items/music_disc_5.png +0 -0
  491. package/frontend/dist/minecraft-assets/items/music_disc_blocks.png +0 -0
  492. package/frontend/dist/minecraft-assets/items/music_disc_cat.png +0 -0
  493. package/frontend/dist/minecraft-assets/items/music_disc_chirp.png +0 -0
  494. package/frontend/dist/minecraft-assets/items/music_disc_far.png +0 -0
  495. package/frontend/dist/minecraft-assets/items/music_disc_mall.png +0 -0
  496. package/frontend/dist/minecraft-assets/items/music_disc_mellohi.png +0 -0
  497. package/frontend/dist/minecraft-assets/items/music_disc_otherside.png +0 -0
  498. package/frontend/dist/minecraft-assets/items/music_disc_pigstep.png +0 -0
  499. package/frontend/dist/minecraft-assets/items/music_disc_relic.png +0 -0
  500. package/frontend/dist/minecraft-assets/items/music_disc_stal.png +0 -0
  501. package/frontend/dist/minecraft-assets/items/music_disc_strad.png +0 -0
  502. package/frontend/dist/minecraft-assets/items/music_disc_wait.png +0 -0
  503. package/frontend/dist/minecraft-assets/items/music_disc_ward.png +0 -0
  504. package/frontend/dist/minecraft-assets/items/mutton.png +0 -0
  505. package/frontend/dist/minecraft-assets/items/name_tag.png +0 -0
  506. package/frontend/dist/minecraft-assets/items/nautilus_shell.png +0 -0
  507. package/frontend/dist/minecraft-assets/items/nether_brick.png +0 -0
  508. package/frontend/dist/minecraft-assets/items/nether_sprouts.png +0 -0
  509. package/frontend/dist/minecraft-assets/items/nether_star.png +0 -0
  510. package/frontend/dist/minecraft-assets/items/nether_wart.png +0 -0
  511. package/frontend/dist/minecraft-assets/items/netherite_axe.png +0 -0
  512. package/frontend/dist/minecraft-assets/items/netherite_boots.png +0 -0
  513. package/frontend/dist/minecraft-assets/items/netherite_chestplate.png +0 -0
  514. package/frontend/dist/minecraft-assets/items/netherite_helmet.png +0 -0
  515. package/frontend/dist/minecraft-assets/items/netherite_hoe.png +0 -0
  516. package/frontend/dist/minecraft-assets/items/netherite_ingot.png +0 -0
  517. package/frontend/dist/minecraft-assets/items/netherite_leggings.png +0 -0
  518. package/frontend/dist/minecraft-assets/items/netherite_pickaxe.png +0 -0
  519. package/frontend/dist/minecraft-assets/items/netherite_scrap.png +0 -0
  520. package/frontend/dist/minecraft-assets/items/netherite_shovel.png +0 -0
  521. package/frontend/dist/minecraft-assets/items/netherite_sword.png +0 -0
  522. package/frontend/dist/minecraft-assets/items/netherite_upgrade_smithing_template.png +0 -0
  523. package/frontend/dist/minecraft-assets/items/oak_boat.png +0 -0
  524. package/frontend/dist/minecraft-assets/items/oak_chest_boat.png +0 -0
  525. package/frontend/dist/minecraft-assets/items/oak_door.png +0 -0
  526. package/frontend/dist/minecraft-assets/items/oak_hanging_sign.png +0 -0
  527. package/frontend/dist/minecraft-assets/items/oak_sign.png +0 -0
  528. package/frontend/dist/minecraft-assets/items/orange_candle.png +0 -0
  529. package/frontend/dist/minecraft-assets/items/orange_dye.png +0 -0
  530. package/frontend/dist/minecraft-assets/items/painting.png +0 -0
  531. package/frontend/dist/minecraft-assets/items/paper.png +0 -0
  532. package/frontend/dist/minecraft-assets/items/phantom_membrane.png +0 -0
  533. package/frontend/dist/minecraft-assets/items/piglin_banner_pattern.png +0 -0
  534. package/frontend/dist/minecraft-assets/items/pink_candle.png +0 -0
  535. package/frontend/dist/minecraft-assets/items/pink_dye.png +0 -0
  536. package/frontend/dist/minecraft-assets/items/pink_petals.png +0 -0
  537. package/frontend/dist/minecraft-assets/items/pitcher_plant.png +0 -0
  538. package/frontend/dist/minecraft-assets/items/pitcher_pod.png +0 -0
  539. package/frontend/dist/minecraft-assets/items/plenty_pottery_sherd.png +0 -0
  540. package/frontend/dist/minecraft-assets/items/pointed_dripstone.png +0 -0
  541. package/frontend/dist/minecraft-assets/items/poisonous_potato.png +0 -0
  542. package/frontend/dist/minecraft-assets/items/popped_chorus_fruit.png +0 -0
  543. package/frontend/dist/minecraft-assets/items/porkchop.png +0 -0
  544. package/frontend/dist/minecraft-assets/items/potato.png +0 -0
  545. package/frontend/dist/minecraft-assets/items/potion.png +0 -0
  546. package/frontend/dist/minecraft-assets/items/potion_overlay.png +0 -0
  547. package/frontend/dist/minecraft-assets/items/powder_snow_bucket.png +0 -0
  548. package/frontend/dist/minecraft-assets/items/prismarine_crystals.png +0 -0
  549. package/frontend/dist/minecraft-assets/items/prismarine_shard.png +0 -0
  550. package/frontend/dist/minecraft-assets/items/prize_pottery_sherd.png +0 -0
  551. package/frontend/dist/minecraft-assets/items/pufferfish.png +0 -0
  552. package/frontend/dist/minecraft-assets/items/pufferfish_bucket.png +0 -0
  553. package/frontend/dist/minecraft-assets/items/pumpkin_pie.png +0 -0
  554. package/frontend/dist/minecraft-assets/items/pumpkin_seeds.png +0 -0
  555. package/frontend/dist/minecraft-assets/items/purple_candle.png +0 -0
  556. package/frontend/dist/minecraft-assets/items/purple_dye.png +0 -0
  557. package/frontend/dist/minecraft-assets/items/quartz.png +0 -0
  558. package/frontend/dist/minecraft-assets/items/rabbit.png +0 -0
  559. package/frontend/dist/minecraft-assets/items/rabbit_foot.png +0 -0
  560. package/frontend/dist/minecraft-assets/items/rabbit_hide.png +0 -0
  561. package/frontend/dist/minecraft-assets/items/rabbit_stew.png +0 -0
  562. package/frontend/dist/minecraft-assets/items/raiser_armor_trim_smithing_template.png +0 -0
  563. package/frontend/dist/minecraft-assets/items/raw_copper.png +0 -0
  564. package/frontend/dist/minecraft-assets/items/raw_gold.png +0 -0
  565. package/frontend/dist/minecraft-assets/items/raw_iron.png +0 -0
  566. package/frontend/dist/minecraft-assets/items/recovery_compass_00.png +0 -0
  567. package/frontend/dist/minecraft-assets/items/recovery_compass_01.png +0 -0
  568. package/frontend/dist/minecraft-assets/items/recovery_compass_02.png +0 -0
  569. package/frontend/dist/minecraft-assets/items/recovery_compass_03.png +0 -0
  570. package/frontend/dist/minecraft-assets/items/recovery_compass_04.png +0 -0
  571. package/frontend/dist/minecraft-assets/items/recovery_compass_05.png +0 -0
  572. package/frontend/dist/minecraft-assets/items/recovery_compass_06.png +0 -0
  573. package/frontend/dist/minecraft-assets/items/recovery_compass_07.png +0 -0
  574. package/frontend/dist/minecraft-assets/items/recovery_compass_08.png +0 -0
  575. package/frontend/dist/minecraft-assets/items/recovery_compass_09.png +0 -0
  576. package/frontend/dist/minecraft-assets/items/recovery_compass_10.png +0 -0
  577. package/frontend/dist/minecraft-assets/items/recovery_compass_11.png +0 -0
  578. package/frontend/dist/minecraft-assets/items/recovery_compass_12.png +0 -0
  579. package/frontend/dist/minecraft-assets/items/recovery_compass_13.png +0 -0
  580. package/frontend/dist/minecraft-assets/items/recovery_compass_14.png +0 -0
  581. package/frontend/dist/minecraft-assets/items/recovery_compass_15.png +0 -0
  582. package/frontend/dist/minecraft-assets/items/recovery_compass_16.png +0 -0
  583. package/frontend/dist/minecraft-assets/items/recovery_compass_17.png +0 -0
  584. package/frontend/dist/minecraft-assets/items/recovery_compass_18.png +0 -0
  585. package/frontend/dist/minecraft-assets/items/recovery_compass_19.png +0 -0
  586. package/frontend/dist/minecraft-assets/items/recovery_compass_20.png +0 -0
  587. package/frontend/dist/minecraft-assets/items/recovery_compass_21.png +0 -0
  588. package/frontend/dist/minecraft-assets/items/recovery_compass_22.png +0 -0
  589. package/frontend/dist/minecraft-assets/items/recovery_compass_23.png +0 -0
  590. package/frontend/dist/minecraft-assets/items/recovery_compass_24.png +0 -0
  591. package/frontend/dist/minecraft-assets/items/recovery_compass_25.png +0 -0
  592. package/frontend/dist/minecraft-assets/items/recovery_compass_26.png +0 -0
  593. package/frontend/dist/minecraft-assets/items/recovery_compass_27.png +0 -0
  594. package/frontend/dist/minecraft-assets/items/recovery_compass_28.png +0 -0
  595. package/frontend/dist/minecraft-assets/items/recovery_compass_29.png +0 -0
  596. package/frontend/dist/minecraft-assets/items/recovery_compass_30.png +0 -0
  597. package/frontend/dist/minecraft-assets/items/recovery_compass_31.png +0 -0
  598. package/frontend/dist/minecraft-assets/items/red_candle.png +0 -0
  599. package/frontend/dist/minecraft-assets/items/red_dye.png +0 -0
  600. package/frontend/dist/minecraft-assets/items/redstone.png +0 -0
  601. package/frontend/dist/minecraft-assets/items/repeater.png +0 -0
  602. package/frontend/dist/minecraft-assets/items/rib_armor_trim_smithing_template.png +0 -0
  603. package/frontend/dist/minecraft-assets/items/rotten_flesh.png +0 -0
  604. package/frontend/dist/minecraft-assets/items/saddle.png +0 -0
  605. package/frontend/dist/minecraft-assets/items/salmon.png +0 -0
  606. package/frontend/dist/minecraft-assets/items/salmon_bucket.png +0 -0
  607. package/frontend/dist/minecraft-assets/items/scute.png +0 -0
  608. package/frontend/dist/minecraft-assets/items/sea_pickle.png +0 -0
  609. package/frontend/dist/minecraft-assets/items/seagrass.png +0 -0
  610. package/frontend/dist/minecraft-assets/items/sentry_armor_trim_smithing_template.png +0 -0
  611. package/frontend/dist/minecraft-assets/items/shaper_armor_trim_smithing_template.png +0 -0
  612. package/frontend/dist/minecraft-assets/items/sheaf_pottery_sherd.png +0 -0
  613. package/frontend/dist/minecraft-assets/items/shears.png +0 -0
  614. package/frontend/dist/minecraft-assets/items/shelter_pottery_sherd.png +0 -0
  615. package/frontend/dist/minecraft-assets/items/shulker_shell.png +0 -0
  616. package/frontend/dist/minecraft-assets/items/silence_armor_trim_smithing_template.png +0 -0
  617. package/frontend/dist/minecraft-assets/items/skull_banner_pattern.png +0 -0
  618. package/frontend/dist/minecraft-assets/items/skull_pottery_sherd.png +0 -0
  619. package/frontend/dist/minecraft-assets/items/slime_ball.png +0 -0
  620. package/frontend/dist/minecraft-assets/items/sniffer_egg.png +0 -0
  621. package/frontend/dist/minecraft-assets/items/snort_pottery_sherd.png +0 -0
  622. package/frontend/dist/minecraft-assets/items/snout_armor_trim_smithing_template.png +0 -0
  623. package/frontend/dist/minecraft-assets/items/snowball.png +0 -0
  624. package/frontend/dist/minecraft-assets/items/soul_campfire.png +0 -0
  625. package/frontend/dist/minecraft-assets/items/soul_lantern.png +0 -0
  626. package/frontend/dist/minecraft-assets/items/spawn_egg.png +0 -0
  627. package/frontend/dist/minecraft-assets/items/spawn_egg_overlay.png +0 -0
  628. package/frontend/dist/minecraft-assets/items/spectral_arrow.png +0 -0
  629. package/frontend/dist/minecraft-assets/items/spider_eye.png +0 -0
  630. package/frontend/dist/minecraft-assets/items/spire_armor_trim_smithing_template.png +0 -0
  631. package/frontend/dist/minecraft-assets/items/splash_potion.png +0 -0
  632. package/frontend/dist/minecraft-assets/items/spruce_boat.png +0 -0
  633. package/frontend/dist/minecraft-assets/items/spruce_chest_boat.png +0 -0
  634. package/frontend/dist/minecraft-assets/items/spruce_door.png +0 -0
  635. package/frontend/dist/minecraft-assets/items/spruce_hanging_sign.png +0 -0
  636. package/frontend/dist/minecraft-assets/items/spruce_sign.png +0 -0
  637. package/frontend/dist/minecraft-assets/items/spyglass.png +0 -0
  638. package/frontend/dist/minecraft-assets/items/spyglass_model.png +0 -0
  639. package/frontend/dist/minecraft-assets/items/stick.png +0 -0
  640. package/frontend/dist/minecraft-assets/items/stone_axe.png +0 -0
  641. package/frontend/dist/minecraft-assets/items/stone_hoe.png +0 -0
  642. package/frontend/dist/minecraft-assets/items/stone_pickaxe.png +0 -0
  643. package/frontend/dist/minecraft-assets/items/stone_shovel.png +0 -0
  644. package/frontend/dist/minecraft-assets/items/stone_sword.png +0 -0
  645. package/frontend/dist/minecraft-assets/items/string.png +0 -0
  646. package/frontend/dist/minecraft-assets/items/structure_void.png +0 -0
  647. package/frontend/dist/minecraft-assets/items/sugar.png +0 -0
  648. package/frontend/dist/minecraft-assets/items/sugar_cane.png +0 -0
  649. package/frontend/dist/minecraft-assets/items/suspicious_stew.png +0 -0
  650. package/frontend/dist/minecraft-assets/items/sweet_berries.png +0 -0
  651. package/frontend/dist/minecraft-assets/items/tadpole_bucket.png +0 -0
  652. package/frontend/dist/minecraft-assets/items/tide_armor_trim_smithing_template.png +0 -0
  653. package/frontend/dist/minecraft-assets/items/tipped_arrow_base.png +0 -0
  654. package/frontend/dist/minecraft-assets/items/tipped_arrow_head.png +0 -0
  655. package/frontend/dist/minecraft-assets/items/tnt_minecart.png +0 -0
  656. package/frontend/dist/minecraft-assets/items/torchflower_seeds.png +0 -0
  657. package/frontend/dist/minecraft-assets/items/totem_of_undying.png +0 -0
  658. package/frontend/dist/minecraft-assets/items/trident.png +0 -0
  659. package/frontend/dist/minecraft-assets/items/tropical_fish.png +0 -0
  660. package/frontend/dist/minecraft-assets/items/tropical_fish_bucket.png +0 -0
  661. package/frontend/dist/minecraft-assets/items/turtle_egg.png +0 -0
  662. package/frontend/dist/minecraft-assets/items/turtle_helmet.png +0 -0
  663. package/frontend/dist/minecraft-assets/items/vex_armor_trim_smithing_template.png +0 -0
  664. package/frontend/dist/minecraft-assets/items/ward_armor_trim_smithing_template.png +0 -0
  665. package/frontend/dist/minecraft-assets/items/warped_door.png +0 -0
  666. package/frontend/dist/minecraft-assets/items/warped_fungus_on_a_stick.png +0 -0
  667. package/frontend/dist/minecraft-assets/items/warped_hanging_sign.png +0 -0
  668. package/frontend/dist/minecraft-assets/items/warped_sign.png +0 -0
  669. package/frontend/dist/minecraft-assets/items/water_bucket.png +0 -0
  670. package/frontend/dist/minecraft-assets/items/wayfinder_armor_trim_smithing_template.png +0 -0
  671. package/frontend/dist/minecraft-assets/items/wheat.png +0 -0
  672. package/frontend/dist/minecraft-assets/items/wheat_seeds.png +0 -0
  673. package/frontend/dist/minecraft-assets/items/white_candle.png +0 -0
  674. package/frontend/dist/minecraft-assets/items/white_dye.png +0 -0
  675. package/frontend/dist/minecraft-assets/items/wild_armor_trim_smithing_template.png +0 -0
  676. package/frontend/dist/minecraft-assets/items/wooden_axe.png +0 -0
  677. package/frontend/dist/minecraft-assets/items/wooden_hoe.png +0 -0
  678. package/frontend/dist/minecraft-assets/items/wooden_pickaxe.png +0 -0
  679. package/frontend/dist/minecraft-assets/items/wooden_shovel.png +0 -0
  680. package/frontend/dist/minecraft-assets/items/wooden_sword.png +0 -0
  681. package/frontend/dist/minecraft-assets/items/writable_book.png +0 -0
  682. package/frontend/dist/minecraft-assets/items/written_book.png +0 -0
  683. package/frontend/dist/minecraft-assets/items/yellow_candle.png +0 -0
  684. package/frontend/dist/minecraft-assets/items/yellow_dye.png +0 -0
  685. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  686. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  687. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  688. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  689. package/frontend/package.json +4 -0
  690. package/package.json +1 -1
  691. package/screen/3dviewer.png +0 -0
  692. package/screen/console.png +0 -0
  693. package/screen/language_selector.png +0 -0
  694. package/.claude/agents/README.md +0 -469
  695. package/.claude/agents/auth-route-debugger.md +0 -118
  696. package/.claude/agents/auth-route-tester.md +0 -93
  697. package/.claude/agents/auto-error-resolver.md +0 -97
  698. package/.claude/agents/build-optimizer.md +0 -236
  699. package/.claude/agents/code-architect.md +0 -34
  700. package/.claude/agents/code-architecture-reviewer.md +0 -83
  701. package/.claude/agents/code-explorer.md +0 -51
  702. package/.claude/agents/code-refactor-master.md +0 -94
  703. package/.claude/agents/code-reviewer.md +0 -46
  704. package/.claude/agents/cost-optimizer.md +0 -134
  705. package/.claude/agents/deployment-orchestrator.md +0 -113
  706. package/.claude/agents/documentation-architect.md +0 -82
  707. package/.claude/agents/frontend-error-fixer.md +0 -77
  708. package/.claude/agents/iac-code-generator.md +0 -71
  709. package/.claude/agents/incident-responder.md +0 -346
  710. package/.claude/agents/infrastructure-architect.md +0 -31
  711. package/.claude/agents/kubernetes-specialist.md +0 -56
  712. package/.claude/agents/migration-planner.md +0 -181
  713. package/.claude/agents/network-architect.md +0 -196
  714. package/.claude/agents/plan-reviewer.md +0 -52
  715. package/.claude/agents/refactor-planner.md +0 -63
  716. package/.claude/agents/security-scanner.md +0 -102
  717. package/.claude/agents/web-research-specialist.md +0 -78
  718. package/.claude/commands/cost-analysis.md +0 -315
  719. package/.claude/commands/dev-docs-update.md +0 -55
  720. package/.claude/commands/dev-docs.md +0 -51
  721. package/.claude/commands/feature-dev.md +0 -125
  722. package/.claude/commands/incident-debug.md +0 -247
  723. package/.claude/commands/infra-plan.md +0 -81
  724. package/.claude/commands/migration-plan.md +0 -478
  725. package/.claude/commands/route-research-for-testing.md +0 -37
  726. package/.claude/commands/security-review.md +0 -66
  727. package/.claude/hooks/CONFIG.md +0 -448
  728. package/.claude/hooks/README.md +0 -163
  729. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  730. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  731. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  732. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  733. package/.claude/hooks/error-handling-reminder.sh +0 -12
  734. package/.claude/hooks/error-handling-reminder.ts +0 -222
  735. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  736. package/.claude/hooks/package-lock.json +0 -556
  737. package/.claude/hooks/package.json +0 -16
  738. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  739. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  740. package/.claude/hooks/security-policy-check.sh +0 -247
  741. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  742. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  743. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  744. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  745. package/.claude/hooks/terraform-validator.sh +0 -53
  746. package/.claude/hooks/test-input.json +0 -7
  747. package/.claude/hooks/test-skill-activation.ts +0 -427
  748. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  749. package/.claude/hooks/tsc-check.sh +0 -173
  750. package/.claude/hooks/tsconfig.json +0 -19
  751. package/.claude/settings.json +0 -59
  752. package/.claude/settings.local.json +0 -47
  753. package/.claude/skills/README.md +0 -507
  754. package/.claude/skills/api-engineering/SKILL.md +0 -63
  755. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  756. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  757. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  758. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  759. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  760. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  761. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  762. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  763. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  764. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  765. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  766. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  767. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  768. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  769. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  770. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  771. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  772. package/.claude/skills/build-engineering/SKILL.md +0 -431
  773. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  774. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  775. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  776. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  777. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  778. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  779. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  780. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  781. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  782. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  783. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  784. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  785. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  786. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  787. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  788. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  789. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  790. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  791. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  792. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  793. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  794. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  795. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  796. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  797. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  798. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  799. package/.claude/skills/database-engineering/SKILL.md +0 -61
  800. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  801. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  802. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  803. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  804. package/.claude/skills/devsecops/SKILL.md +0 -374
  805. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  806. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  807. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  808. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  809. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  810. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  811. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  812. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  813. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  814. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  815. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  816. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  817. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  818. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  819. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  820. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  821. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  822. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  823. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  824. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  825. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  826. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  827. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  828. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  829. package/.claude/skills/engineering-management/SKILL.md +0 -356
  830. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  831. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  832. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  833. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  834. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  835. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  836. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  837. package/.claude/skills/error-tracking/SKILL.md +0 -379
  838. package/.claude/skills/frontend-design/SKILL.md +0 -42
  839. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  840. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  841. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  842. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  843. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  844. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  845. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  846. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  847. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  848. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  849. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  850. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  851. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  852. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  853. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  854. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  855. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  856. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  857. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  858. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  859. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  860. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  861. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  862. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  863. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  864. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  865. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  866. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  867. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  868. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  869. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  870. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  871. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  872. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  873. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  874. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  875. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  876. package/.claude/skills/network-engineering/SKILL.md +0 -385
  877. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  878. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  879. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  880. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  881. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  882. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  883. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  884. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  885. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  886. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  887. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  888. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  889. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  890. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  891. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  892. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  893. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  894. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  895. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  896. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  897. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  898. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  899. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  900. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  901. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  902. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  903. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  904. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  905. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  906. package/.claude/skills/release-engineering/SKILL.md +0 -393
  907. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  908. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  909. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  910. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  911. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  912. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  913. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  914. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  915. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  916. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  917. package/.claude/skills/route-tester/SKILL.md +0 -392
  918. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  919. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  920. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  921. package/.claude/skills/skill-developer/SKILL.md +0 -430
  922. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  923. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  924. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  925. package/.claude/skills/skill-rules.json +0 -2940
  926. package/.claude/skills/sre/SKILL.md +0 -464
  927. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  928. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  929. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  930. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  931. package/.claude/skills/sre/resources/incident-management.md +0 -436
  932. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  933. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  934. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  935. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  936. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  937. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  938. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  939. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  940. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  941. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  942. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  943. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  944. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  945. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  946. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  947. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  948. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  949. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  950. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  951. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  952. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  953. package/frontend/dist/assets/index-DqzDkFsP.js +0 -11210
  954. package/frontend/dist/assets/index-t6K1u4OV.css +0 -32
@@ -1,2322 +0,0 @@
1
- # Compliance Frameworks
2
-
3
- Comprehensive guide to compliance frameworks including FedRAMP, CMMC, NIST 800-53/800-171, ITAR, CJIS, PCI-DSS, HIPAA, and SOC 2.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [FedRAMP (Federal Risk and Authorization Management Program)](#fedramp-federal-risk-and-authorization-management-program)
9
- - [CMMC (Cybersecurity Maturity Model Certification)](#cmmc-cybersecurity-maturity-model-certification)
10
- - [NIST 800-53](#nist-800-53)
11
- - [NIST 800-171](#nist-800-171)
12
- - [ITAR (International Traffic in Arms Regulations)](#itar-international-traffic-in-arms-regulations)
13
- - [CJIS (Criminal Justice Information Services)](#cjis-criminal-justice-information-services)
14
- - [PCI-DSS (Payment Card Industry Data Security Standard)](#pci-dss-payment-card-industry-data-security-standard)
15
- - [HIPAA (Health Insurance Portability and Accountability Act)](#hipaa-health-insurance-portability-and-accountability-act)
16
- - [SOC 2 (Service Organization Control 2)](#soc-2-service-organization-control-2)
17
- - [Compliance Mapping](#compliance-mapping)
18
- - [Implementation Checklists](#implementation-checklists)
19
- - [Audit Preparation](#audit-preparation)
20
- - [Best Practices](#best-practices)
21
-
22
- ---
23
-
24
- ## Overview
25
-
26
- **Compliance frameworks** provide structured approaches to implementing security controls, managing risk, and demonstrating compliance with regulatory requirements.
27
-
28
- **Framework Hierarchy:**
29
-
30
- ```
31
- Compliance Framework Landscape:
32
- ┌─────────────────────────────────────────────────────┐
33
- │ GOVERNMENT & DEFENSE │
34
- │ - FedRAMP (Low, Moderate, High) │
35
- │ - CMMC (Levels 1-3) │
36
- │ - NIST 800-53 (DoD, Federal) │
37
- │ - NIST 800-171 (CUI) │
38
- │ - ITAR (Export control) │
39
- │ - CJIS (Law enforcement) │
40
- ├─────────────────────────────────────────────────────┤
41
- │ COMMERCIAL & INDUSTRY │
42
- │ - PCI-DSS (Payment cards) │
43
- │ - HIPAA (Healthcare) │
44
- │ - SOC 2 (Service providers) │
45
- │ - ISO 27001 (International) │
46
- │ - GDPR (EU data protection) │
47
- └─────────────────────────────────────────────────────┘
48
- ```
49
-
50
- **Applicability Matrix:**
51
-
52
- | Framework | Industry | Scope | Mandatory |
53
- |-----------|----------|-------|-----------|
54
- | FedRAMP | Government cloud services | Federal agencies | Yes (for cloud) |
55
- | CMMC | Defense contractors | DoD supply chain | Yes (upcoming) |
56
- | NIST 800-53 | Federal agencies | Government systems | Yes |
57
- | NIST 800-171 | Defense contractors | CUI handling | Yes |
58
- | ITAR | Defense/aerospace | Export-controlled data | Yes |
59
- | CJIS | Law enforcement | Criminal justice data | Yes |
60
- | PCI-DSS | Payment processors | Card data | Yes |
61
- | HIPAA | Healthcare | PHI/ePHI | Yes |
62
- | SOC 2 | Service providers | Customer data | Voluntary |
63
-
64
- ---
65
-
66
- ## FedRAMP (Federal Risk and Authorization Management Program)
67
-
68
- **FedRAMP** is a government-wide program providing a standardized approach to security assessment, authorization, and continuous monitoring for cloud products and services.
69
-
70
- ### Impact Levels
71
-
72
- | Level | Controls | Data Classification | Use Case |
73
- |-------|----------|---------------------|----------|
74
- | **Low** | 125+ controls | Public information | Low-impact systems |
75
- | **Moderate** | 325+ controls | Moderate sensitivity | Most federal systems |
76
- | **High** | 421+ controls | High sensitivity | Law enforcement, financial |
77
-
78
- ### Control Families (NIST 800-53)
79
-
80
- ```
81
- FedRAMP Control Structure (800-53):
82
- ┌─────────────────────────────────────────────────────┐
83
- │ AC - Access Control (22 controls) │
84
- │ AT - Awareness and Training (5 controls) │
85
- │ AU - Audit and Accountability (16 controls) │
86
- │ CA - Security Assessment and Authorization (9) │
87
- │ CM - Configuration Management (11 controls) │
88
- │ CP - Contingency Planning (13 controls) │
89
- │ IA - Identification and Authentication (11) │
90
- │ IR - Incident Response (10 controls) │
91
- │ MA - Maintenance (6 controls) │
92
- │ MP - Media Protection (8 controls) │
93
- │ PE - Physical and Environmental Protection (20) │
94
- │ PL - Planning (9 controls) │
95
- │ PS - Personnel Security (8 controls) │
96
- │ RA - Risk Assessment (6 controls) │
97
- │ SA - System and Services Acquisition (23) │
98
- │ SC - System and Communications Protection (46) │
99
- │ SI - System and Information Integrity (23) │
100
- │ PM - Program Management (16 controls) │
101
- └─────────────────────────────────────────────────────┘
102
- ```
103
-
104
- ### Key Requirements
105
-
106
- **1. Continuous Monitoring:**
107
-
108
- ```yaml
109
- # continuous-monitoring-requirements.yaml
110
- monitoring:
111
- operating_system_scans:
112
- frequency: monthly
113
- tool: "Tenable, Qualys, or equivalent"
114
- scope: "All VMs, containers, serverless"
115
-
116
- database_scans:
117
- frequency: monthly
118
- tool: "AppDetectivePro, DbProtect, or equivalent"
119
- scope: "All databases (RDS, Aurora, etc.)"
120
-
121
- web_application_scans:
122
- frequency: monthly
123
- tool: "WebInspect, AppScan, Burp Suite"
124
- scope: "All public-facing applications"
125
-
126
- incident_response:
127
- initial_notification: "1 hour"
128
- full_report: "within SLA"
129
- documentation: "required in POA&M"
130
-
131
- inventory:
132
- update_frequency: "monthly"
133
- required_fields:
134
- - asset_type
135
- - ip_address
136
- - software_versions
137
- - patch_status
138
- - data_classification
139
- ```
140
-
141
- **2. FedRAMP Authorization Process:**
142
-
143
- ```
144
- Authorization Process (6-12 months):
145
- ┌─────────────────────────────────────────────────────┐
146
- │ 1. Package Development (2-4 months) │
147
- │ - System Security Plan (SSP) │
148
- │ - 13+ required attachments │
149
- │ - Control implementation evidence │
150
- ├─────────────────────────────────────────────────────┤
151
- │ 2. 3PAO Assessment (2-3 months) │
152
- │ - Security Assessment Plan (SAP) │
153
- │ - On-site assessment │
154
- │ - Security Assessment Report (SAR) │
155
- ├─────────────────────────────────────────────────────┤
156
- │ 3. Remediation (1-2 months) │
157
- │ - Fix identified vulnerabilities │
158
- │ - Document in POA&M │
159
- │ - 3PAO validation │
160
- ├─────────────────────────────────────────────────────┤
161
- │ 4. Authorization (1-3 months) │
162
- │ - FedRAMP PMO review │
163
- │ - JAB review (for JAB P-ATO) │
164
- │ - Agency review (for Agency ATO) │
165
- │ - Authorization to Operate (ATO) issued │
166
- ├─────────────────────────────────────────────────────┤
167
- │ 5. Continuous Monitoring (ongoing) │
168
- │ - Monthly deliverables │
169
- │ - Annual assessment │
170
- │ - POA&M updates │
171
- └─────────────────────────────────────────────────────┘
172
- ```
173
-
174
- **3. Terraform Implementation Example:**
175
-
176
- ```hcl
177
- # fedramp-compliant-infrastructure.tf
178
- # Example: FedRAMP Moderate baseline
179
-
180
- # Encryption at rest (SC-28)
181
- resource "aws_ebs_encryption_by_default" "fedramp" {
182
- enabled = true
183
- }
184
-
185
- # Logging and monitoring (AU-2, AU-3, AU-12)
186
- resource "aws_cloudtrail" "fedramp_trail" {
187
- name = "fedramp-cloudtrail"
188
- s3_bucket_name = aws_s3_bucket.cloudtrail_bucket.id
189
- include_global_service_events = true
190
- is_multi_region_trail = true
191
- enable_log_file_validation = true
192
-
193
- event_selector {
194
- read_write_type = "All"
195
- include_management_events = true
196
- }
197
-
198
- tags = {
199
- Compliance = "FedRAMP-Moderate"
200
- Control = "AU-2,AU-3,AU-12"
201
- }
202
- }
203
-
204
- # VPC Flow Logs (SI-4)
205
- resource "aws_flow_log" "fedramp_vpc_flow" {
206
- vpc_id = aws_vpc.main.id
207
- traffic_type = "ALL"
208
- iam_role_arn = aws_iam_role.flow_log_role.arn
209
- log_destination = aws_cloudwatch_log_group.flow_log.arn
210
-
211
- tags = {
212
- Control = "SI-4"
213
- }
214
- }
215
-
216
- # Config for compliance monitoring (CM-2, CM-3, CM-6)
217
- resource "aws_config_configuration_recorder" "fedramp" {
218
- name = "fedramp-config-recorder"
219
- role_arn = aws_iam_role.config_role.arn
220
-
221
- recording_group {
222
- all_supported = true
223
- include_global_resource_types = true
224
- }
225
- }
226
-
227
- resource "aws_config_configuration_recorder_status" "fedramp" {
228
- name = aws_config_configuration_recorder.fedramp.name
229
- is_enabled = true
230
- }
231
-
232
- # GuardDuty for threat detection (SI-4)
233
- resource "aws_guardduty_detector" "fedramp" {
234
- enable = true
235
-
236
- datasources {
237
- s3_logs {
238
- enable = true
239
- }
240
- kubernetes {
241
- audit_logs {
242
- enable = true
243
- }
244
- }
245
- }
246
-
247
- tags = {
248
- Control = "SI-4"
249
- }
250
- }
251
-
252
- # Security Hub for centralized findings (CA-7, RA-5, SI-2)
253
- resource "aws_securityhub_account" "fedramp" {}
254
-
255
- resource "aws_securityhub_standards_subscription" "cis" {
256
- depends_on = [aws_securityhub_account.fedramp]
257
- standards_arn = "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"
258
- }
259
-
260
- # KMS for encryption (SC-12, SC-13)
261
- resource "aws_kms_key" "fedramp" {
262
- description = "FedRAMP encryption key"
263
- deletion_window_in_days = 30
264
- enable_key_rotation = true
265
-
266
- tags = {
267
- Control = "SC-12,SC-13"
268
- }
269
- }
270
-
271
- # WAF for application protection (SC-7)
272
- resource "aws_wafv2_web_acl" "fedramp" {
273
- name = "fedramp-waf"
274
- scope = "REGIONAL"
275
-
276
- default_action {
277
- allow {}
278
- }
279
-
280
- rule {
281
- name = "RateLimitRule"
282
- priority = 1
283
-
284
- statement {
285
- rate_based_statement {
286
- limit = 2000
287
- aggregate_key_type = "IP"
288
- }
289
- }
290
-
291
- action {
292
- block {}
293
- }
294
-
295
- visibility_config {
296
- cloudwatch_metrics_enabled = true
297
- metric_name = "RateLimitRule"
298
- sampled_requests_enabled = true
299
- }
300
- }
301
-
302
- visibility_config {
303
- cloudwatch_metrics_enabled = true
304
- metric_name = "FedRAMPWAF"
305
- sampled_requests_enabled = true
306
- }
307
-
308
- tags = {
309
- Control = "SC-7"
310
- }
311
- }
312
- ```
313
-
314
- ---
315
-
316
- ## CMMC (Cybersecurity Maturity Model Certification)
317
-
318
- **CMMC 2.0** is a cybersecurity framework for the Defense Industrial Base (DIB) to protect Controlled Unclassified Information (CUI) and Federal Contract Information (FCI).
319
-
320
- ### CMMC Levels
321
-
322
- ```
323
- CMMC 2.0 Structure:
324
- ┌─────────────────────────────────────────────────────┐
325
- │ Level 1: Foundational │
326
- │ - 17 practices (subset of FAR 52.204-21) │
327
- │ - Protects FCI (Federal Contract Information) │
328
- │ - Annual self-assessment │
329
- │ - Required for all DoD contractors │
330
- ├─────────────────────────────────────────────────────┤
331
- │ Level 2: Advanced │
332
- │ - 110 practices (NIST SP 800-171 Rev 2) │
333
- │ - Protects CUI (Controlled Unclassified Info) │
334
- │ - Self-assessment OR C3PAO assessment │
335
- │ - Required for CUI contractors │
336
- ├─────────────────────────────────────────────────────┤
337
- │ Level 3: Expert │
338
- │ - 110+ practices (subset of NIST SP 800-172) │
339
- │ - Advanced/persistent threats (APT) │
340
- │ - C3PAO assessment required │
341
- │ - Government validation required │
342
- │ - Critical national security programs │
343
- └─────────────────────────────────────────────────────┘
344
- ```
345
-
346
- ### CMMC Level 1 (17 Practices)
347
-
348
- **Control Domains:**
349
-
350
- ```yaml
351
- # CMMC Level 1 Requirements
352
- access_control:
353
- - AC.L1-3.1.1: "Limit system access to authorized users"
354
- - AC.L1-3.1.2: "Limit system access to transaction types"
355
- - AC.L1-3.1.20: "External connections controlled"
356
- - AC.L1-3.1.22: "Control public information on systems"
357
-
358
- identification_authentication:
359
- - IA.L1-3.5.1: "Identify users, processes, devices"
360
- - IA.L1-3.5.2: "Authenticate users, processes, devices"
361
-
362
- media_protection:
363
- - MP.L1-3.8.3: "Sanitize/dispose of media with CUI"
364
-
365
- physical_protection:
366
- - PE.L1-3.10.1: "Limit physical access to systems"
367
- - PE.L1-3.10.3: "Escort visitors"
368
- - PE.L1-3.10.4: "Physical access logs"
369
- - PE.L1-3.10.5: "Manage physical access devices"
370
-
371
- system_communications_protection:
372
- - SC.L1-3.13.1: "Boundary protection"
373
- - SC.L1-3.13.5: "Public-access system separation"
374
-
375
- system_information_integrity:
376
- - SI.L1-3.14.1: "Identify/report/correct flaws"
377
- - SI.L1-3.14.2: "Malicious code protection"
378
- - SI.L1-3.14.4: "Update malicious code protection"
379
- - SI.L1-3.14.5: "System/file scans"
380
- ```
381
-
382
- ### CMMC Level 2 (NIST 800-171)
383
-
384
- **14 Control Families:**
385
-
386
- ```
387
- NIST 800-171 Control Families (110 controls):
388
- ┌─────────────────────────────────────────────────────┐
389
- │ 3.1 Access Control (AC) - 22 requirements │
390
- │ 3.2 Awareness and Training (AT) - 3 requirements │
391
- │ 3.3 Audit and Accountability (AU) - 9 requirements │
392
- │ 3.4 Configuration Management (CM) - 9 requirements │
393
- │ 3.5 Identification & Authentication (IA) - 11 req │
394
- │ 3.6 Incident Response (IR) - 5 requirements │
395
- │ 3.7 Maintenance (MA) - 6 requirements │
396
- │ 3.8 Media Protection (MP) - 9 requirements │
397
- │ 3.9 Personnel Security (PS) - 2 requirements │
398
- │ 3.10 Physical Protection (PE) - 6 requirements │
399
- │ 3.11 Risk Assessment (RA) - 5 requirements │
400
- │ 3.12 Security Assessment (CA) - 5 requirements │
401
- │ 3.13 System/Comms Protection (SC) - 13 requirements │
402
- │ 3.14 System/Info Integrity (SI) - 5 requirements │
403
- └─────────────────────────────────────────────────────┘
404
- ```
405
-
406
- **Implementation Example:**
407
-
408
- ```hcl
409
- # cmmc-level2-controls.tf
410
- # Example: NIST 800-171 controls
411
-
412
- # 3.1.1 - Limit system access to authorized users
413
- resource "aws_iam_account_password_policy" "cmmc" {
414
- minimum_password_length = 14
415
- require_lowercase_characters = true
416
- require_numbers = true
417
- require_uppercase_characters = true
418
- require_symbols = true
419
- allow_users_to_change_password = true
420
- max_password_age = 90
421
- password_reuse_prevention = 24
422
- }
423
-
424
- # 3.1.3 - Control flow of CUI
425
- resource "aws_security_group" "cmmc_app" {
426
- name = "cmmc-application-sg"
427
- description = "CMMC Level 2 security group"
428
- vpc_id = aws_vpc.main.id
429
-
430
- # Only allow traffic from known sources
431
- ingress {
432
- description = "HTTPS from approved networks"
433
- from_port = 443
434
- to_port = 443
435
- protocol = "tcp"
436
- cidr_blocks = ["10.0.0.0/8"] # Internal only
437
- }
438
-
439
- # Deny all by default
440
- egress {
441
- description = "Allow HTTPS to approved destinations"
442
- from_port = 443
443
- to_port = 443
444
- protocol = "tcp"
445
- cidr_blocks = ["10.0.0.0/8"]
446
- }
447
-
448
- tags = {
449
- CMMC_Control = "3.1.3"
450
- CUI = "true"
451
- }
452
- }
453
-
454
- # 3.3.1 - Create audit records
455
- resource "aws_cloudwatch_log_group" "cmmc_audit" {
456
- name = "/cmmc/audit-logs"
457
- retention_in_days = 365 # CMMC requires 1 year minimum
458
-
459
- tags = {
460
- CMMC_Control = "3.3.1"
461
- DataType = "AuditLogs"
462
- }
463
- }
464
-
465
- # 3.8.3 - Sanitize/destroy media containing CUI
466
- resource "aws_s3_bucket" "cmmc_cui" {
467
- bucket = "cmmc-cui-data"
468
-
469
- tags = {
470
- DataClassification = "CUI"
471
- CMMC_Control = "3.8.3"
472
- }
473
- }
474
-
475
- resource "aws_s3_bucket_lifecycle_configuration" "cmmc_cui_lifecycle" {
476
- bucket = aws_s3_bucket.cmmc_cui.id
477
-
478
- rule {
479
- id = "cui-retention-deletion"
480
- status = "Enabled"
481
-
482
- expiration {
483
- days = 2555 # 7 years
484
- }
485
-
486
- noncurrent_version_expiration {
487
- noncurrent_days = 30
488
- }
489
- }
490
- }
491
-
492
- # 3.13.8 - Cryptographic protection
493
- resource "aws_s3_bucket_server_side_encryption_configuration" "cmmc_cui" {
494
- bucket = aws_s3_bucket.cmmc_cui.id
495
-
496
- rule {
497
- apply_server_side_encryption_by_default {
498
- sse_algorithm = "aws:kms"
499
- kms_master_key_id = aws_kms_key.cmmc.arn
500
- }
501
- bucket_key_enabled = true
502
- }
503
- }
504
-
505
- # 3.13.11 - Cryptographic mechanisms (FIPS 140-2)
506
- resource "aws_kms_key" "cmmc" {
507
- description = "CMMC CUI encryption key"
508
- deletion_window_in_days = 30
509
- enable_key_rotation = true
510
-
511
- tags = {
512
- CMMC_Control = "3.13.11"
513
- FIPS_140_2 = "true"
514
- }
515
- }
516
-
517
- # 3.14.1 - Timely flaw identification
518
- resource "aws_inspector2_enabler" "cmmc" {
519
- account_ids = [data.aws_caller_identity.current.account_id]
520
- resource_types = ["EC2", "ECR", "LAMBDA"]
521
- }
522
- ```
523
-
524
- ### Score Interpretation
525
-
526
- ```
527
- CMMC Scoring System:
528
- ┌─────────────────────────────────────────────────────┐
529
- │ Met (3 points) │
530
- │ - Fully implemented │
531
- │ - Evidence provided │
532
- │ - Sustainable/documented │
533
- ├─────────────────────────────────────────────────────┤
534
- │ Not Met (0 points) │
535
- │ - Not implemented │
536
- │ - Partially implemented │
537
- │ - No evidence │
538
- ├─────────────────────────────────────────────────────┤
539
- │ Not Applicable (N/A) │
540
- │ - Control doesn't apply to system │
541
- │ - Must justify why │
542
- └─────────────────────────────────────────────────────┘
543
-
544
- Scoring Threshold:
545
- - Level 1: Must meet all 17 practices (100%)
546
- - Level 2: Must meet all 110 practices (100%)
547
- - Level 3: Must meet all enhanced practices (100%)
548
- ```
549
-
550
- ---
551
-
552
- ## NIST 800-53
553
-
554
- **NIST SP 800-53** provides a catalog of security and privacy controls for federal information systems and organizations.
555
-
556
- ### Revisions
557
-
558
- | Revision | Published | Controls | Focus |
559
- |----------|-----------|----------|-------|
560
- | Rev 4 | 2013 | 1000+ | Legacy federal systems |
561
- | Rev 5 | 2020 | 1000+ | Modern threats, supply chain, privacy |
562
-
563
- ### Control Baselines
564
-
565
- ```
566
- NIST 800-53 Baselines:
567
- ┌─────────────────────────────────────────────────────┐
568
- │ LOW Impact (125 controls) │
569
- │ - Confidentiality: Low │
570
- │ - Integrity: Low │
571
- │ - Availability: Low │
572
- │ - Example: Public website │
573
- ├─────────────────────────────────────────────────────┤
574
- │ MODERATE Impact (325 controls) │
575
- │ - Confidentiality: Moderate │
576
- │ - Integrity: Moderate │
577
- │ - Availability: Moderate │
578
- │ - Example: Most federal systems │
579
- ├─────────────────────────────────────────────────────┤
580
- │ HIGH Impact (421 controls) │
581
- │ - Confidentiality: High │
582
- │ - Integrity: High │
583
- │ - Availability: High │
584
- │ - Example: National security systems │
585
- └─────────────────────────────────────────────────────┘
586
- ```
587
-
588
- ### Key Control Families
589
-
590
- **Access Control (AC):**
591
- ```yaml
592
- # Example: AC-2 Account Management
593
- AC-2:
594
- control: "Account Management"
595
- requirement: |
596
- a. Define and document account types
597
- b. Assign account managers
598
- c. Require approvals for account creation
599
- d. Create, enable, modify, disable, remove accounts per procedures
600
- e. Monitor account use
601
- f. Notify account managers when accounts no longer needed
602
- g. Authorize access based on valid authorization
603
- h. Notify account managers when system usage or need-to-know changes
604
- i. Review accounts for compliance
605
- j. Establish process for reissuing credentials
606
-
607
- implementation:
608
- - name: "Automated account management"
609
- tool: "AWS IAM, Azure AD"
610
- automation: |
611
- - Terraform/IaC for account provisioning
612
- - Lambda/Azure Functions for lifecycle management
613
- - CloudWatch/Azure Monitor for usage monitoring
614
- ```
615
-
616
- ---
617
-
618
- ## NIST 800-171
619
-
620
- **NIST SP 800-171** protects Controlled Unclassified Information (CUI) in non-federal systems and organizations.
621
-
622
- ### Scope
623
-
624
- ```
625
- 800-171 Applicability:
626
- ┌─────────────────────────────────────────────────────┐
627
- │ WHO: Defense contractors, subcontractors │
628
- │ WHAT: Systems processing/storing/transmitting CUI │
629
- │ WHEN: Required in DoD contracts (DFARS clause) │
630
- │ WHERE: Contractor-owned systems │
631
- └─────────────────────────────────────────────────────┘
632
- ```
633
-
634
- ### Control Requirements (110 Total)
635
-
636
- **Key Requirements:**
637
-
638
- ```yaml
639
- # High-priority 800-171 controls
640
- critical_controls:
641
- access_control:
642
- - "3.1.1: Limit access to authorized users/processes"
643
- - "3.1.2: Limit access to authorized functions"
644
- - "3.1.5: Multi-factor authentication"
645
- - "3.1.12: Monitor/control remote sessions"
646
-
647
- identification_authentication:
648
- - "3.5.3: MFA for privileged and non-privileged accounts"
649
- - "3.5.7: Prevent password reuse (24 generations)"
650
- - "3.5.8: Prohibit password reuse"
651
- - "3.5.10: Store/transmit encrypted credentials"
652
-
653
- media_protection:
654
- - "3.8.3: Sanitize/destroy media with CUI"
655
- - "3.8.9: Protect backups in separate facility"
656
-
657
- system_communications_protection:
658
- - "3.13.8: Implement cryptographic mechanisms"
659
- - "3.13.11: FIPS-validated cryptography for CUI"
660
-
661
- audit_accountability:
662
- - "3.3.1: Create audit records"
663
- - "3.3.2: Ensure actions traced to users"
664
- - "3.3.8: Protect audit information"
665
- - "3.3.9: Limit audit information management"
666
- ```
667
-
668
- ### Assessment Methodology
669
-
670
- ```python
671
- # nist-800-171-assessment.py
672
- """NIST 800-171 self-assessment tool"""
673
-
674
- class NIST_800_171_Assessment:
675
- def __init__(self):
676
- self.controls = self.load_controls()
677
- self.scores = {}
678
-
679
- def assess_control(self, control_id, implementation_status):
680
- """
681
- Assess a single control
682
-
683
- Args:
684
- control_id: e.g., "3.1.1"
685
- implementation_status: "implemented", "partially", "planned", "not_implemented"
686
-
687
- Returns:
688
- Score: 5 (implemented), 3 (partially), 1 (planned), 0 (not implemented)
689
- """
690
- score_map = {
691
- "implemented": 5,
692
- "partially": 3,
693
- "planned": 1,
694
- "not_implemented": 0
695
- }
696
-
697
- self.scores[control_id] = score_map.get(implementation_status, 0)
698
- return self.scores[control_id]
699
-
700
- def calculate_score(self):
701
- """Calculate overall assessment score"""
702
- total_possible = len(self.controls) * 5
703
- total_achieved = sum(self.scores.values())
704
- percentage = (total_achieved / total_possible) * 100
705
-
706
- return {
707
- "total_controls": len(self.controls),
708
- "total_possible_points": total_possible,
709
- "points_achieved": total_achieved,
710
- "percentage": percentage,
711
- "recommendation": self.get_recommendation(percentage)
712
- }
713
-
714
- def get_recommendation(self, percentage):
715
- """Provide recommendation based on score"""
716
- if percentage >= 95:
717
- return "Ready for C3PAO assessment"
718
- elif percentage >= 80:
719
- return "Close to ready, address remaining gaps"
720
- elif percentage >= 60:
721
- return "Significant work needed, prioritize high-impact controls"
722
- else:
723
- return "Early stage, develop comprehensive implementation plan"
724
-
725
- def generate_poam(self):
726
- """Generate Plan of Action and Milestones"""
727
- poam = []
728
- for control_id, score in self.scores.items():
729
- if score < 5: # Not fully implemented
730
- poam.append({
731
- "control": control_id,
732
- "current_score": score,
733
- "weakness": self.controls[control_id]["description"],
734
- "resources": "TBD",
735
- "scheduled_completion": "TBD",
736
- "milestones": []
737
- })
738
- return poam
739
-
740
- # Usage
741
- assessment = NIST_800_171_Assessment()
742
- assessment.assess_control("3.1.1", "implemented")
743
- assessment.assess_control("3.1.5", "partially")
744
- results = assessment.calculate_score()
745
- poam = assessment.generate_poam()
746
- ```
747
-
748
- ---
749
-
750
- ## ITAR (International Traffic in Arms Regulations)
751
-
752
- **ITAR** controls the export and import of defense-related articles and services on the United States Munitions List (USML).
753
-
754
- ### Key Requirements
755
-
756
- ```
757
- ITAR Compliance Requirements:
758
- ┌─────────────────────────────────────────────────────┐
759
- │ DATA PROTECTION │
760
- │ - Export-controlled data segregation │
761
- │ - Access limited to U.S. persons │
762
- │ - No foreign national access without authorization │
763
- │ - Encrypted storage and transmission │
764
- ├─────────────────────────────────────────────────────┤
765
- │ PERSONNEL │
766
- │ - U.S. citizenship verification │
767
- │ - Foreign person access requires DSP-5/TAA │
768
- │ - Background checks │
769
- │ - Security awareness training │
770
- ├─────────────────────────────────────────────────────┤
771
- │ TECHNICAL │
772
- │ - Geographic restrictions (U.S. data centers) │
773
- │ - No international data transfers │
774
- │ - Segregated from non-ITAR data │
775
- │ - Audit trails for all access │
776
- └─────────────────────────────────────────────────────┘
777
- ```
778
-
779
- ### Cloud Implementation
780
-
781
- ```hcl
782
- # itar-compliant-infrastructure.tf
783
-
784
- # Restrict to U.S. regions only
785
- provider "aws" {
786
- region = "us-gov-west-1" # GovCloud only
787
-
788
- # Prevent accidental deployment to non-US regions
789
- allowed_account_ids = [var.govcloud_account_id]
790
- }
791
-
792
- # ITAR data bucket
793
- resource "aws_s3_bucket" "itar_data" {
794
- bucket = "itar-technical-data"
795
-
796
- tags = {
797
- DataClassification = "ITAR"
798
- ExportControl = "USML-Category-VIII"
799
- AccessRestriction = "US-Persons-Only"
800
- }
801
- }
802
-
803
- # Restrict access to U.S. persons only
804
- resource "aws_s3_bucket_policy" "itar_access" {
805
- bucket = aws_s3_bucket.itar_data.id
806
-
807
- policy = jsonencode({
808
- Version = "2012-10-17"
809
- Statement = [
810
- {
811
- Sid = "RestrictToUSPersons"
812
- Effect = "Deny"
813
- Principal = "*"
814
- Action = "s3:*"
815
- Resource = [
816
- "${aws_s3_bucket.itar_data.arn}",
817
- "${aws_s3_bucket.itar_data.arn}/*"
818
- ]
819
- Condition = {
820
- StringNotEquals = {
821
- "aws:PrincipalTag/Citizenship" = "US"
822
- }
823
- }
824
- },
825
- {
826
- Sid = "EnforceEncryption"
827
- Effect = "Deny"
828
- Principal = "*"
829
- Action = "s3:PutObject"
830
- Resource = "${aws_s3_bucket.itar_data.arn}/*"
831
- Condition = {
832
- StringNotEquals = {
833
- "s3:x-amz-server-side-encryption" = "aws:kms"
834
- }
835
- }
836
- }
837
- ]
838
- })
839
- }
840
-
841
- # VPC with no internet access
842
- resource "aws_vpc" "itar_vpc" {
843
- cidr_block = "10.100.0.0/16"
844
-
845
- tags = {
846
- Name = "itar-vpc"
847
- DataClassification = "ITAR"
848
- }
849
- }
850
-
851
- # NO internet gateway - completely isolated
852
- # Access only via Direct Connect from U.S. facilities
853
-
854
- resource "aws_subnet" "itar_private" {
855
- vpc_id = aws_vpc.itar_vpc.id
856
- cidr_block = "10.100.1.0/24"
857
- availability_zone = "us-gov-west-1a"
858
-
859
- tags = {
860
- Name = "itar-private-subnet"
861
- ITAR = "true"
862
- }
863
- }
864
-
865
- # Audit all access
866
- resource "aws_cloudtrail" "itar_audit" {
867
- name = "itar-audit-trail"
868
- s3_bucket_name = aws_s3_bucket.itar_audit_logs.id
869
- include_global_service_events = true
870
- is_multi_region_trail = false # Stay in US region only
871
- enable_log_file_validation = true
872
-
873
- event_selector {
874
- read_write_type = "All"
875
- include_management_events = true
876
-
877
- data_resource {
878
- type = "AWS::S3::Object"
879
- values = ["${aws_s3_bucket.itar_data.arn}/*"]
880
- }
881
- }
882
-
883
- tags = {
884
- Purpose = "ITAR-Compliance-Audit"
885
- }
886
- }
887
- ```
888
-
889
- ### Access Control Matrix
890
-
891
- ```yaml
892
- # ITAR access control matrix
893
- access_control:
894
- us_persons:
895
- definition: "U.S. citizens, permanent residents, protected persons"
896
- access: "Full access to ITAR data"
897
- verification: "I-9 verification required"
898
- documentation: "Citizenship proof on file"
899
-
900
- foreign_nationals:
901
- definition: "Non-U.S. persons"
902
- access: "DENIED unless authorized"
903
- authorization_required:
904
- - "DSP-5 (manufacturing license agreement)"
905
- - "TAA (Technical Assistance Agreement)"
906
- - "Approved by DDTC"
907
- documentation: "Export license on file"
908
-
909
- automated_systems:
910
- access: "Only if operated by U.S. persons"
911
- location: "Must reside in United States"
912
- support: "Support staff must be U.S. persons"
913
- ```
914
-
915
- ---
916
-
917
- ## CJIS (Criminal Justice Information Services)
918
-
919
- **CJIS Security Policy** governs access to Criminal Justice Information (CJI), including FBI databases, fingerprints, and criminal history records.
920
-
921
- ### Key Requirements
922
-
923
- ```
924
- CJIS Security Policy Areas:
925
- ┌─────────────────────────────────────────────────────┐
926
- │ 1. Information Exchange Agreements │
927
- │ 2. Security Awareness Training (mandatory) │
928
- │ 3. Incident Response │
929
- │ 4. Auditing and Accountability │
930
- │ 5. Access Control (MFA required) │
931
- │ 6. Identification and Authentication │
932
- │ 7. Configuration Management │
933
- │ 8. Media Protection │
934
- │ 9. Physical Protection │
935
- │ 10. System and Communications Protection │
936
- │ 11. Information Integrity │
937
- │ 12. Maintenance │
938
- │ 13. Personnel Security (background checks) │
939
- └─────────────────────────────────────────────────────┘
940
- ```
941
-
942
- ### Advanced Authentication (5.11.1)
943
-
944
- ```yaml
945
- # CJIS MFA requirements
946
- authentication_requirements:
947
- mfa_required_for:
948
- - "All users accessing CJI"
949
- - "Remote access (mandatory)"
950
- - "Local access (recommended)"
951
-
952
- acceptable_factors:
953
- - "Something you know (password/PIN)"
954
- - "Something you have (token, smart card, phone)"
955
- - "Something you are (biometric)"
956
-
957
- password_requirements:
958
- minimum_length: 8
959
- complexity: "Mix of upper, lower, numbers, special"
960
- max_age_days: 90
961
- history: 10 # Previous passwords
962
- account_lockout: 5 # Failed attempts
963
-
964
- implementation:
965
- aws:
966
- - "IAM with MFA enforcement"
967
- - "Cognito with TOTP/SMS"
968
- - "Directory Service with smart cards"
969
- azure:
970
- - "Azure AD with Conditional Access"
971
- - "MFA with authenticator app"
972
- gcp:
973
- - "Identity Platform with 2FA"
974
- - "Security keys"
975
- ```
976
-
977
- ### Encryption Requirements (5.10)
978
-
979
- ```hcl
980
- # CJIS encryption requirements
981
- # Data at rest: FIPS 140-2 validated encryption
982
- # Data in transit: TLS 1.2+ or IPsec
983
-
984
- # S3 bucket with CJIS-compliant encryption
985
- resource "aws_s3_bucket" "cji_data" {
986
- bucket = "cjis-criminal-data"
987
-
988
- tags = {
989
- DataType = "CJI"
990
- Compliance = "CJIS"
991
- Sensitivity = "Criminal-Justice-Information"
992
- }
993
- }
994
-
995
- resource "aws_s3_bucket_server_side_encryption_configuration" "cji_encryption" {
996
- bucket = aws_s3_bucket.cji_data.id
997
-
998
- rule {
999
- apply_server_side_encryption_by_default {
1000
- sse_algorithm = "aws:kms"
1001
- kms_master_key_id = aws_kms_key.cjis_key.arn
1002
- }
1003
- }
1004
- }
1005
-
1006
- # FIPS 140-2 validated KMS key
1007
- resource "aws_kms_key" "cjis_key" {
1008
- description = "CJIS CJI encryption key"
1009
- deletion_window_in_days = 30
1010
- enable_key_rotation = true
1011
-
1012
- tags = {
1013
- Compliance = "CJIS"
1014
- FIPS_140_2 = "Validated"
1015
- KeyPurpose = "CJI-Encryption"
1016
- }
1017
- }
1018
-
1019
- # Application Load Balancer with TLS 1.2+
1020
- resource "aws_lb_listener" "cjis_https" {
1021
- load_balancer_arn = aws_lb.cjis_lb.arn
1022
- port = 443
1023
- protocol = "HTTPS"
1024
- ssl_policy = "ELBSecurityPolicy-TLS-1-2-2017-01" # CJIS compliant
1025
- certificate_arn = aws_acm_certificate.cjis_cert.arn
1026
-
1027
- default_action {
1028
- type = "forward"
1029
- target_group_arn = aws_lb_target_group.cjis_tg.arn
1030
- }
1031
- }
1032
-
1033
- # VPN with IPsec for site-to-site
1034
- resource "aws_vpn_connection" "cjis_vpn" {
1035
- customer_gateway_id = aws_customer_gateway.agency_gateway.id
1036
- vpn_gateway_id = aws_vpn_gateway.cjis_vgw.id
1037
- type = "ipsec.1"
1038
-
1039
- # CJIS-approved cryptography
1040
- tunnel1_ike_versions = ["ikev2"]
1041
- tunnel1_phase1_encryption_algorithms = ["AES256"]
1042
- tunnel1_phase1_integrity_algorithms = ["SHA2-256"]
1043
- tunnel1_phase1_dh_group_numbers = [14]
1044
- tunnel1_phase2_encryption_algorithms = ["AES256"]
1045
- tunnel1_phase2_integrity_algorithms = ["SHA2-256"]
1046
- tunnel1_phase2_dh_group_numbers = [14]
1047
-
1048
- tags = {
1049
- Compliance = "CJIS-5.10"
1050
- }
1051
- }
1052
- ```
1053
-
1054
- ### Personnel Security (5.13)
1055
-
1056
- ```yaml
1057
- # CJIS personnel requirements
1058
- personnel_requirements:
1059
- background_checks:
1060
- federal_contractors:
1061
- - "FBI fingerprint check"
1062
- - "National criminal history check"
1063
- - "State criminal history check"
1064
-
1065
- noncriminal_justice_agencies:
1066
- - "State-based fingerprint and background check"
1067
- - "Covers felony and misdemeanor convictions"
1068
-
1069
- training:
1070
- frequency: "Annual"
1071
- topics:
1072
- - "CJIS Security Policy overview"
1073
- - "Appropriate use of CJI"
1074
- - "Sanctions for misuse"
1075
- - "Reporting procedures"
1076
- documentation: "Certificate of completion required"
1077
-
1078
- termination:
1079
- procedures:
1080
- - "Immediate access revocation"
1081
- - "Account deactivation within 2 hours"
1082
- - "Credential collection"
1083
- - "Exit interview"
1084
- ```
1085
-
1086
- ---
1087
-
1088
- ## PCI-DSS (Payment Card Industry Data Security Standard)
1089
-
1090
- **PCI-DSS** protects cardholder data and applies to any organization that stores, processes, or transmits credit card information.
1091
-
1092
- ### Requirements (12 Total)
1093
-
1094
- ```
1095
- PCI-DSS 4.0 Requirements:
1096
- ┌─────────────────────────────────────────────────────┐
1097
- │ Build and Maintain a Secure Network │
1098
- │ 1. Install and maintain network security controls │
1099
- │ 2. Apply secure configurations │
1100
- ├─────────────────────────────────────────────────────┤
1101
- │ Protect Account Data │
1102
- │ 3. Protect stored account data │
1103
- │ 4. Protect cardholder data with cryptography │
1104
- ├─────────────────────────────────────────────────────┤
1105
- │ Maintain a Vulnerability Management Program │
1106
- │ 5. Protect systems from malware │
1107
- │ 6. Develop and maintain secure systems │
1108
- ├─────────────────────────────────────────────────────┤
1109
- │ Implement Strong Access Control │
1110
- │ 7. Restrict access to system components and data │
1111
- │ 8. Identify users and authenticate access │
1112
- │ 9. Restrict physical access to cardholder data │
1113
- ├─────────────────────────────────────────────────────┤
1114
- │ Monitor and Test Networks │
1115
- │ 10. Log and monitor all access │
1116
- │ 11. Test security systems and processes regularly │
1117
- ├─────────────────────────────────────────────────────┤
1118
- │ Maintain an Information Security Policy │
1119
- │ 12. Support information security with policies │
1120
- └─────────────────────────────────────────────────────┘
1121
- ```
1122
-
1123
- ### Cardholder Data Environment (CDE)
1124
-
1125
- ```
1126
- CDE Architecture:
1127
- ┌─────────────────────────────────────────────────────┐
1128
- │ OUT-OF-SCOPE SYSTEMS │
1129
- │ - Marketing website │
1130
- │ - Corporate email │
1131
- │ - Internal apps (no CHD) │
1132
- └───────────┬─────────────────────────────────────────┘
1133
-
1134
- ↓ Firewall (Req 1.2)
1135
- ┌───────────┴─────────────────────────────────────────┐
1136
- │ CONNECTED-TO SYSTEMS (in scope) │
1137
- │ - Systems that connect to CDE │
1138
- │ - Must meet all PCI requirements │
1139
- │ - Can impact CDE security │
1140
- ├─────────────────────────────────────────────────────┤
1141
- │ ┌──────────────────────────────────────────┐ │
1142
- │ │ CARDHOLDER DATA ENVIRONMENT (CDE) │ │
1143
- │ │ - Payment processing app │ │
1144
- │ │ - Database with CHD │ │
1145
- │ │ - Payment gateway │ │
1146
- │ │ - Tokenization service │ │
1147
- │ └──────────────────────────────────────────┘ │
1148
- └─────────────────────────────────────────────────────┘
1149
- ```
1150
-
1151
- ### Implementation Example
1152
-
1153
- ```hcl
1154
- # pci-dss-infrastructure.tf
1155
-
1156
- # Requirement 1: Network segmentation
1157
- resource "aws_security_group" "pci_database" {
1158
- name = "pci-database-sg"
1159
- description = "PCI-DSS database security group"
1160
- vpc_id = aws_vpc.pci_vpc.id
1161
-
1162
- # Only allow access from application tier
1163
- ingress {
1164
- description = "PostgreSQL from app tier"
1165
- from_port = 5432
1166
- to_port = 5432
1167
- protocol = "tcp"
1168
- security_groups = [aws_security_group.pci_app.id]
1169
- }
1170
-
1171
- # No outbound internet access
1172
- egress {
1173
- description = "Allow internal VPC only"
1174
- from_port = 0
1175
- to_port = 0
1176
- protocol = "-1"
1177
- cidr_blocks = [aws_vpc.pci_vpc.cidr_block]
1178
- }
1179
-
1180
- tags = {
1181
- PCI_Requirement = "1.2.1"
1182
- Environment = "CDE"
1183
- }
1184
- }
1185
-
1186
- # Requirement 3: Protect stored CHD
1187
- resource "aws_db_instance" "pci_database" {
1188
- identifier = "pci-cardholder-db"
1189
- engine = "postgres"
1190
- engine_version = "14.7"
1191
- instance_class = "db.t3.medium"
1192
-
1193
- # Encryption at rest (Req 3.5)
1194
- storage_encrypted = true
1195
- kms_key_id = aws_kms_key.pci_key.arn
1196
-
1197
- # Automated backups (Req 3.4)
1198
- backup_retention_period = 35 # PCI requires ability to restore
1199
- backup_window = "03:00-04:00"
1200
-
1201
- # No public access (Req 1.3)
1202
- publicly_accessible = false
1203
-
1204
- # Enable logging (Req 10.2)
1205
- enabled_cloudwatch_logs_exports = ["postgresql", "upgrade"]
1206
-
1207
- tags = {
1208
- PCI_Requirement = "3.4,3.5"
1209
- DataType = "CHD"
1210
- }
1211
- }
1212
-
1213
- # Requirement 4: Encrypt transmission
1214
- resource "aws_lb" "pci_alb" {
1215
- name = "pci-alb"
1216
- internal = false
1217
- load_balancer_type = "application"
1218
- security_groups = [aws_security_group.pci_alb.id]
1219
- subnets = aws_subnet.pci_public[*].id
1220
-
1221
- tags = {
1222
- PCI_Requirement = "4.1"
1223
- }
1224
- }
1225
-
1226
- resource "aws_lb_listener" "pci_https" {
1227
- load_balancer_arn = aws_lb.pci_alb.arn
1228
- port = 443
1229
- protocol = "HTTPS"
1230
- ssl_policy = "ELBSecurityPolicy-TLS-1-2-Ext-2018-06" # PCI compliant
1231
- certificate_arn = aws_acm_certificate.pci_cert.arn
1232
-
1233
- default_action {
1234
- type = "forward"
1235
- target_group_arn = aws_lb_target_group.pci_app.arn
1236
- }
1237
- }
1238
-
1239
- # Requirement 8: Identify and authenticate
1240
- resource "aws_iam_account_password_policy" "pci" {
1241
- minimum_password_length = 12 # PCI requires 12+ characters
1242
- require_lowercase_characters = true
1243
- require_numbers = true
1244
- require_uppercase_characters = true
1245
- require_symbols = true
1246
- allow_users_to_change_password = true
1247
- max_password_age = 90
1248
- password_reuse_prevention = 4
1249
- }
1250
-
1251
- # Requirement 10: Log and monitor
1252
- resource "aws_cloudtrail" "pci_trail" {
1253
- name = "pci-audit-trail"
1254
- s3_bucket_name = aws_s3_bucket.pci_logs.id
1255
- include_global_service_events = true
1256
- is_multi_region_trail = true
1257
- enable_log_file_validation = true
1258
-
1259
- event_selector {
1260
- read_write_type = "All"
1261
- include_management_events = true
1262
- }
1263
-
1264
- tags = {
1265
- PCI_Requirement = "10.2,10.3"
1266
- }
1267
- }
1268
-
1269
- # Requirement 11: Vulnerability scanning
1270
- resource "aws_inspector2_enabler" "pci" {
1271
- account_ids = [data.aws_caller_identity.current.account_id]
1272
- resource_types = ["EC2", "ECR"]
1273
- }
1274
-
1275
- # ASV scan required quarterly - use approved vendor
1276
- ```
1277
-
1278
- ### SAQ (Self-Assessment Questionnaire) Types
1279
-
1280
- | SAQ Type | Description | Merchant Level |
1281
- |----------|-------------|----------------|
1282
- | A | Card-not-present, outsourced | Eligible merchants |
1283
- | A-EP | E-commerce, outsourced payment | Eligible merchants |
1284
- | B | Imprint machines, standalone terminals | Eligible merchants |
1285
- | B-IP | Standalone IP-connected terminals | Eligible merchants |
1286
- | C | Payment app systems, no electronic storage | Eligible merchants |
1287
- | C-VT | Virtual terminals, no electronic storage | Eligible merchants |
1288
- | D | All others, or SAQ D Merchant | All merchants |
1289
- | D (Service Provider) | Service providers | All service providers |
1290
-
1291
- ---
1292
-
1293
- ## HIPAA (Health Insurance Portability and Accountability Act)
1294
-
1295
- **HIPAA** protects Protected Health Information (PHI) and electronic PHI (ePHI) in healthcare.
1296
-
1297
- ### Key Rules
1298
-
1299
- ```
1300
- HIPAA Rules:
1301
- ┌─────────────────────────────────────────────────────┐
1302
- │ Privacy Rule (45 CFR Part 160, Part 164 Subparts A, E) │
1303
- │ - Patient rights to PHI │
1304
- │ - Permitted uses and disclosures │
1305
- │ - Minimum necessary standard │
1306
- ├─────────────────────────────────────────────────────┤
1307
- │ Security Rule (45 CFR Part 164 Subpart C) │
1308
- │ - Administrative safeguards │
1309
- │ - Physical safeguards │
1310
- │ - Technical safeguards │
1311
- ├─────────────────────────────────────────────────────┤
1312
- │ Breach Notification Rule │
1313
- │ - Notify individuals (60 days) │
1314
- │ - Notify HHS │
1315
- │ - Notify media (>500 affected) │
1316
- └─────────────────────────────────────────────────────┘
1317
- ```
1318
-
1319
- ### Security Rule Safeguards
1320
-
1321
- **Administrative Safeguards:**
1322
- ```yaml
1323
- administrative_safeguards:
1324
- security_management_process:
1325
- - "Risk analysis (required)"
1326
- - "Risk management (required)"
1327
- - "Sanction policy (required)"
1328
- - "Information system activity review (required)"
1329
-
1330
- assigned_security_responsibility:
1331
- - "Designate security official (required)"
1332
-
1333
- workforce_security:
1334
- - "Authorization/supervision (addressable)"
1335
- - "Workforce clearance (addressable)"
1336
- - "Termination procedures (addressable)"
1337
-
1338
- information_access_management:
1339
- - "Isolating health care clearinghouse (required)"
1340
- - "Access authorization (addressable)"
1341
- - "Access establishment/modification (addressable)"
1342
-
1343
- security_awareness_training:
1344
- - "Security reminders (addressable)"
1345
- - "Protection from malware (addressable)"
1346
- - "Log-in monitoring (addressable)"
1347
- - "Password management (addressable)"
1348
-
1349
- security_incident_procedures:
1350
- - "Response and reporting (required)"
1351
-
1352
- contingency_plan:
1353
- - "Data backup plan (required)"
1354
- - "Disaster recovery plan (required)"
1355
- - "Emergency mode operation plan (required)"
1356
- - "Testing/revision procedures (addressable)"
1357
- - "Applications and data criticality analysis (addressable)"
1358
-
1359
- evaluation:
1360
- - "Periodic technical/nontechnical evaluation (required)"
1361
-
1362
- business_associate_contracts:
1363
- - "Written contract/arrangement (required)"
1364
- ```
1365
-
1366
- **Technical Safeguards:**
1367
- ```hcl
1368
- # HIPAA technical safeguards implementation
1369
-
1370
- # Access Control (164.312(a)(1))
1371
- resource "aws_iam_role" "hipaa_app_role" {
1372
- name = "hipaa-application-role"
1373
-
1374
- assume_role_policy = jsonencode({
1375
- Version = "2012-10-17"
1376
- Statement = [{
1377
- Action = "sts:AssumeRole"
1378
- Effect = "Allow"
1379
- Principal = {
1380
- Service = "ec2.amazonaws.com"
1381
- }
1382
- }]
1383
- })
1384
-
1385
- tags = {
1386
- HIPAA_Control = "164.312(a)(1)"
1387
- Purpose = "Access-Control"
1388
- }
1389
- }
1390
-
1391
- # Unique user identification (164.312(a)(2)(i))
1392
- resource "aws_cognito_user_pool" "hipaa_users" {
1393
- name = "hipaa-user-pool"
1394
-
1395
- password_policy {
1396
- minimum_length = 12
1397
- require_lowercase = true
1398
- require_numbers = true
1399
- require_symbols = true
1400
- require_uppercase = true
1401
- temporary_password_validity_days = 1
1402
- }
1403
-
1404
- mfa_configuration = "ON" # HIPAA best practice
1405
-
1406
- account_recovery_setting {
1407
- recovery_mechanism {
1408
- name = "admin_only"
1409
- priority = 1
1410
- }
1411
- }
1412
-
1413
- tags = {
1414
- HIPAA_Control = "164.312(a)(2)(i)"
1415
- }
1416
- }
1417
-
1418
- # Encryption and decryption (164.312(a)(2)(iv))
1419
- resource "aws_kms_key" "hipaa_key" {
1420
- description = "HIPAA ePHI encryption key"
1421
- deletion_window_in_days = 30
1422
- enable_key_rotation = true
1423
-
1424
- tags = {
1425
- HIPAA_Control = "164.312(a)(2)(iv),164.312(e)(2)(ii)"
1426
- DataType = "ePHI"
1427
- }
1428
- }
1429
-
1430
- # RDS with encryption
1431
- resource "aws_db_instance" "hipaa_db" {
1432
- identifier = "hipaa-patient-db"
1433
- engine = "postgres"
1434
- instance_class = "db.t3.medium"
1435
-
1436
- # Encryption at rest
1437
- storage_encrypted = true
1438
- kms_key_id = aws_kms_key.hipaa_key.arn
1439
-
1440
- # Audit logging (164.312(b))
1441
- enabled_cloudwatch_logs_exports = ["postgresql"]
1442
-
1443
- # Backup/recovery (164.308(a)(7)(i))
1444
- backup_retention_period = 35
1445
- backup_window = "03:00-04:00"
1446
-
1447
- tags = {
1448
- HIPAA_Control = "164.312(a)(2)(iv),164.308(a)(7)(i)"
1449
- DataType = "ePHI"
1450
- }
1451
- }
1452
-
1453
- # Integrity controls (164.312(c)(1))
1454
- resource "aws_cloudtrail" "hipaa_audit" {
1455
- name = "hipaa-audit-trail"
1456
- s3_bucket_name = aws_s3_bucket.hipaa_logs.id
1457
- include_global_service_events = true
1458
- is_multi_region_trail = true
1459
- enable_log_file_validation = true # Integrity protection
1460
-
1461
- tags = {
1462
- HIPAA_Control = "164.312(c)(1),164.312(b)"
1463
- }
1464
- }
1465
-
1466
- # Transmission security (164.312(e)(1))
1467
- resource "aws_lb_listener" "hipaa_https" {
1468
- load_balancer_arn = aws_lb.hipaa_alb.arn
1469
- port = 443
1470
- protocol = "HTTPS"
1471
- ssl_policy = "ELBSecurityPolicy-TLS-1-2-2017-01"
1472
- certificate_arn = aws_acm_certificate.hipaa_cert.arn
1473
-
1474
- default_action {
1475
- type = "forward"
1476
- target_group_arn = aws_lb_target_group.hipaa_app.arn
1477
- }
1478
- }
1479
-
1480
- # Automatic logoff (164.312(a)(2)(iii))
1481
- resource "aws_cognito_user_pool_client" "hipaa_app" {
1482
- name = "hipaa-application"
1483
- user_pool_id = aws_cognito_user_pool.hipaa_users.id
1484
-
1485
- # Session timeout (30 minutes recommended)
1486
- refresh_token_validity = 30
1487
- access_token_validity = 30
1488
- id_token_validity = 30
1489
-
1490
- token_validity_units {
1491
- refresh_token = "minutes"
1492
- access_token = "minutes"
1493
- id_token = "minutes"
1494
- }
1495
- }
1496
- ```
1497
-
1498
- ### BAA (Business Associate Agreement)
1499
-
1500
- ```yaml
1501
- # AWS BAA requirements
1502
- baa_requirements:
1503
- aws_services_hipaa_eligible:
1504
- compute:
1505
- - "EC2"
1506
- - "ECS"
1507
- - "EKS"
1508
- - "Lambda"
1509
- storage:
1510
- - "S3"
1511
- - "EBS"
1512
- - "EFS"
1513
- - "Glacier"
1514
- database:
1515
- - "RDS (all engines)"
1516
- - "DynamoDB"
1517
- - "Aurora"
1518
- - "Redshift"
1519
- other:
1520
- - "CloudTrail"
1521
- - "CloudWatch Logs"
1522
- - "AWS Backup"
1523
-
1524
- aws_services_not_hipaa_eligible:
1525
- - "CloudFront (with restrictions)"
1526
- - "Route 53 (DNS queries not covered)"
1527
- - "API Gateway (logging may expose PHI)"
1528
-
1529
- configuration_requirements:
1530
- - "Enable encryption at rest"
1531
- - "Enable encryption in transit"
1532
- - "Enable logging and monitoring"
1533
- - "Restrict access to authorized users"
1534
- - "Sign AWS BAA"
1535
- ```
1536
-
1537
- ---
1538
-
1539
- ## SOC 2 (Service Organization Control 2)
1540
-
1541
- **SOC 2** is an auditing procedure ensuring service providers securely manage data to protect customer interests.
1542
-
1543
- ### Trust Services Criteria
1544
-
1545
- ```
1546
- SOC 2 Trust Service Criteria:
1547
- ┌─────────────────────────────────────────────────────┐
1548
- │ SECURITY (Common Criteria - Required) │
1549
- │ CC1: Control Environment │
1550
- │ CC2: Communication and Information │
1551
- │ CC3: Risk Assessment │
1552
- │ CC4: Monitoring Activities │
1553
- │ CC5: Control Activities │
1554
- │ CC6: Logical and Physical Access Controls │
1555
- │ CC7: System Operations │
1556
- │ CC8: Change Management │
1557
- │ CC9: Risk Mitigation │
1558
- ├─────────────────────────────────────────────────────┤
1559
- │ ADDITIONAL CRITERIA (Optional) │
1560
- │ AVAILABILITY: System uptime and operational │
1561
- │ CONFIDENTIALITY: Designated confidential info │
1562
- │ PROCESSING INTEGRITY: Complete, valid, authorized │
1563
- │ PRIVACY: Personal information collection/use │
1564
- └─────────────────────────────────────────────────────┘
1565
- ```
1566
-
1567
- ### SOC 2 Type I vs Type II
1568
-
1569
- | Aspect | Type I | Type II |
1570
- |--------|--------|---------|
1571
- | **Focus** | Design of controls | Design AND operating effectiveness |
1572
- | **Duration** | Point in time | 3-12 months |
1573
- | **Testing** | Control description | Control testing over period |
1574
- | **Effort** | 4-8 weeks | 3-6 months |
1575
- | **Cost** | Lower | Higher |
1576
- | **Value** | Initial compliance | Ongoing assurance |
1577
-
1578
- ### Implementation Example
1579
-
1580
- ```yaml
1581
- # soc2-control-mapping.yaml
1582
- # Map infrastructure controls to SOC 2 criteria
1583
-
1584
- security_controls:
1585
- CC6.1_logical_access:
1586
- description: "Controls provide reasonable assurance that access is restricted to authorized users"
1587
- implementation:
1588
- - name: "IAM with MFA"
1589
- terraform: "aws_iam_user with MFA enforcement"
1590
- evidence:
1591
- - "IAM credential report"
1592
- - "MFA device list"
1593
- - "Access review logs"
1594
-
1595
- - name: "Least privilege"
1596
- terraform: "aws_iam_role with minimal permissions"
1597
- evidence:
1598
- - "IAM policy documents"
1599
- - "Permission boundaries"
1600
- - "Access review documentation"
1601
-
1602
- CC6.6_encryption:
1603
- description: "Entity implements logical access security measures to protect against threats from sources outside its system boundaries"
1604
- implementation:
1605
- - name: "Data encryption at rest"
1606
- terraform: "aws_s3_bucket_server_side_encryption_configuration"
1607
- evidence:
1608
- - "S3 encryption status reports"
1609
- - "RDS encryption status"
1610
- - "KMS key rotation logs"
1611
-
1612
- - name: "Data encryption in transit"
1613
- terraform: "aws_lb_listener with TLS 1.2+"
1614
- evidence:
1615
- - "TLS policy configurations"
1616
- - "Certificate validity reports"
1617
- - "Cipher suite configurations"
1618
-
1619
- CC7.2_monitoring:
1620
- description: "Entity monitors system components and the operation of those components for anomalies"
1621
- implementation:
1622
- - name: "CloudWatch alarms"
1623
- terraform: "aws_cloudwatch_metric_alarm"
1624
- evidence:
1625
- - "Alarm configurations"
1626
- - "Alarm history"
1627
- - "Incident response logs"
1628
-
1629
- - name: "Security Hub findings"
1630
- terraform: "aws_securityhub_account"
1631
- evidence:
1632
- - "Finding summaries"
1633
- - "Remediation records"
1634
- - "Monthly security reports"
1635
-
1636
- CC8.1_change_management:
1637
- description: "Entity authorizes, designs, develops or acquires, implements, operates, approves, maintains, and monitors environmental protections, software, data backup processes, and recovery infrastructure"
1638
- implementation:
1639
- - name: "Infrastructure as Code"
1640
- terraform: "All resources defined in Terraform"
1641
- evidence:
1642
- - "Git commit history"
1643
- - "Pull request approvals"
1644
- - "Terraform state files"
1645
- - "CI/CD pipeline logs"
1646
-
1647
- - name: "Change approval process"
1648
- terraform: "GitHub branch protection"
1649
- evidence:
1650
- - "Branch protection rules"
1651
- - "Code review history"
1652
- - "Deployment approvals"
1653
-
1654
- availability_controls:
1655
- A1.2_monitoring:
1656
- description: "Entity monitors the system to ensure ongoing performance"
1657
- implementation:
1658
- - name: "Application monitoring"
1659
- tools:
1660
- - "CloudWatch Metrics"
1661
- - "X-Ray tracing"
1662
- - "Application Insights"
1663
- evidence:
1664
- - "Uptime reports (99.9%+)"
1665
- - "Incident reports"
1666
- - "RCA documentation"
1667
-
1668
- A1.3_recovery:
1669
- description: "Entity implements controls to restore systems"
1670
- implementation:
1671
- - name: "Automated backups"
1672
- terraform: "aws_db_instance with backup_retention_period"
1673
- evidence:
1674
- - "Backup schedules"
1675
- - "Restore test results"
1676
- - "DR runbooks"
1677
- ```
1678
-
1679
- ### Audit Preparation Checklist
1680
-
1681
- ```markdown
1682
- # SOC 2 Audit Preparation Checklist
1683
-
1684
- ## Pre-Audit (3 months before)
1685
- - [ ] Engage SOC 2 auditor
1686
- - [ ] Define scope (Security only or +APCPP)
1687
- - [ ] Define observation period (3, 6, or 12 months)
1688
- - [ ] Map controls to trust services criteria
1689
- - [ ] Implement missing controls
1690
- - [ ] Begin evidence collection
1691
-
1692
- ## During Observation Period
1693
- - [ ] Collect evidence continuously
1694
- - [ ] Access reviews (monthly)
1695
- - [ ] Security awareness training records
1696
- - [ ] Vulnerability scan reports (monthly)
1697
- - [ ] Penetration test results (annual)
1698
- - [ ] Incident response documentation
1699
- - [ ] Change management records
1700
- - [ ] Backup and recovery logs
1701
-
1702
- - [ ] Conduct internal audits
1703
- - [ ] Address any control gaps
1704
- - [ ] Document policies and procedures
1705
-
1706
- ## Audit Phase (4-8 weeks)
1707
- - [ ] Provide system description
1708
- - [ ] Provide control documentation
1709
- - [ ] Provide evidence samples
1710
- - [ ] Respond to auditor questions
1711
- - [ ] Facilitate auditor testing
1712
- - [ ] Address findings
1713
-
1714
- ## Post-Audit
1715
- - [ ] Review draft report
1716
- - [ ] Address management responses
1717
- - [ ] Receive final SOC 2 report
1718
- - [ ] Share report with customers
1719
- - [ ] Implement remediation for any exceptions
1720
- ```
1721
-
1722
- ---
1723
-
1724
- ## Compliance Mapping
1725
-
1726
- ### Multi-Framework Control Mapping
1727
-
1728
- ```yaml
1729
- # control-mapping.yaml
1730
- # Map single control implementation to multiple frameworks
1731
-
1732
- encryption_at_rest:
1733
- implementation: "AWS KMS + S3 encryption"
1734
- terraform_resource: "aws_s3_bucket_server_side_encryption_configuration"
1735
-
1736
- mapped_controls:
1737
- fedramp:
1738
- - "SC-28: Protection of Information at Rest"
1739
- - "SC-28(1): Cryptographic Protection"
1740
-
1741
- cmmc:
1742
- - "3.13.8: Implement cryptographic mechanisms"
1743
- - "3.13.11: Employ FIPS-validated cryptography"
1744
-
1745
- nist_800_171:
1746
- - "3.13.8: Implement cryptographic mechanisms"
1747
- - "3.13.11: Employ FIPS-validated cryptography when used to protect CUI"
1748
-
1749
- pci_dss:
1750
- - "3.4: Render PAN unreadable (encryption)"
1751
- - "3.5: Document key-management procedures"
1752
-
1753
- hipaa:
1754
- - "164.312(a)(2)(iv): Encryption and decryption"
1755
- - "164.312(e)(2)(ii): Encryption"
1756
-
1757
- soc2:
1758
- - "CC6.6: Logical access security measures"
1759
- - "CC6.7: Transmission of sensitive data"
1760
-
1761
- multi_factor_authentication:
1762
- implementation: "AWS IAM with MFA enforcement"
1763
- terraform_resource: "aws_iam_user + aws_iam_user_mfa_device"
1764
-
1765
- mapped_controls:
1766
- fedramp:
1767
- - "IA-2(1): Multi-factor Authentication to Privileged Accounts"
1768
- - "IA-2(2): Multi-factor Authentication to Non-Privileged Accounts"
1769
-
1770
- cmmc:
1771
- - "3.5.3: Use multi-factor authentication for local and network access"
1772
-
1773
- nist_800_171:
1774
- - "3.5.3: Use multi-factor authentication"
1775
-
1776
- cjis:
1777
- - "5.11.1.2: Advanced Authentication"
1778
-
1779
- pci_dss:
1780
- - "8.3: Secure all individual non-console admin access and remote access to CDE using MFA"
1781
-
1782
- hipaa:
1783
- - "164.312(d): Person or entity authentication"
1784
-
1785
- soc2:
1786
- - "CC6.1: Logical access controls"
1787
-
1788
- audit_logging:
1789
- implementation: "CloudTrail + CloudWatch Logs"
1790
- terraform_resource: "aws_cloudtrail + aws_cloudwatch_log_group"
1791
-
1792
- mapped_controls:
1793
- fedramp:
1794
- - "AU-2: Event Logging"
1795
- - "AU-3: Content of Audit Records"
1796
- - "AU-12: Audit Record Generation"
1797
-
1798
- cmmc:
1799
- - "3.3.1: Create audit records"
1800
- - "3.3.2: Ensure actions can be traced to users"
1801
-
1802
- nist_800_171:
1803
- - "3.3.1: Create, protect, and retain audit records"
1804
- - "3.3.2: Ensure actions traced to individual users"
1805
-
1806
- pci_dss:
1807
- - "10.2: Implement automated audit trails"
1808
- - "10.3: Record audit trail entries"
1809
-
1810
- hipaa:
1811
- - "164.312(b): Audit controls"
1812
- - "164.308(a)(1)(ii)(D): Information system activity review"
1813
-
1814
- cjis:
1815
- - "5.4: Auditing and Accountability"
1816
-
1817
- soc2:
1818
- - "CC7.2: Monitor system components"
1819
- ```
1820
-
1821
- ---
1822
-
1823
- ## Implementation Checklists
1824
-
1825
- ### FedRAMP Moderate Readiness Checklist
1826
-
1827
- ```markdown
1828
- # FedRAMP Moderate Implementation Checklist
1829
-
1830
- ## Access Control (AC)
1831
- - [ ] AC-2: Account management procedures documented
1832
- - [ ] AC-3: Access enforcement via IAM/RBAC
1833
- - [ ] AC-4: Information flow enforcement (security groups, NACLs)
1834
- - [ ] AC-5: Separation of duties implemented
1835
- - [ ] AC-6: Least privilege access enforced
1836
- - [ ] AC-7: Unsuccessful logon attempts locked (5 attempts)
1837
- - [ ] AC-17: Remote access via VPN with MFA
1838
- - [ ] AC-18: Wireless access controlled (if applicable)
1839
- - [ ] AC-20: Use of external systems controlled
1840
-
1841
- ## Audit and Accountability (AU)
1842
- - [ ] AU-2: Auditable events defined and documented
1843
- - [ ] AU-3: Audit record content meets requirements
1844
- - [ ] AU-4: Audit storage capacity planned
1845
- - [ ] AU-5: Response to audit processing failures
1846
- - [ ] AU-6: Audit review, analysis, and reporting
1847
- - [ ] AU-8: Time stamps (NTP configured)
1848
- - [ ] AU-9: Protection of audit information
1849
- - [ ] AU-11: Audit record retention (90 days online, 1 year total)
1850
- - [ ] AU-12: Audit record generation (CloudTrail, VPC Flow Logs)
1851
-
1852
- ## Configuration Management (CM)
1853
- - [ ] CM-2: Baseline configuration established
1854
- - [ ] CM-3: Configuration change control
1855
- - [ ] CM-6: Configuration settings documented
1856
- - [ ] CM-7: Least functionality (disable unnecessary services)
1857
- - [ ] CM-8: Information system component inventory
1858
- - [ ] CM-10: Software usage restrictions
1859
-
1860
- ## Contingency Planning (CP)
1861
- - [ ] CP-1: Contingency planning policy
1862
- - [ ] CP-2: Contingency plan documented
1863
- - [ ] CP-3: Contingency training
1864
- - [ ] CP-4: Contingency plan testing (annual)
1865
- - [ ] CP-9: Information system backup (automated daily)
1866
- - [ ] CP-10: Information system recovery and reconstitution
1867
-
1868
- ## Identification and Authentication (IA)
1869
- - [ ] IA-2: Unique identification and authentication
1870
- - [ ] IA-2(1): MFA for privileged accounts
1871
- - [ ] IA-2(2): MFA for non-privileged accounts (FedRAMP High)
1872
- - [ ] IA-2(12): PIV credential acceptance
1873
- - [ ] IA-4: Identifier management
1874
- - [ ] IA-5: Authenticator management
1875
- - [ ] IA-5(1): Password-based authentication (14 chars, 90 days)
1876
- - [ ] IA-5(11): Hardware token-based authentication
1877
- - [ ] IA-8: Identification and authentication (non-org users)
1878
-
1879
- ## Incident Response (IR)
1880
- - [ ] IR-1: Incident response policy
1881
- - [ ] IR-2: Incident response training
1882
- - [ ] IR-4: Incident handling
1883
- - [ ] IR-5: Incident monitoring
1884
- - [ ] IR-6: Incident reporting (1 hour to agency)
1885
- - [ ] IR-7: Incident response assistance
1886
- - [ ] IR-8: Incident response plan
1887
-
1888
- ## System and Communications Protection (SC)
1889
- - [ ] SC-5: Denial of service protection (WAF, Shield)
1890
- - [ ] SC-7: Boundary protection (firewalls, security groups)
1891
- - [ ] SC-8: Transmission confidentiality (TLS 1.2+)
1892
- - [ ] SC-12: Cryptographic key management (KMS)
1893
- - [ ] SC-13: Cryptographic protection (FIPS 140-2)
1894
- - [ ] SC-28: Protection of information at rest (encryption)
1895
-
1896
- ## System and Information Integrity (SI)
1897
- - [ ] SI-2: Flaw remediation (30 days for high, 90 for moderate)
1898
- - [ ] SI-3: Malicious code protection
1899
- - [ ] SI-4: Information system monitoring (GuardDuty, CloudWatch)
1900
- - [ ] SI-5: Security alerts and advisories
1901
- - [ ] SI-12: Information handling and retention
1902
-
1903
- ## Monthly Continuous Monitoring Deliverables
1904
- - [ ] POA&M (Plan of Action & Milestones) update
1905
- - [ ] Vulnerability scan results
1906
- - [ ] Executive summary of security posture
1907
- - [ ] Incident reports (if any)
1908
- - [ ] Significant change requests
1909
- ```
1910
-
1911
- ### CMMC Level 2 Readiness Checklist
1912
-
1913
- ```markdown
1914
- # CMMC Level 2 (NIST 800-171) Implementation Checklist
1915
-
1916
- ## Access Control (3.1.x)
1917
- - [ ] 3.1.1: Limit system access to authorized users
1918
- - [ ] 3.1.2: Limit system access to authorized transactions
1919
- - [ ] 3.1.3: Control CUI flow
1920
- - [ ] 3.1.4: Separate duties of individuals
1921
- - [ ] 3.1.5: Employ least privilege
1922
- - [ ] 3.1.6: Use non-privileged accounts
1923
- - [ ] 3.1.7: Prevent non-privileged users from executing privileged functions
1924
- - [ ] 3.1.8: Limit unsuccessful logon attempts
1925
- - [ ] 3.1.9: Provide privacy and security notices
1926
- - [ ] 3.1.10: Use session lock
1927
- - [ ] 3.1.11: Terminate session after inactivity
1928
- - [ ] 3.1.12: Monitor and control remote access sessions
1929
- - [ ] 3.1.13: Employ cryptographic mechanisms (remote access)
1930
- - [ ] 3.1.14: Route remote access via managed access control points
1931
- - [ ] 3.1.15: Authorize remote execution/access processing
1932
- - [ ] 3.1.16: Authorize wireless access
1933
- - [ ] 3.1.17: Protect wireless access using authentication and encryption
1934
- - [ ] 3.1.18: Control connection of mobile devices
1935
- - [ ] 3.1.19: Encrypt CUI on mobile devices
1936
- - [ ] 3.1.20: Control external system connections
1937
- - [ ] 3.1.21: Limit use of portable storage devices
1938
- - [ ] 3.1.22: Control CUI posted on publicly accessible systems
1939
-
1940
- ## Identification and Authentication (3.5.x)
1941
- - [ ] 3.5.1: Identify system users, processes
1942
- - [ ] 3.5.2: Authenticate users, processes, devices
1943
- - [ ] 3.5.3: Use MFA for local and network access to privileged and non-privileged accounts
1944
- - [ ] 3.5.4: Employ replay-resistant authentication
1945
- - [ ] 3.5.5: Prevent reuse of identifiers
1946
- - [ ] 3.5.6: Disable identifiers after period of inactivity
1947
- - [ ] 3.5.7: Enforce minimum password complexity
1948
- - [ ] 3.5.8: Prohibit password reuse (24 generations)
1949
- - [ ] 3.5.9: Allow temporary password use for system logons (one time only)
1950
- - [ ] 3.5.10: Store and transmit only cryptographically-protected passwords
1951
- - [ ] 3.5.11: Obscure feedback of authentication information
1952
-
1953
- ## System and Communications Protection (3.13.x)
1954
- - [ ] 3.13.1: Monitor, control, and protect communications at external boundaries
1955
- - [ ] 3.13.2: Employ architectural designs, software development techniques
1956
- - [ ] 3.13.3: Separate user functionality from system management
1957
- - [ ] 3.13.4: Prevent unauthorized transfer via shared resources
1958
- - [ ] 3.13.5: Implement subnetworks for publicly accessible components
1959
- - [ ] 3.13.6: Deny network communications traffic by default
1960
- - [ ] 3.13.7: Prevent remote devices from simultaneously establishing connections
1961
- - [ ] 3.13.8: Implement cryptographic mechanisms to prevent unauthorized disclosure
1962
- - [ ] 3.13.9: Terminate network connections at end of session
1963
- - [ ] 3.13.10: Establish and manage cryptographic keys
1964
- - [ ] 3.13.11: Employ FIPS-validated cryptography when used to protect CUI
1965
- - [ ] 3.13.12: Prohibit remote activation of collaborative computing devices
1966
- - [ ] 3.13.13: Control and monitor use of mobile code
1967
- - [ ] 3.13.14: Control and monitor use of VoIP
1968
- - [ ] 3.13.15: Protect authenticity of communications sessions
1969
- - [ ] 3.13.16: Protect confidentiality of CUI at rest
1970
-
1971
- ## Evidence Collection
1972
- - [ ] System Security Plan (SSP)
1973
- - [ ] Network diagrams
1974
- - [ ] Data flow diagrams
1975
- - [ ] Policies and procedures
1976
- - [ ] Configuration standards
1977
- - [ ] Access control matrix
1978
- - [ ] Incident response plan
1979
- - [ ] Asset inventory
1980
- - [ ] Risk assessment
1981
- - [ ] Penetration test results
1982
- - [ ] Vulnerability scan results
1983
- ```
1984
-
1985
- ---
1986
-
1987
- ## Audit Preparation
1988
-
1989
- ### Evidence Repository Structure
1990
-
1991
- ```
1992
- compliance-evidence/
1993
- ├── policies/
1994
- │ ├── information-security-policy.pdf
1995
- │ ├── acceptable-use-policy.pdf
1996
- │ ├── incident-response-policy.pdf
1997
- │ ├── change-management-policy.pdf
1998
- │ └── data-classification-policy.pdf
1999
-
2000
- ├── procedures/
2001
- │ ├── access-control-procedures.pdf
2002
- │ ├── backup-recovery-procedures.pdf
2003
- │ ├── patch-management-procedures.pdf
2004
- │ └── password-management-procedures.pdf
2005
-
2006
- ├── technical-documentation/
2007
- │ ├── system-security-plan.pdf
2008
- │ ├── network-diagrams.pdf
2009
- │ ├── data-flow-diagrams.pdf
2010
- │ ├── architecture-diagrams.pdf
2011
- │ └── encryption-documentation.pdf
2012
-
2013
- ├── assessments/
2014
- │ ├── risk-assessments/
2015
- │ │ ├── 2024-Q1-risk-assessment.pdf
2016
- │ │ ├── 2024-Q2-risk-assessment.pdf
2017
- │ │ └── risk-register.xlsx
2018
- │ │
2019
- │ ├── vulnerability-scans/
2020
- │ │ ├── 2024-01-scan-results.pdf
2021
- │ │ ├── 2024-02-scan-results.pdf
2022
- │ │ └── remediation-tracking.xlsx
2023
- │ │
2024
- │ └── penetration-tests/
2025
- │ ├── 2024-annual-pentest-report.pdf
2026
- │ └── remediation-evidence/
2027
-
2028
- ├── training/
2029
- │ ├── security-awareness-training/
2030
- │ │ ├── training-materials.pdf
2031
- │ │ ├── attendance-records.xlsx
2032
- │ │ └── completion-certificates/
2033
- │ │
2034
- │ └── role-based-training/
2035
- │ ├── developer-security-training.pdf
2036
- │ └── admin-training-records.xlsx
2037
-
2038
- ├── operational-evidence/
2039
- │ ├── access-reviews/
2040
- │ │ ├── 2024-Q1-access-review.xlsx
2041
- │ │ ├── 2024-Q2-access-review.xlsx
2042
- │ │ └── revocation-evidence/
2043
- │ │
2044
- │ ├── backup-logs/
2045
- │ │ └── backup-success-reports.pdf
2046
- │ │
2047
- │ ├── patch-management/
2048
- │ │ ├── patch-schedules.xlsx
2049
- │ │ └── patch-completion-reports/
2050
- │ │
2051
- │ ├── change-management/
2052
- │ │ ├── change-requests/
2053
- │ │ ├── change-approvals/
2054
- │ │ └── rollback-plans/
2055
- │ │
2056
- │ └── incident-response/
2057
- │ ├── incident-reports/
2058
- │ ├── root-cause-analyses/
2059
- │ └── lessons-learned/
2060
-
2061
- ├── monitoring/
2062
- │ ├── cloudtrail-logs/
2063
- │ ├── vpc-flow-logs/
2064
- │ ├── application-logs/
2065
- │ ├── security-hub-findings/
2066
- │ └── alert-response-logs/
2067
-
2068
- └── compliance-reports/
2069
- ├── monthly-compliance-status.pdf
2070
- ├── quarterly-executive-summary.pdf
2071
- ├── annual-assessment-report.pdf
2072
- └── poam-tracking.xlsx
2073
- ```
2074
-
2075
- ### Audit Response Template
2076
-
2077
- ```markdown
2078
- # Audit Finding Response Template
2079
-
2080
- ## Finding Details
2081
- **Finding ID:** [Auditor-assigned ID]
2082
- **Control Reference:** [Framework control number]
2083
- **Severity:** [Critical / High / Medium / Low]
2084
- **Finding Description:** [Auditor's description]
2085
-
2086
- ## Management Response
2087
-
2088
- ### Current State
2089
- [Describe the current implementation status]
2090
-
2091
- ### Root Cause Analysis
2092
- [Explain why the gap exists]
2093
- - Technical limitations: [if applicable]
2094
- - Process gaps: [if applicable]
2095
- - Resource constraints: [if applicable]
2096
-
2097
- ### Remediation Plan
2098
-
2099
- **Option 1: Immediate Remediation**
2100
- - **Action:** [Specific remediation steps]
2101
- - **Owner:** [Responsible person/team]
2102
- - **Timeline:** [Completion date]
2103
- - **Resources Required:** [Budget, personnel, tools]
2104
- - **Evidence:** [How compliance will be demonstrated]
2105
-
2106
- **Option 2: Compensating Controls** (if immediate remediation not feasible)
2107
- - **Compensating Control:** [Alternative control]
2108
- - **Justification:** [Why this provides equivalent protection]
2109
- - **Implementation Date:** [When compensating control implemented]
2110
-
2111
- ### Verification
2112
- - **Testing Method:** [How control effectiveness will be validated]
2113
- - **Test Frequency:** [Ongoing monitoring approach]
2114
- - **Success Criteria:** [What constitutes successful implementation]
2115
-
2116
- ### Sign-off
2117
- **Prepared by:** [Name, Title, Date]
2118
- **Reviewed by:** [Security Officer, Date]
2119
- **Approved by:** [Executive Sponsor, Date]
2120
- ```
2121
-
2122
- ---
2123
-
2124
- ## Best Practices
2125
-
2126
- ### 1. Compliance Automation
2127
-
2128
- ```python
2129
- # compliance_automation.py
2130
- """Automate compliance checking and evidence collection"""
2131
-
2132
- import boto3
2133
- from datetime import datetime, timedelta
2134
-
2135
- class ComplianceAutomation:
2136
- def __init__(self):
2137
- self.s3 = boto3.client('s3')
2138
- self.config = boto3.client('config')
2139
- self.securityhub = boto3.client('securityhub')
2140
- self.cloudtrail = boto3.client('cloudtrail')
2141
-
2142
- def check_encryption_compliance(self):
2143
- """Check if all S3 buckets have encryption enabled"""
2144
- results = []
2145
- buckets = self.s3.list_buckets()['Buckets']
2146
-
2147
- for bucket in buckets:
2148
- bucket_name = bucket['Name']
2149
- try:
2150
- encryption = self.s3.get_bucket_encryption(Bucket=bucket_name)
2151
- results.append({
2152
- 'bucket': bucket_name,
2153
- 'compliant': True,
2154
- 'encryption': encryption['ServerSideEncryptionConfiguration']
2155
- })
2156
- except:
2157
- results.append({
2158
- 'bucket': bucket_name,
2159
- 'compliant': False,
2160
- 'encryption': None
2161
- })
2162
-
2163
- return results
2164
-
2165
- def generate_evidence_package(self, control_id):
2166
- """Generate evidence package for specific control"""
2167
- evidence = {
2168
- 'control_id': control_id,
2169
- 'generated_date': datetime.now().isoformat(),
2170
- 'evidence_items': []
2171
- }
2172
-
2173
- if control_id == 'AC-2': # Account Management
2174
- # Collect IAM user list
2175
- iam = boto3.client('iam')
2176
- users = iam.list_users()
2177
- evidence['evidence_items'].append({
2178
- 'type': 'IAM User List',
2179
- 'data': users
2180
- })
2181
-
2182
- # Collect access reviews
2183
- # Collect MFA status
2184
- # etc.
2185
-
2186
- elif control_id == 'AU-2': # Audit Logging
2187
- # Collect CloudTrail configuration
2188
- trails = self.cloudtrail.describe_trails()
2189
- evidence['evidence_items'].append({
2190
- 'type': 'CloudTrail Configuration',
2191
- 'data': trails
2192
- })
2193
-
2194
- return evidence
2195
-
2196
- def continuous_compliance_monitoring(self):
2197
- """Run continuous compliance checks"""
2198
- compliance_status = {
2199
- 'timestamp': datetime.now().isoformat(),
2200
- 'checks': []
2201
- }
2202
-
2203
- # Check 1: Encryption at rest
2204
- encryption_results = self.check_encryption_compliance()
2205
- compliance_status['checks'].append({
2206
- 'control': 'SC-28',
2207
- 'description': 'Protection of Information at Rest',
2208
- 'results': encryption_results,
2209
- 'compliant': all(r['compliant'] for r in encryption_results)
2210
- })
2211
-
2212
- # Check 2: MFA enabled
2213
- # Check 3: Logging enabled
2214
- # etc.
2215
-
2216
- return compliance_status
2217
-
2218
- # Usage
2219
- automation = ComplianceAutomation()
2220
- status = automation.continuous_compliance_monitoring()
2221
- evidence = automation.generate_evidence_package('AC-2')
2222
- ```
2223
-
2224
- ### 2. Multi-Framework Tagging Strategy
2225
-
2226
- ```hcl
2227
- # tagging-strategy.tf
2228
- # Standard tagging for compliance tracking
2229
-
2230
- locals {
2231
- common_tags = {
2232
- # Business tags
2233
- CostCenter = "IT-Security"
2234
- Owner = "security-team@company.com"
2235
- Environment = "Production"
2236
-
2237
- # Data classification tags
2238
- DataClassification = "CUI" # or "PHI", "PCI", "Public"
2239
-
2240
- # Compliance tags
2241
- ComplianceFrameworks = "FedRAMP-Moderate,CMMC-L2,NIST-800-171"
2242
- ComplianceControls = "AC-2,AU-2,SC-28"
2243
-
2244
- # Technical tags
2245
- BackupRequired = "true"
2246
- EncryptionRequired = "true"
2247
- MonitoringLevel = "enhanced"
2248
-
2249
- # Operational tags
2250
- MaintenanceWindow = "Sun-03:00-05:00"
2251
- PatchGroup = "critical-systems"
2252
- }
2253
- }
2254
-
2255
- resource "aws_s3_bucket" "compliant_bucket" {
2256
- bucket = "compliant-data-bucket"
2257
-
2258
- tags = merge(local.common_tags, {
2259
- # Resource-specific tags
2260
- DataRetentionYears = "7"
2261
- ContainsCUI = "true"
2262
- ITARControlled = "false"
2263
- })
2264
- }
2265
- ```
2266
-
2267
- ### 3. Compliance Dashboard
2268
-
2269
- ```python
2270
- # compliance_dashboard.py
2271
- """Generate compliance dashboard metrics"""
2272
-
2273
- def generate_compliance_dashboard():
2274
- """Generate executive dashboard for compliance status"""
2275
- dashboard = {
2276
- 'overall_compliance': {},
2277
- 'by_framework': {},
2278
- 'trends': {},
2279
- 'risk_areas': []
2280
- }
2281
-
2282
- # FedRAMP
2283
- dashboard['by_framework']['FedRAMP'] = {
2284
- 'status': 'Authorized',
2285
- 'controls_total': 325,
2286
- 'controls_implemented': 320,
2287
- 'controls_in_progress': 5,
2288
- 'poam_items': 5,
2289
- 'last_assessment': '2024-01-15',
2290
- 'next_assessment': '2025-01-15'
2291
- }
2292
-
2293
- # CMMC
2294
- dashboard['by_framework']['CMMC'] = {
2295
- 'status': 'Level 2 Certified',
2296
- 'practices_total': 110,
2297
- 'practices_met': 110,
2298
- 'certification_date': '2024-03-20',
2299
- 'expiration_date': '2027-03-20'
2300
- }
2301
-
2302
- # Calculate overall compliance percentage
2303
- total_controls = sum(f['controls_total'] for f in dashboard['by_framework'].values())
2304
- implemented = sum(f['controls_implemented'] for f in dashboard['by_framework'].values())
2305
- dashboard['overall_compliance']['percentage'] = (implemented / total_controls) * 100
2306
-
2307
- # Identify risk areas
2308
- dashboard['risk_areas'] = [
2309
- {'control': 'AC-2(3)', 'issue': 'Automated account disablement not fully implemented'},
2310
- {'control': 'SI-4', 'issue': 'Container monitoring gaps in dev environment'},
2311
- ]
2312
-
2313
- return dashboard
2314
- ```
2315
-
2316
- ---
2317
-
2318
- **Related Resources:**
2319
- - [cloud-security.md](../cloud-engineering/resources/cloud-security.md) - Security controls
2320
- - [cleared-cloud-environments.md](../cloud-engineering/resources/cleared-cloud-environments.md) - Government clouds
2321
- - [cspm-integration.md](cspm-integration.md) - CSPM tool integration
2322
- - [workload-classification.md](../infrastructure-architecture/resources/workload-classification.md) - Data classification