Currently, this is the code inside the function that manages the wiggle, But when ran, nothing happens and the Missile flies in a straight line before locking on.
then you can pass the time variable into stacked noise functions to get an overall circular but also random movement along with random wiggles along that path
(incomplete pseudocode)
local t = 0
local seed = os.time() -- reset seed when you make a new missile, probably use random numbers instead of time
local function moveMissile()
t += timePassed
--add more/tweak numbers as needed to make it look right
local largeMovement = math.noise(t/10+seed)*10 -- creates large arcs because 10x slower
local smallMovement = math.noise(t + 100+seed) -- add 100 for different random numbers, changes faster but also less significant to movement
local totalMovement = smallMovement + largeMovement
--probably repeat for the x,y,z directions and then make a vector
end