Sharing a land boundary with a faction invites a land invasion from that faction, but naval incursions are a bit more murky. The AI behavior regarding expansion by sea is a bit strange but hopefully this thread will elucidate y'all.

It seems that certain regions have a maritime "link" between them which causes the AI to launch invasions to and fro. These "links" are:

Pergamon - Rhodes
Pergamon - Crete
Kyrene - Crete
Athenai - Crete
Alexandreia - Crete
Alexandreia - Rhodes
Halicarnassus - Rhodes
Salamis - Rhodes
Salamis - Ptolemais-Akko
Salamis - Tarsos
Taras - Epidamnos (special)
Syrakousai - Crete
Arretium - Nesakton (special)
Sinope - Olbia (special)

Most of these are obvious (finally a villain origin story for the island of Crete!) but some of these are unintuitive. The Syrakousai - Crete link is especially egregious. Expect a faction that controls either to attack the other. An interesting thing to note is that some of these links only work if one of them is AI-controlled. A faction controlling either of these special links would prevent invasions. The most memorable one would be the Romans utterly giving up on Epidamnos once, say, the Epeirote player conquers it. Another example I've noticed is any AI faction controlling Sinope sending expeditions to Olbia. However in most cases the AI doesn't care; if a maritime link is present, it's free real estate