Да, когда вы вызываете нативный код через JNI, он может делать практически все, что может делать текущий пользователь - например, удалите все их файлы. Система Java не может контролировать все, что делает нативный код.
У вас нет , чтобы использовать JNI для чего-либо - это обычно используется, например, для низкоуровневый доступ (например, обработка критических ошибок для съемного диска) или доступ к API C, который не имеет эквивалента чисто Java.