One way is to just pick a random tile and check to see if it’s not red and is next to a red tile.
For example with a 100x200 tilemap you’d get a random tile with:
set x to int(random(100))
set y to int(random(200))
Then the rest is just comparing the tile at a location. It would need to run multiple times to select a tile to fill.
Now a more direct way could be to loop over all the tiles and store a list of all the valid locations to an array and randomly choosing one of those.
If you’re clever you could make it so you’d have to loop over everything only once and add and remove from the array as you go. You could try looping up flood fill algorithms to get some ideas too.