Bounds checking isn’t done by default in Vulkan. Enabling “Robust Buffer Access” can catch out-of-bounds accesses,
The “index became 0” effect you saw was likely a driver debug feature. DirectX and OpenGL behave similarly and don’t guarantee automatic checks.