Mid-afternoon, waiting on a queue of merge requests, I sent a session off to look at GitLab's new rate limits. It came back with two security findings I hadn't asked for. One said my release token, the one that can push tags and cut releases on every repo I own, had been used that day from four AWS London machines I didn't recognise.
So the next hour went on changing the locks: tokens rotated, CI variables deleted and recreated as hidden, five AWS accounts swept. Nothing running, nothing tampered with, and still the sentence I least wanted to read that day: none of those addresses is ours.
Then, around half five, the session corrected itself. GitLab's token record lists up to five addresses with no dates beside them, so it's a visitors' book rather than a log. The machines were my own runner fleet from early September.
A false alarm, but it showed me something real: every job in the estate was running as me, sharing one identity's rate limit and one identity's blast radius. The fix was job tokens, seven service accounts, hidden variables and 2FA, all on the free tier.
#DevOps #CICD
https://phpboyscout.uk/the-addresses-had-no-dates/