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,1530 +0,0 @@
1
- # Cloud Security Tools
2
-
3
- Cloud Security Posture Management (CSPM), Cloud Workload Protection Platforms (CWPP), container security, and native cloud security services.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Trend Micro Cloud One](#trend-micro-cloud-one)
9
- - [Prisma Cloud (Palo Alto)](#prisma-cloud-palo-alto)
10
- - [Wiz](#wiz)
11
- - [Aqua Security](#aqua-security)
12
- - [AWS Security Hub](#aws-security-hub)
13
- - [Microsoft Defender for Cloud](#microsoft-defender-for-cloud)
14
- - [Google Cloud Security Command Center](#google-cloud-security-command-center)
15
- - [Tool Comparison](#tool-comparison)
16
- - [Integration Patterns](#integration-patterns)
17
- - [Best Practices](#best-practices)
18
-
19
- ---
20
-
21
- ## Overview
22
-
23
- **Cloud Security Tools** provide comprehensive security across cloud environments, including posture management, threat detection, compliance monitoring, and workload protection.
24
-
25
- **Tool Categories:**
26
-
27
- ```
28
- Security Tool Landscape:
29
- ┌─────────────────────────────────────────────────────┐
30
- │ CSPM (Cloud Security Posture Management) │
31
- │ - Configuration scanning │
32
- │ - Compliance monitoring (FedRAMP, CMMC, PCI-DSS) │
33
- │ - Misconfiguration detection │
34
- │ - Policy enforcement │
35
- ├─────────────────────────────────────────────────────┤
36
- │ CWPP (Cloud Workload Protection Platform) │
37
- │ - Runtime protection │
38
- │ - Vulnerability scanning │
39
- │ - Malware detection │
40
- │ - File integrity monitoring │
41
- ├─────────────────────────────────────────────────────┤
42
- │ Container Security │
43
- │ - Image scanning │
44
- │ - Runtime security │
45
- │ - Kubernetes security │
46
- │ - Registry scanning │
47
- ├─────────────────────────────────────────────────────┤
48
- │ Code Security (SAST/SCA) │
49
- │ - Static analysis │
50
- │ - Dependency scanning │
51
- │ - IaC security scanning │
52
- │ - Secret detection │
53
- └─────────────────────────────────────────────────────┘
54
- ```
55
-
56
- ---
57
-
58
- ## Trend Micro Cloud One
59
-
60
- **Trend Micro Cloud One** is a comprehensive cloud security platform with modular services for workload, container, network, file storage, and conformity (CSPM).
61
-
62
- ### Components
63
-
64
- | Component | Purpose | Use Case |
65
- |-----------|---------|----------|
66
- | Workload Security | Server/VM protection | Runtime protection, anti-malware |
67
- | Container Security | Container image scanning | CI/CD integration, registry scanning |
68
- | Network Security | Virtual patching | IPS/IDS for cloud workloads |
69
- | File Storage Security | Object storage scanning | S3/Blob malware scanning |
70
- | Conformity | CSPM, compliance | FedRAMP, CMMC, CIS benchmarks |
71
- | Application Security | Runtime RASP | Application-level protection |
72
-
73
- ### Conformity (CSPM) Setup
74
-
75
- **1. AWS Integration:**
76
-
77
- ```bash
78
- # Install Conformity CloudFormation template
79
- aws cloudformation create-stack \
80
- --stack-name TrendMicroConformity \
81
- --template-url https://conformity-templates.s3.amazonaws.com/cloudformation/conformity-role.template \
82
- --parameters \
83
- ParameterKey=ExternalId,ParameterValue=YOUR_EXTERNAL_ID \
84
- --capabilities CAPABILITY_NAMED_IAM \
85
- --region us-east-1
86
-
87
- # Get Role ARN for Conformity console
88
- aws cloudformation describe-stacks \
89
- --stack-name TrendMicroConformity \
90
- --query 'Stacks[0].Outputs[?OutputKey==`ConformityRoleArn`].OutputValue' \
91
- --output text
92
- ```
93
-
94
- **2. Terraform Integration:**
95
-
96
- ```hcl
97
- # Conformity IAM role
98
- resource "aws_iam_role" "conformity_role" {
99
- name = "TrendMicroConformityRole"
100
-
101
- assume_role_policy = jsonencode({
102
- Version = "2012-10-17"
103
- Statement = [
104
- {
105
- Effect = "Allow"
106
- Principal = {
107
- AWS = "arn:aws:iam::717210094962:root"
108
- }
109
- Action = "sts:AssumeRole"
110
- Condition = {
111
- StringEquals = {
112
- "sts:ExternalId" = var.conformity_external_id
113
- }
114
- }
115
- }
116
- ]
117
- })
118
- }
119
-
120
- resource "aws_iam_role_policy_attachment" "conformity_readonly" {
121
- role = aws_iam_role.conformity_role.name
122
- policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"
123
- }
124
-
125
- # Additional permissions for deeper scanning
126
- resource "aws_iam_role_policy" "conformity_additional" {
127
- name = "ConformityAdditionalPermissions"
128
- role = aws_iam_role.conformity_role.id
129
-
130
- policy = jsonencode({
131
- Version = "2012-10-17"
132
- Statement = [
133
- {
134
- Effect = "Allow"
135
- Action = [
136
- "sns:Publish",
137
- "s3:GetBucketPublicAccessBlock",
138
- "s3:GetAccountPublicAccessBlock"
139
- ]
140
- Resource = "*"
141
- }
142
- ]
143
- })
144
- }
145
- ```
146
-
147
- **3. Conformity Rule Configuration:**
148
-
149
- ```yaml
150
- # conformity-rules.yaml
151
- # Custom rule profiles for compliance
152
- ---
153
- rules:
154
- - id: S3-001
155
- name: "S3 bucket encryption enabled"
156
- severity: VERY_HIGH
157
- enabled: true
158
- compliance:
159
- - FedRAMP
160
- - CMMC-L2
161
- - NIST-800-171
162
-
163
- - id: IAM-045
164
- name: "IAM password policy meets requirements"
165
- severity: HIGH
166
- enabled: true
167
- settings:
168
- minimumPasswordLength: 14
169
- requireUppercase: true
170
- requireLowercase: true
171
- requireNumbers: true
172
- requireSymbols: true
173
- maxPasswordAge: 90
174
-
175
- - id: VPC-007
176
- name: "VPC flow logs enabled"
177
- severity: MEDIUM
178
- enabled: true
179
- compliance:
180
- - FedRAMP
181
- - PCI-DSS
182
- ```
183
-
184
- **4. Container Security Integration:**
185
-
186
- ```yaml
187
- # .gitlab-ci.yml integration
188
- stages:
189
- - build
190
- - scan
191
- - deploy
192
-
193
- container_scan:
194
- stage: scan
195
- image: trendmicro/smartcheck-scan-action:latest
196
- script:
197
- - |
198
- docker run --rm \
199
- -v /var/run/docker.sock:/var/run/docker.sock \
200
- trendmicro/tmas-scan:latest \
201
- --image-name ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} \
202
- --smartcheck-host ${SMARTCHECK_HOST} \
203
- --smartcheck-user ${SMARTCHECK_USER} \
204
- --smartcheck-password ${SMARTCHECK_PASSWORD} \
205
- --severity-threshold medium
206
- ```
207
-
208
- ---
209
-
210
- ## Prisma Cloud (Palo Alto)
211
-
212
- **Prisma Cloud** is a comprehensive Cloud Native Application Protection Platform (CNAPP) providing CSPM, CWPP, and code security.
213
-
214
- ### Capabilities
215
-
216
- ```
217
- Prisma Cloud Platform:
218
- ┌─────────────────────────────────────────────────────┐
219
- │ Code Security (Bridgecrew) │
220
- │ - IaC scanning (Terraform, CloudFormation, K8s) │
221
- │ - Secret detection in repos │
222
- │ - VCS integration (GitHub, GitLab, Bitbucket) │
223
- ├─────────────────────────────────────────────────────┤
224
- │ CSPM (Posture Management) │
225
- │ - Multi-cloud visibility (AWS, Azure, GCP, OCI) │
226
- │ - Compliance frameworks (40+) │
227
- │ - Asset inventory │
228
- ├─────────────────────────────────────────────────────┤
229
- │ CWPP (Workload Protection) │
230
- │ - Runtime defense │
231
- │ - Vulnerability management │
232
- │ - Compliance scanning │
233
- ├─────────────────────────────────────────────────────┤
234
- │ Container Security (Twistlock) │
235
- │ - Image scanning │
236
- │ - Registry scanning │
237
- │ - Runtime protection │
238
- │ - Kubernetes security │
239
- └─────────────────────────────────────────────────────┘
240
- ```
241
-
242
- ### AWS Integration
243
-
244
- **1. Onboarding AWS Account:**
245
-
246
- ```bash
247
- # Create IAM role for Prisma Cloud
248
- # Download CloudFormation template from Prisma Cloud console
249
- aws cloudformation create-stack \
250
- --stack-name PrismaCloudRole \
251
- --template-url https://prisma-cloud-templates.s3.amazonaws.com/prisma-cloud-aws-iam-role.template \
252
- --parameters \
253
- ParameterKey=PrismaCloudRoleArn,ParameterValue=arn:aws:iam::188619942792:root \
254
- ParameterKey=ExternalId,ParameterValue=YOUR_EXTERNAL_ID \
255
- --capabilities CAPABILITY_NAMED_IAM
256
- ```
257
-
258
- **2. Terraform for Prisma Cloud Integration:**
259
-
260
- ```hcl
261
- # Prisma Cloud provider configuration
262
- terraform {
263
- required_providers {
264
- prismacloud = {
265
- source = "PaloAltoNetworks/prismacloud"
266
- version = "~> 1.4"
267
- }
268
- }
269
- }
270
-
271
- provider "prismacloud" {
272
- url = var.prisma_api_url
273
- username = var.prisma_access_key
274
- password = var.prisma_secret_key
275
- }
276
-
277
- # Add cloud account to Prisma Cloud
278
- resource "prismacloud_cloud_account" "aws_account" {
279
- aws {
280
- account_id = "123456789012"
281
- enabled = true
282
- group_ids = [prismacloud_account_group.production.group_id]
283
- name = "Production AWS Account"
284
- role_arn = "arn:aws:iam::123456789012:role/PrismaCloudRole"
285
- account_type = "account"
286
- }
287
- }
288
-
289
- # Create account group
290
- resource "prismacloud_account_group" "production" {
291
- name = "Production Accounts"
292
- description = "All production cloud accounts"
293
- }
294
-
295
- # Create alert rule
296
- resource "prismacloud_alert_rule" "high_severity" {
297
- name = "High Severity Violations"
298
- description = "Alert on high severity policy violations"
299
- enabled = true
300
-
301
- policies = [
302
- prismacloud_policy.s3_encryption.policy_id,
303
- prismacloud_policy.public_s3.policy_id
304
- ]
305
-
306
- target {
307
- account_groups = [prismacloud_account_group.production.group_id]
308
- }
309
-
310
- notification_config {
311
- config_type = "email"
312
- recipients = ["security@company.com"]
313
- }
314
- }
315
-
316
- # Custom policy
317
- resource "prismacloud_policy" "s3_encryption" {
318
- name = "S3 Bucket Encryption Mandatory"
319
- policy_type = "config"
320
- cloud_type = "aws"
321
- severity = "high"
322
- enabled = true
323
-
324
- rule {
325
- name = "S3 encryption check"
326
- rule_type = "Config"
327
-
328
- criteria = "$.resource.aws_s3_bucket[*].server_side_encryption_configuration does not exist"
329
-
330
- parameters = {
331
- savedSearch = "false"
332
- withIac = "true"
333
- }
334
- }
335
-
336
- compliance_metadata {
337
- compliance_id = "fedramp-high"
338
- requirement_id = "SC-28"
339
- requirement_name = "Protection of Information at Rest"
340
- }
341
- }
342
- ```
343
-
344
- **3. Kubernetes Runtime Protection:**
345
-
346
- ```yaml
347
- # Deploy Prisma Cloud Defender as DaemonSet
348
- apiVersion: apps/v1
349
- kind: DaemonSet
350
- metadata:
351
- name: twistlock-defender-ds
352
- namespace: twistlock
353
- spec:
354
- selector:
355
- matchLabels:
356
- app: twistlock-defender
357
- template:
358
- metadata:
359
- labels:
360
- app: twistlock-defender
361
- spec:
362
- serviceAccountName: twistlock-service
363
- hostPID: true
364
- hostNetwork: true
365
- containers:
366
- - name: twistlock-defender
367
- image: registry.twistlock.com/twistlock/defender:defender_22_12_694
368
- env:
369
- - name: DEFENDER_TYPE
370
- value: "daemonset"
371
- - name: DEFENDER_LISTENER_TYPE
372
- value: "none"
373
- - name: CONSOLE_ADDR
374
- value: "https://console.prismacloud.io"
375
- - name: DEFENDER_CLUSTER_ID
376
- value: "production-cluster"
377
- securityContext:
378
- privileged: true
379
- volumeMounts:
380
- - name: docker-sock
381
- mountPath: /var/run/docker.sock
382
- - name: host-root
383
- mountPath: /host
384
- volumes:
385
- - name: docker-sock
386
- hostPath:
387
- path: /var/run/docker.sock
388
- - name: host-root
389
- hostPath:
390
- path: /
391
- ```
392
-
393
- **4. CI/CD Integration:**
394
-
395
- ```yaml
396
- # GitHub Actions integration
397
- name: Prisma Cloud IaC Scan
398
-
399
- on:
400
- pull_request:
401
- branches: [main]
402
-
403
- jobs:
404
- prisma_cloud_iac_scan:
405
- runs-on: ubuntu-latest
406
- steps:
407
- - uses: actions/checkout@v3
408
-
409
- - name: Run Prisma Cloud IaC Scan
410
- uses: bridgecrewio/checkov-action@master
411
- with:
412
- api-key: ${{ secrets.PRISMA_ACCESS_KEY }}::${{ secrets.PRISMA_SECRET_KEY }}
413
- directory: terraform/
414
- framework: terraform
415
- soft_fail: false
416
- output_format: cli,sarif
417
- output_file_path: console,results.sarif
418
-
419
- - name: Upload SARIF file
420
- uses: github/codeql-action/upload-sarif@v2
421
- with:
422
- sarif_file: results.sarif
423
- ```
424
-
425
- ---
426
-
427
- ## Wiz
428
-
429
- **Wiz** is a cloud security platform providing comprehensive visibility, risk prioritization, and threat detection across multi-cloud environments.
430
-
431
- ### Core Capabilities
432
-
433
- ```
434
- Wiz Security Platform:
435
- ┌─────────────────────────────────────────────────────┐
436
- │ Security Graph │
437
- │ - Full cloud environment mapping │
438
- │ - Relationship visualization │
439
- │ - Attack path analysis │
440
- ├─────────────────────────────────────────────────────┤
441
- │ Risk Prioritization │
442
- │ - Critical path detection │
443
- │ - Toxic combinations │
444
- │ - Exploitability scoring │
445
- ├─────────────────────────────────────────────────────┤
446
- │ Vulnerability Management │
447
- │ - VM/container scanning │
448
- │ - Serverless scanning │
449
- │ - Prioritized remediation │
450
- ├─────────────────────────────────────────────────────┤
451
- │ Data Security │
452
- │ - Sensitive data discovery │
453
- │ - Data classification │
454
- │ - Exposure analysis │
455
- └─────────────────────────────────────────────────────┘
456
- ```
457
-
458
- ### AWS Integration
459
-
460
- **1. Connector Setup:**
461
-
462
- ```bash
463
- # Deploy Wiz CloudFormation stack
464
- # This creates a read-only role for Wiz scanner
465
- aws cloudformation create-stack \
466
- --stack-name WizConnector \
467
- --template-url https://wiz-security-templates.s3.amazonaws.com/connector.yaml \
468
- --parameters \
469
- ParameterKey=WizExternalId,ParameterValue=YOUR_EXTERNAL_ID \
470
- ParameterKey=EnableCloudTrail,ParameterValue=true \
471
- ParameterKey=EnableVulnerabilityScanning,ParameterValue=true \
472
- --capabilities CAPABILITY_NAMED_IAM
473
- ```
474
-
475
- **2. Terraform Wiz Connector:**
476
-
477
- ```hcl
478
- # Wiz connector IAM role
479
- resource "aws_iam_role" "wiz_connector" {
480
- name = "WizSecurityConnector"
481
-
482
- assume_role_policy = jsonencode({
483
- Version = "2012-10-17"
484
- Statement = [
485
- {
486
- Effect = "Allow"
487
- Principal = {
488
- AWS = "arn:aws:iam::197171649850:root"
489
- }
490
- Action = "sts:AssumeRole"
491
- Condition = {
492
- StringEquals = {
493
- "sts:ExternalId" = var.wiz_external_id
494
- }
495
- }
496
- }
497
- ]
498
- })
499
- }
500
-
501
- # Wiz requires SecurityAudit + additional permissions
502
- resource "aws_iam_role_policy_attachment" "wiz_security_audit" {
503
- role = aws_iam_role.wiz_connector.name
504
- policy_arn = "arn:aws:iam::aws:policy/SecurityAudit"
505
- }
506
-
507
- resource "aws_iam_role_policy" "wiz_additional" {
508
- name = "WizAdditionalPermissions"
509
- role = aws_iam_role.wiz_connector.id
510
-
511
- policy = jsonencode({
512
- Version = "2012-10-17"
513
- Statement = [
514
- {
515
- Sid = "WizVulnerabilityScanning"
516
- Effect = "Allow"
517
- Action = [
518
- "ec2:DescribeImages",
519
- "ec2:DescribeSnapshots",
520
- "ec2:CreateSnapshots",
521
- "ec2:DeleteSnapshot",
522
- "ecr:GetAuthorizationToken",
523
- "ecr:BatchCheckLayerAvailability",
524
- "ecr:GetDownloadUrlForLayer",
525
- "ecr:BatchGetImage"
526
- ]
527
- Resource = "*"
528
- },
529
- {
530
- Sid = "WizDataScanning"
531
- Effect = "Allow"
532
- Action = [
533
- "s3:GetObject",
534
- "s3:ListBucket"
535
- ]
536
- Resource = [
537
- "arn:aws:s3:::*/*",
538
- "arn:aws:s3:::*"
539
- ]
540
- }
541
- ]
542
- })
543
- }
544
- ```
545
-
546
- **3. Wiz CLI Integration:**
547
-
548
- ```bash
549
- # Install Wiz CLI
550
- curl -o wizcli https://wizcli.app.wiz.io/wizcli
551
- chmod +x wizcli
552
-
553
- # Authenticate
554
- export WIZ_CLIENT_ID="your-client-id"
555
- export WIZ_CLIENT_SECRET="your-client-secret"
556
-
557
- # Scan Docker image
558
- ./wizcli docker scan \
559
- --image myapp:latest \
560
- --policy "Production Policy" \
561
- --output-format json
562
-
563
- # Scan IaC directory
564
- ./wizcli iac scan \
565
- --path ./terraform \
566
- --policy-id abcd1234 \
567
- --fail-on high
568
- ```
569
-
570
- **4. API Integration for Automation:**
571
-
572
- ```python
573
- # wiz_integration.py
574
- import requests
575
- import json
576
-
577
- class WizAPI:
578
- def __init__(self, client_id, client_secret):
579
- self.api_url = "https://api.us1.app.wiz.io/graphql"
580
- self.token = self._authenticate(client_id, client_secret)
581
-
582
- def _authenticate(self, client_id, client_secret):
583
- auth_url = "https://auth.app.wiz.io/oauth/token"
584
- payload = {
585
- "grant_type": "client_credentials",
586
- "client_id": client_id,
587
- "client_secret": client_secret,
588
- "audience": "wiz-api"
589
- }
590
- response = requests.post(auth_url, json=payload)
591
- return response.json()["access_token"]
592
-
593
- def query_issues(self, severity="CRITICAL"):
594
- query = """
595
- query IssuesTable($filterBy: IssueFilters) {
596
- issues(filterBy: $filterBy, first: 100) {
597
- nodes {
598
- id
599
- type
600
- severity
601
- status
602
- entitySnapshot {
603
- name
604
- type
605
- }
606
- }
607
- }
608
- }
609
- """
610
- variables = {
611
- "filterBy": {
612
- "severity": [severity],
613
- "status": ["OPEN"]
614
- }
615
- }
616
-
617
- headers = {"Authorization": f"Bearer {self.token}"}
618
- response = requests.post(
619
- self.api_url,
620
- json={"query": query, "variables": variables},
621
- headers=headers
622
- )
623
- return response.json()
624
-
625
- # Usage
626
- wiz = WizAPI(
627
- client_id="your-client-id",
628
- client_secret="your-client-secret"
629
- )
630
- critical_issues = wiz.query_issues(severity="CRITICAL")
631
- print(json.dumps(critical_issues, indent=2))
632
- ```
633
-
634
- ---
635
-
636
- ## Aqua Security
637
-
638
- **Aqua Security** provides comprehensive container and cloud-native security from development to runtime.
639
-
640
- ### Platform Components
641
-
642
- | Component | Purpose |
643
- |-----------|---------|
644
- | Aqua Console | Central management, policy engine |
645
- | Aqua Scanner | Image and registry scanning |
646
- | Aqua Enforcer | Runtime protection for containers |
647
- | Aqua Gateway | Communication hub |
648
- | MicroEnforcer | Lightweight runtime protection |
649
- | KubeEnforcer | Kubernetes admission controller |
650
-
651
- ### Kubernetes Deployment
652
-
653
- **1. Deploy Aqua Platform:**
654
-
655
- ```yaml
656
- # aqua-namespace.yaml
657
- apiVersion: v1
658
- kind: Namespace
659
- metadata:
660
- name: aqua
661
-
662
- ---
663
- # aqua-db.yaml (PostgreSQL for Aqua)
664
- apiVersion: apps/v1
665
- kind: StatefulSet
666
- metadata:
667
- name: aqua-db
668
- namespace: aqua
669
- spec:
670
- serviceName: aqua-db
671
- replicas: 1
672
- selector:
673
- matchLabels:
674
- app: aqua-db
675
- template:
676
- metadata:
677
- labels:
678
- app: aqua-db
679
- spec:
680
- containers:
681
- - name: postgres
682
- image: postgres:13
683
- env:
684
- - name: POSTGRES_PASSWORD
685
- valueFrom:
686
- secretKeyRef:
687
- name: aqua-db
688
- key: password
689
- volumeMounts:
690
- - name: postgres-data
691
- mountPath: /var/lib/postgresql/data
692
- volumeClaimTemplates:
693
- - metadata:
694
- name: postgres-data
695
- spec:
696
- accessModes: ["ReadWriteOnce"]
697
- resources:
698
- requests:
699
- storage: 50Gi
700
-
701
- ---
702
- # aqua-console.yaml
703
- apiVersion: apps/v1
704
- kind: Deployment
705
- metadata:
706
- name: aqua-console
707
- namespace: aqua
708
- spec:
709
- replicas: 1
710
- selector:
711
- matchLabels:
712
- app: aqua-console
713
- template:
714
- metadata:
715
- labels:
716
- app: aqua-console
717
- spec:
718
- containers:
719
- - name: aqua-console
720
- image: registry.aquasec.com/console:2022.4
721
- env:
722
- - name: SCALOCK_DBUSER
723
- value: "postgres"
724
- - name: SCALOCK_DBPASSWORD
725
- valueFrom:
726
- secretKeyRef:
727
- name: aqua-db
728
- key: password
729
- - name: SCALOCK_DBNAME
730
- value: "scalock"
731
- - name: SCALOCK_DBHOST
732
- value: "aqua-db"
733
- - name: SCALOCK_AUDIT_DBUSER
734
- value: "postgres"
735
- - name: SCALOCK_AUDIT_DBPASSWORD
736
- valueFrom:
737
- secretKeyRef:
738
- name: aqua-db
739
- key: password
740
- - name: SCALOCK_AUDIT_DBNAME
741
- value: "slk_audit"
742
- - name: SCALOCK_AUDIT_DBHOST
743
- value: "aqua-db"
744
- ports:
745
- - containerPort: 8080
746
- - containerPort: 8443
747
- ```
748
-
749
- **2. Aqua Enforcer DaemonSet:**
750
-
751
- ```yaml
752
- # aqua-enforcer.yaml
753
- apiVersion: apps/v1
754
- kind: DaemonSet
755
- metadata:
756
- name: aqua-enforcer
757
- namespace: aqua
758
- spec:
759
- selector:
760
- matchLabels:
761
- app: aqua-enforcer
762
- template:
763
- metadata:
764
- labels:
765
- app: aqua-enforcer
766
- spec:
767
- serviceAccountName: aqua-sa
768
- hostPID: true
769
- containers:
770
- - name: enforcer
771
- image: registry.aquasec.com/enforcer:2022.4
772
- env:
773
- - name: AQUA_TOKEN
774
- valueFrom:
775
- secretKeyRef:
776
- name: aqua-enforcer-token
777
- key: token
778
- - name: AQUA_SERVER
779
- value: "aqua-gateway:8443"
780
- - name: AQUA_LOGICAL_NAME
781
- value: "production-cluster"
782
- securityContext:
783
- privileged: true
784
- volumeMounts:
785
- - name: docker-sock
786
- mountPath: /var/run/docker.sock
787
- - name: containerd-sock
788
- mountPath: /run/containerd/containerd.sock
789
- volumes:
790
- - name: docker-sock
791
- hostPath:
792
- path: /var/run/docker.sock
793
- - name: containerd-sock
794
- hostPath:
795
- path: /run/containerd/containerd.sock
796
- ```
797
-
798
- **3. KubeEnforcer (Admission Controller):**
799
-
800
- ```yaml
801
- # aqua-kube-enforcer.yaml
802
- apiVersion: admissionregistration.k8s.io/v1
803
- kind: ValidatingWebhookConfiguration
804
- metadata:
805
- name: kube-enforcer-admission-hook
806
- webhooks:
807
- - name: imageassurance.aquasec.com
808
- clientConfig:
809
- service:
810
- namespace: aqua
811
- name: aqua-kube-enforcer
812
- path: /v1/imagechecks
813
- caBundle: LS0tLS1CRUdJTi... # Base64 encoded CA cert
814
- rules:
815
- - operations: ["CREATE", "UPDATE"]
816
- apiGroups: ["*"]
817
- apiVersions: ["*"]
818
- resources: ["pods"]
819
- failurePolicy: Fail
820
- sideEffects: None
821
- admissionReviewVersions: ["v1", "v1beta1"]
822
-
823
- ---
824
- apiVersion: apps/v1
825
- kind: Deployment
826
- metadata:
827
- name: aqua-kube-enforcer
828
- namespace: aqua
829
- spec:
830
- replicas: 1
831
- selector:
832
- matchLabels:
833
- app: aqua-kube-enforcer
834
- template:
835
- metadata:
836
- labels:
837
- app: aqua-kube-enforcer
838
- spec:
839
- serviceAccountName: aqua-kube-enforcer-sa
840
- containers:
841
- - name: kube-enforcer
842
- image: registry.aquasec.com/kube-enforcer:2022.4
843
- env:
844
- - name: AQUA_TOKEN
845
- valueFrom:
846
- secretKeyRef:
847
- name: aqua-kube-enforcer-token
848
- key: token
849
- - name: AQUA_GATEWAY_URL
850
- value: "aqua-gateway:8443"
851
- ports:
852
- - containerPort: 8443
853
- ```
854
-
855
- **4. CI/CD Scanner Integration:**
856
-
857
- ```yaml
858
- # .gitlab-ci.yml
859
- stages:
860
- - build
861
- - scan
862
- - deploy
863
-
864
- aqua_scan:
865
- stage: scan
866
- image: registry.aquasec.com/scanner:2022.4
867
- script:
868
- - |
869
- docker run --rm \
870
- -v /var/run/docker.sock:/var/run/docker.sock \
871
- registry.aquasec.com/scanner:2022.4 \
872
- scan \
873
- --host $AQUA_SERVER \
874
- --user $AQUA_USERNAME \
875
- --password $AQUA_PASSWORD \
876
- --register \
877
- --local ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
878
- only:
879
- - branches
880
- ```
881
-
882
- ---
883
-
884
- ## AWS Security Hub
885
-
886
- **AWS Security Hub** provides a comprehensive view of security alerts and compliance status across AWS accounts.
887
-
888
- ### Setup and Configuration
889
-
890
- **1. Enable Security Hub:**
891
-
892
- ```bash
893
- # Enable Security Hub in all regions
894
- for region in us-east-1 us-west-2 eu-west-1; do
895
- aws securityhub enable-security-hub \
896
- --region $region \
897
- --enable-default-standards
898
- done
899
-
900
- # Enable specific standards
901
- aws securityhub batch-enable-standards \
902
- --standards-subscription-requests \
903
- '[{"StandardsArn":"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0"}]' \
904
- --region us-east-1
905
- ```
906
-
907
- **2. Terraform Configuration:**
908
-
909
- ```hcl
910
- # Enable Security Hub
911
- resource "aws_securityhub_account" "main" {}
912
-
913
- # Enable CIS AWS Foundations Benchmark
914
- resource "aws_securityhub_standards_subscription" "cis" {
915
- depends_on = [aws_securityhub_account.main]
916
- standards_arn = "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"
917
- }
918
-
919
- # Enable AWS Foundational Security Best Practices
920
- resource "aws_securityhub_standards_subscription" "aws_foundational" {
921
- depends_on = [aws_securityhub_account.main]
922
- standards_arn = "arn:aws:securityhub:${data.aws_region.current.name}::standards/aws-foundational-security-best-practices/v/1.0.0"
923
- }
924
-
925
- # Enable PCI DSS
926
- resource "aws_securityhub_standards_subscription" "pci_dss" {
927
- depends_on = [aws_securityhub_account.main]
928
- standards_arn = "arn:aws:securityhub:${data.aws_region.current.name}::standards/pci-dss/v/3.2.1"
929
- }
930
-
931
- # Custom insights
932
- resource "aws_securityhub_insight" "critical_findings" {
933
- filters {
934
- severity_label {
935
- comparison = "EQUALS"
936
- value = "CRITICAL"
937
- }
938
- workflow_status {
939
- comparison = "EQUALS"
940
- value = "NEW"
941
- }
942
- }
943
-
944
- group_by_attribute = "ResourceType"
945
- name = "Critical Unresolved Findings by Resource Type"
946
- }
947
-
948
- # EventBridge rule for critical findings
949
- resource "aws_cloudwatch_event_rule" "security_hub_findings" {
950
- name = "security-hub-critical-findings"
951
- description = "Capture critical Security Hub findings"
952
-
953
- event_pattern = jsonencode({
954
- source = ["aws.securityhub"]
955
- detail-type = ["Security Hub Findings - Imported"]
956
- detail = {
957
- findings = {
958
- Severity = {
959
- Label = ["CRITICAL", "HIGH"]
960
- }
961
- Workflow = {
962
- Status = ["NEW"]
963
- }
964
- }
965
- }
966
- })
967
- }
968
-
969
- resource "aws_cloudwatch_event_target" "sns" {
970
- rule = aws_cloudwatch_event_rule.security_hub_findings.name
971
- target_id = "SendToSNS"
972
- arn = aws_sns_topic.security_alerts.arn
973
- }
974
- ```
975
-
976
- **3. Custom Actions:**
977
-
978
- ```python
979
- # security_hub_automation.py
980
- import boto3
981
- import json
982
-
983
- securityhub = boto3.client('securityhub')
984
-
985
- def remediate_public_s3_bucket(finding):
986
- """Auto-remediate public S3 buckets"""
987
- s3 = boto3.client('s3')
988
- bucket_name = finding['Resources'][0]['Id'].split(':')[-1]
989
-
990
- # Block public access
991
- s3.put_public_access_block(
992
- Bucket=bucket_name,
993
- PublicAccessBlockConfiguration={
994
- 'BlockPublicAcls': True,
995
- 'IgnorePublicAcls': True,
996
- 'BlockPublicPolicy': True,
997
- 'RestrictPublicBuckets': True
998
- }
999
- )
1000
-
1001
- # Update finding status
1002
- securityhub.batch_update_findings(
1003
- FindingIdentifiers=[{
1004
- 'Id': finding['Id'],
1005
- 'ProductArn': finding['ProductArn']
1006
- }],
1007
- Workflow={'Status': 'RESOLVED'},
1008
- Note={
1009
- 'Text': 'Auto-remediated: Blocked public access',
1010
- 'UpdatedBy': 'AutoRemediation'
1011
- }
1012
- )
1013
-
1014
- # Lambda handler
1015
- def lambda_handler(event, context):
1016
- finding = event['detail']['findings'][0]
1017
-
1018
- if 'S3.1' in finding['Title']: # S3 bucket public read
1019
- remediate_public_s3_bucket(finding)
1020
-
1021
- return {'statusCode': 200}
1022
- ```
1023
-
1024
- ---
1025
-
1026
- ## Microsoft Defender for Cloud
1027
-
1028
- **Microsoft Defender for Cloud** (formerly Azure Security Center + Azure Defender) provides unified security management and threat protection.
1029
-
1030
- ### Components
1031
-
1032
- | Component | Purpose |
1033
- |-----------|---------|
1034
- | Defender for Servers | VM protection, JIT access |
1035
- | Defender for Containers | AKS, ACR security |
1036
- | Defender for Storage | Blob/File protection |
1037
- | Defender for SQL | Database security |
1038
- | Defender for Key Vault | Secret protection |
1039
- | Defender CSPM | Posture management |
1040
-
1041
- ### Setup
1042
-
1043
- **1. Enable Defender for Cloud:**
1044
-
1045
- ```bash
1046
- # Enable Defender for Cloud (Standard tier)
1047
- az security pricing create \
1048
- --name VirtualMachines \
1049
- --tier Standard
1050
-
1051
- az security pricing create \
1052
- --name Containers \
1053
- --tier Standard
1054
-
1055
- az security pricing create \
1056
- --name StorageAccounts \
1057
- --tier Standard
1058
-
1059
- # Enable auto-provisioning
1060
- az security auto-provisioning-setting update \
1061
- --auto-provision On \
1062
- --name default
1063
- ```
1064
-
1065
- **2. Terraform Configuration:**
1066
-
1067
- ```hcl
1068
- # Enable Defender for Cloud plans
1069
- resource "azurerm_security_center_subscription_pricing" "vm" {
1070
- tier = "Standard"
1071
- resource_type = "VirtualMachines"
1072
- }
1073
-
1074
- resource "azurerm_security_center_subscription_pricing" "containers" {
1075
- tier = "Standard"
1076
- resource_type = "Containers"
1077
- }
1078
-
1079
- resource "azurerm_security_center_subscription_pricing" "storage" {
1080
- tier = "Standard"
1081
- resource_type = "StorageAccounts"
1082
- }
1083
-
1084
- # Enable auto-provisioning of Log Analytics agent
1085
- resource "azurerm_security_center_auto_provisioning" "auto_provisioning" {
1086
- auto_provision = "On"
1087
- }
1088
-
1089
- # Configure Log Analytics workspace
1090
- resource "azurerm_security_center_workspace" "workspace" {
1091
- scope = "/subscriptions/${data.azurerm_subscription.current.subscription_id}"
1092
- workspace_id = azurerm_log_analytics_workspace.security.id
1093
- }
1094
-
1095
- # Security contacts
1096
- resource "azurerm_security_center_contact" "contact" {
1097
- email = "security@company.com"
1098
- phone = "+1-555-0100"
1099
- alert_notifications = true
1100
- alerts_to_admins = true
1101
- }
1102
-
1103
- # Regulatory compliance assessments
1104
- resource "azurerm_security_center_assessment" "fedramp_high" {
1105
- assessment_policy_id = "/providers/Microsoft.Authorization/policyDefinitions/fedramp-high"
1106
- target_resource_id = data.azurerm_subscription.current.id
1107
- }
1108
-
1109
- # Just-In-Time VM Access
1110
- resource "azurerm_security_center_jit_network_access_policy" "jit_policy" {
1111
- name = "jit-policy-vm"
1112
- kind = "Basic"
1113
- location = azurerm_resource_group.rg.location
1114
- resource_group_name = azurerm_resource_group.rg.name
1115
-
1116
- virtual_machine {
1117
- virtual_machine_id = azurerm_linux_virtual_machine.vm.id
1118
-
1119
- port {
1120
- number = 22
1121
- protocol = "TCP"
1122
- allowed_source_address_prefix = ["10.0.0.0/8"]
1123
- max_request_access_duration = "PT3H"
1124
- }
1125
-
1126
- port {
1127
- number = 3389
1128
- protocol = "TCP"
1129
- allowed_source_address_prefix = ["10.0.0.0/8"]
1130
- max_request_access_duration = "PT3H"
1131
- }
1132
- }
1133
- }
1134
- ```
1135
-
1136
- **3. Azure Policy Integration:**
1137
-
1138
- ```bash
1139
- # Assign built-in initiatives for compliance
1140
- az policy assignment create \
1141
- --name 'fedramp-high' \
1142
- --display-name 'FedRAMP High Compliance' \
1143
- --policy-set-definition '/providers/Microsoft.Authorization/policySetDefinitions/fedramp-high' \
1144
- --scope "/subscriptions/${SUBSCRIPTION_ID}"
1145
-
1146
- # Custom policy for tagging enforcement
1147
- az policy definition create \
1148
- --name 'require-classification-tag' \
1149
- --display-name 'Require Classification Tag' \
1150
- --mode Indexed \
1151
- --rules '{
1152
- "if": {
1153
- "field": "tags[Classification]",
1154
- "exists": "false"
1155
- },
1156
- "then": {
1157
- "effect": "deny"
1158
- }
1159
- }'
1160
- ```
1161
-
1162
- ---
1163
-
1164
- ## Google Cloud Security Command Center
1165
-
1166
- **Google Cloud Security Command Center (SCC)** provides centralized visibility and control over GCP security.
1167
-
1168
- ### Tiers
1169
-
1170
- | Tier | Features |
1171
- |------|----------|
1172
- | Standard (Free) | Asset discovery, vulnerability scanning, basic findings |
1173
- | Premium | Advanced threat detection, compliance monitoring, Event Threat Detection, Container Threat Detection |
1174
-
1175
- ### Setup
1176
-
1177
- **1. Enable SCC:**
1178
-
1179
- ```bash
1180
- # Enable SCC API
1181
- gcloud services enable securitycenter.googleapis.com
1182
-
1183
- # Enable SCC Premium
1184
- gcloud scc settings update \
1185
- --organization=123456789 \
1186
- --tier=PREMIUM
1187
-
1188
- # Enable built-in services
1189
- gcloud scc settings services enable \
1190
- --organization=123456789 \
1191
- --service=CONTAINER_THREAT_DETECTION
1192
-
1193
- gcloud scc settings services enable \
1194
- --organization=123456789 \
1195
- --service=EVENT_THREAT_DETECTION
1196
-
1197
- gcloud scc settings services enable \
1198
- --organization=123456789 \
1199
- --service=SECURITY_HEALTH_ANALYTICS
1200
- ```
1201
-
1202
- **2. Terraform Configuration:**
1203
-
1204
- ```hcl
1205
- # Enable SCC
1206
- resource "google_scc_organization_settings" "scc_settings" {
1207
- organization = "123456789"
1208
-
1209
- asset_discovery_config {
1210
- project_ids = ["project-1", "project-2"]
1211
- inclusion_mode = "INCLUDE_ONLY"
1212
- }
1213
- }
1214
-
1215
- # Create notification config
1216
- resource "google_scc_notification_config" "scc_notification" {
1217
- config_id = "critical-findings"
1218
- organization = "123456789"
1219
- description = "Notify on critical findings"
1220
- pubsub_topic = google_pubsub_topic.scc_notifications.id
1221
-
1222
- streaming_config {
1223
- filter = "severity=\"CRITICAL\" AND state=\"ACTIVE\""
1224
- }
1225
- }
1226
-
1227
- resource "google_pubsub_topic" "scc_notifications" {
1228
- name = "scc-critical-findings"
1229
- }
1230
-
1231
- # Custom security marks
1232
- resource "google_scc_source" "custom_source" {
1233
- display_name = "Custom Security Scanner"
1234
- organization = "123456789"
1235
- description = "Custom vulnerability scanner"
1236
- }
1237
- ```
1238
-
1239
- **3. Findings API Integration:**
1240
-
1241
- ```python
1242
- # scc_findings.py
1243
- from google.cloud import securitycenter
1244
-
1245
- def list_all_findings(organization_id):
1246
- """List all active findings"""
1247
- client = securitycenter.SecurityCenterClient()
1248
- org_name = f"organizations/{organization_id}/sources/-"
1249
-
1250
- # List findings
1251
- findings = client.list_findings(
1252
- request={
1253
- "parent": org_name,
1254
- "filter": 'state="ACTIVE" AND severity="CRITICAL"'
1255
- }
1256
- )
1257
-
1258
- for finding in findings:
1259
- print(f"Finding: {finding.finding.name}")
1260
- print(f" Category: {finding.finding.category}")
1261
- print(f" Resource: {finding.finding.resource_name}")
1262
- print(f" Severity: {finding.finding.severity}")
1263
- print(f" State: {finding.finding.state}")
1264
-
1265
- def create_finding(organization_id, source_id, finding_id):
1266
- """Create a custom finding"""
1267
- client = securitycenter.SecurityCenterClient()
1268
- source_name = f"organizations/{organization_id}/sources/{source_id}"
1269
-
1270
- finding = {
1271
- "state": securitycenter.Finding.State.ACTIVE,
1272
- "resource_name": f"//cloudresourcemanager.googleapis.com/organizations/{organization_id}",
1273
- "category": "CUSTOM_VULNERABILITY",
1274
- "severity": securitycenter.Finding.Severity.HIGH,
1275
- "event_time": {"seconds": int(time.time())},
1276
- "finding_class": securitycenter.Finding.FindingClass.VULNERABILITY,
1277
- }
1278
-
1279
- created_finding = client.create_finding(
1280
- request={
1281
- "parent": source_name,
1282
- "finding_id": finding_id,
1283
- "finding": finding
1284
- }
1285
- )
1286
-
1287
- return created_finding
1288
-
1289
- # Usage
1290
- list_all_findings("123456789")
1291
- ```
1292
-
1293
- ---
1294
-
1295
- ## Tool Comparison
1296
-
1297
- ### Feature Matrix
1298
-
1299
- | Feature | Trend Micro | Prisma Cloud | Wiz | Aqua | AWS Hub | Azure Defender | GCP SCC |
1300
- |---------|-------------|--------------|-----|------|---------|----------------|---------|
1301
- | **Multi-Cloud** | ✅ | ✅ | ✅ | ✅ | AWS only | Azure only | GCP only |
1302
- | **CSPM** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
1303
- | **Container Security** | ✅ | ✅ | ✅ | ✅ | Limited | ✅ | ✅ |
1304
- | **Runtime Protection** | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | Limited |
1305
- | **IaC Scanning** | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
1306
- | **Kubernetes** | ✅ | ✅ | ✅ | ✅ | Limited | ✅ | ✅ |
1307
- | **Compliance** | 40+ | 40+ | 35+ | 30+ | 3 | 25+ | 15+ |
1308
- | **Agentless** | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
1309
- | **On-Prem** | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
1310
-
1311
- ### Cost Comparison (Approximate)
1312
-
1313
- | Tool | Pricing Model | Est. Cost (100 workloads) |
1314
- |------|--------------|---------------------------|
1315
- | Trend Micro Cloud One | Per workload | $5-10/workload/month |
1316
- | Prisma Cloud | Per credit/resource | $15K-30K/year |
1317
- | Wiz | Per workload | $8-15/workload/month |
1318
- | Aqua Security | Per node | $10-20/node/month |
1319
- | AWS Security Hub | Per check | $0.0010/check (~$100-500/month) |
1320
- | Microsoft Defender | Per resource | $15/server/month, $7/storage/month |
1321
- | GCP SCC Premium | Flat + usage | $2,500/month + usage |
1322
-
1323
- ---
1324
-
1325
- ## Integration Patterns
1326
-
1327
- ### 1. Multi-Tool Strategy
1328
-
1329
- ```
1330
- Layered Security Approach:
1331
- ┌─────────────────────────────────────────────────────┐
1332
- │ Development Phase │
1333
- │ - Prisma Cloud (IaC scanning) │
1334
- │ - Aqua (Container scanning in CI/CD) │
1335
- └───────────────┬─────────────────────────────────────┘
1336
-
1337
- ┌───────────────┴─────────────────────────────────────┐
1338
- │ Deployment Phase │
1339
- │ - Wiz (Pre-deployment validation) │
1340
- │ - Native cloud tools (Security Hub/Defender/SCC) │
1341
- └───────────────┬─────────────────────────────────────┘
1342
-
1343
- ┌───────────────┴─────────────────────────────────────┐
1344
- │ Runtime Phase │
1345
- │ - Trend Micro (Workload protection) │
1346
- │ - Aqua (Container runtime security) │
1347
- │ - Wiz (Continuous threat detection) │
1348
- └─────────────────────────────────────────────────────┘
1349
- ```
1350
-
1351
- ### 2. Centralized Findings Aggregation
1352
-
1353
- ```python
1354
- # aggregate_findings.py
1355
- """Aggregate findings from multiple security tools"""
1356
- import boto3
1357
- import requests
1358
- from google.cloud import securitycenter
1359
-
1360
- class SecurityAggregator:
1361
- def __init__(self):
1362
- self.findings = []
1363
-
1364
- def get_aws_findings(self):
1365
- """Get findings from AWS Security Hub"""
1366
- securityhub = boto3.client('securityhub')
1367
- response = securityhub.get_findings(
1368
- Filters={
1369
- 'SeverityLabel': [{'Value': 'CRITICAL', 'Comparison': 'EQUALS'}],
1370
- 'WorkflowStatus': [{'Value': 'NEW', 'Comparison': 'EQUALS'}]
1371
- }
1372
- )
1373
- return response['Findings']
1374
-
1375
- def get_prisma_findings(self, api_url, token):
1376
- """Get findings from Prisma Cloud"""
1377
- headers = {'Authorization': f'Bearer {token}'}
1378
- response = requests.get(
1379
- f"{api_url}/api/v1/alerts",
1380
- headers=headers,
1381
- params={'severity': 'high', 'status': 'open'}
1382
- )
1383
- return response.json()
1384
-
1385
- def get_wiz_findings(self, client_id, secret):
1386
- """Get findings from Wiz"""
1387
- # Implementation similar to earlier Wiz API example
1388
- pass
1389
-
1390
- def normalize_findings(self, findings, source):
1391
- """Normalize findings to common format"""
1392
- normalized = []
1393
- for finding in findings:
1394
- normalized.append({
1395
- 'source': source,
1396
- 'severity': self._normalize_severity(finding, source),
1397
- 'resource': self._extract_resource(finding, source),
1398
- 'description': self._extract_description(finding, source),
1399
- 'compliance': self._extract_compliance(finding, source)
1400
- })
1401
- return normalized
1402
-
1403
- def aggregate_all(self):
1404
- """Aggregate from all sources"""
1405
- self.findings.extend(
1406
- self.normalize_findings(self.get_aws_findings(), 'AWS Security Hub')
1407
- )
1408
- # Add other sources...
1409
- return self.findings
1410
-
1411
- # Usage
1412
- aggregator = SecurityAggregator()
1413
- all_findings = aggregator.aggregate_all()
1414
- ```
1415
-
1416
- ---
1417
-
1418
- ## Best Practices
1419
-
1420
- ### 1. Tool Selection
1421
-
1422
- **Decision Matrix:**
1423
-
1424
- | Requirement | Recommended Tool(s) |
1425
- |-------------|---------------------|
1426
- | AWS-only environment | AWS Security Hub + Prisma Cloud |
1427
- | Azure-only | Microsoft Defender for Cloud |
1428
- | GCP-only | GCP SCC Premium + Wiz |
1429
- | Multi-cloud | Prisma Cloud or Wiz |
1430
- | Container-heavy | Aqua Security or Prisma Cloud |
1431
- | Air-gapped | Trend Micro (on-prem) or Aqua |
1432
- | Budget-conscious | Native tools (Security Hub, Defender, SCC) |
1433
- | Comprehensive | Prisma Cloud or Wiz |
1434
-
1435
- ### 2. Alert Fatigue Reduction
1436
-
1437
- ```yaml
1438
- # Prioritization strategy
1439
- alert_tiers:
1440
- tier_1_critical:
1441
- - Public exposure of sensitive data
1442
- - Active exploitation detected
1443
- - Privilege escalation
1444
- - Crypto mining
1445
- action: Immediate notification + auto-remediation
1446
-
1447
- tier_2_high:
1448
- - Critical vulnerabilities
1449
- - Compliance violations
1450
- - Misconfigured security groups
1451
- action: Next-business-day review
1452
-
1453
- tier_3_medium:
1454
- - Best practice violations
1455
- - Outdated software
1456
- action: Weekly review
1457
-
1458
- tier_4_low:
1459
- - Informational findings
1460
- action: Monthly review + reports
1461
- ```
1462
-
1463
- ### 3. Compliance Mapping
1464
-
1465
- ```bash
1466
- # Tag resources for compliance tracking
1467
- # All CSPM tools can filter by tags
1468
-
1469
- # Terraform example
1470
- resource "aws_instance" "web" {
1471
- ami = "ami-12345"
1472
- instance_type = "t3.medium"
1473
-
1474
- tags = {
1475
- Classification = "CUI"
1476
- Compliance = "FedRAMP-High,CMMC-L2,NIST-800-171"
1477
- DataOwner = "security@agency.gov"
1478
- Environment = "Production"
1479
- CostCenter = "12345"
1480
- }
1481
- }
1482
- ```
1483
-
1484
- ### 4. Continuous Monitoring
1485
-
1486
- ```python
1487
- # monitoring_automation.py
1488
- """Continuous compliance monitoring"""
1489
- import schedule
1490
- import time
1491
-
1492
- def daily_compliance_check():
1493
- """Run daily compliance scans"""
1494
- # Check all tools
1495
- check_prisma_compliance()
1496
- check_wiz_compliance()
1497
- check_native_tools()
1498
-
1499
- # Generate report
1500
- generate_compliance_report()
1501
-
1502
- def weekly_vulnerability_scan():
1503
- """Weekly vulnerability assessment"""
1504
- scan_with_aqua()
1505
- scan_with_trend_micro()
1506
- correlate_findings()
1507
-
1508
- def monthly_compliance_report():
1509
- """Monthly executive report"""
1510
- aggregate_findings()
1511
- calculate_risk_score()
1512
- send_executive_summary()
1513
-
1514
- # Schedule jobs
1515
- schedule.every().day.at("02:00").do(daily_compliance_check)
1516
- schedule.every().monday.at("03:00").do(weekly_vulnerability_scan)
1517
- schedule.every().month.at("05:00").do(monthly_compliance_report)
1518
-
1519
- while True:
1520
- schedule.run_pending()
1521
- time.sleep(3600) # Check every hour
1522
- ```
1523
-
1524
- ---
1525
-
1526
- **Related Resources:**
1527
- - [cloud-security.md](cloud-security.md) - IAM, encryption, compliance
1528
- - [cleared-cloud-environments.md](cleared-cloud-environments.md) - Government cloud security
1529
- - [devsecops/cspm-integration.md](../devsecops/resources/cspm-integration.md) - CI/CD integration
1530
- - [devsecops/compliance-frameworks.md](../devsecops/resources/compliance-frameworks.md) - Compliance requirements