바야흐로 문제를 정의하고 나니, 사태는 약 2월달 중후반으로 거슬러 올라가자면
해당 사태는 예전의 예전으로 거슬러 올라가 사용자들로 부터 알게된 것이었으니...
아니 개발자님 앱 알림이 안오는데여?
문제는 이 유저들은 어디까지 선량한 사람들인 것인지 앱 알림이 오지 않으면 문의를 하거나 고객센터에 뭘 남겼어야 한다는 것인데, 아무것도 알려오지 않고 그저 자유게시판에 글만 써오고 있었다는 사실이었다.

그래서 왜때문인고? 하면서 추적을 시작하는 가운데 들어가보니
Google Cloud의 Firebase Messaging 이 작동할 수 없는 상태로 되어버린 거시고?
그 상태를 추적하다 보니 프로젝트 콘솔 자체가 중지되어버린 것이였다.
내용인 즉슨
님 프로젝트 API키가 노출되었거나 하이재킹 이용되고 있는데 왜 점검안함? 정신안차림?
ㅓ... 오만가지 생각이 지나가면서 나는 어디 부분에서 노출되었나 생각했고, 일단 Claim을 하면서 다음과 같이 문서를 보냈다.
Dear Google Cloud Trust & Safety Team,
Thank you for your response.
Unfortunately, because the project remains suspended, I have been unable to access the Google Cloud Console to review logs, inspect resources, or identify the exact activity that triggered the violation.
However, after reviewing my development and deployment practices, I believe the most likely cause is that a service account credential or API key associated with the project may have been unintentionally exposed in the past. This project has been used for a mobile application backend and Firebase Cloud Messaging (FCM) related development and testing.
I have not intentionally created any unauthorized resources, cryptocurrency mining workloads, automated abuse systems, or any activity that would violate Google Cloud policies. If unauthorized activity occurred, I believe it was performed by a third party using compromised credentials.
Because access to the project is currently restricted, I am unable to verify which credentials or resources may have been affected. If access is restored, I will immediately:
- Audit all service accounts and revoke any existing keys.
- Rotate all credentials and API keys associated with the project.
- Review IAM permissions and remove any unnecessary access.
- Inspect all resources for unauthorized deployments and remove them.
- Implement additional controls to prevent future credential exposure.
If possible, I would appreciate any additional information regarding the specific resource, service, credential, or activity that triggered the violation, as this would help me investigate and remediate the issue more effectively.
Thank you for your time and assistance. I am committed to resolving the issue and ensuring compliance with Google Cloud policies.
Best regards,
TaeHwi Lee
대충 요약 =
형들이 조지라 그래서 조지러 갔는데 막혀있다고 현기증난다구요!

그래서 대충 위와 같이 보내고 사건은 일단락 되었었는데, 약 1주일이 걸렸었더랬다
- 그 이후로 IAM 들어가서 권한 조절하고
- Logging 들어가서 이상한거 있나 살펴보고
- Key Rotation 시키고
- 신기한건 여기서 Gemini API 가 실패율이 95%가 떳었다는 것이다.
(심지어 2FA 계정으로 로그인하는데 이런일이 생긴다고?)
그렇게 무심코 넘긴 일이 화근이 될 줄 몰랐다.
대략 2개의 API를 발급해서 사용하고 있었던 것 같은데, 이 때문인지 몰라도 또다시 Violation 으로 인하여 중지되었다는 알림이 5월 말 떠버리기 시작한 것
이번에는 유저들이 단단히 뿔이 낫다는 거시다.
여차저차 이메일을 또쓰고 또쓰고 또쓰고 하는데 해결이 되지 않았고,
결국 나는 마지막 술수를 쓰기에 이르렀는데
이른바 Google Cloud Community에 가서 어그로 끌기 작전이다.
왜 그런고 하니? 내가 왜때문에 처리안해줌? 하면서 티켓을 여러개 따니까
"님 ㅅㄱ 안해줌. 말이 너무 많음"
이렇게 되면서 스팸을 걸어버려서 내가 이후에 보낸 메일들을 받지 못할 수도 있다는 킹능적 결론이 나왔다.

이후에 기적적으로 봉인 해제에 들어갔고, 금일 부로 FCM Push Notification을 사용할 수 있게되었다.
그리하여 API Key Service 관리를 들어가보니? 왜때문에 예전에 한번 발급하고 사용하지 않는 키가 돌아다니고 있는것이 아닌가?
- 때문에 그걸 지워버렸다

그리고 Logging 을 돌아다니면서 처리하고 Rotate를 시작한다
{
"insertId": "4381327247975676422",
"jsonPayload": {
"remediationLink": "https://cloud.google.com/docs/security/respond-to-abuse-misuse",
"@type": "type.googleapis.com/google.cloud.abuseevent.logging.v1.AbuseEvent",
"reinstatementEvent": {},
"reason": "No new abuse findings on the projects have been detected on the monitored resource, but its state may have been updated (eg: reinstated).",
"detectionType": "NO_ABUSE",
"action": "REINSTATE"
},
"resource": {
"type": "abuseevent.googleapis.com/Location",
"labels": {
"resource_container": "projects/399395864699",
"location": "global"
}
},
"timestamp": "2026-06-08T06:23:45.649531945Z",
"severity": "ALERT",
"logName": "projects/moyamo-plus/logs/abuseevent.googleapis.com%2Fabuse_events",
"receiveTimestamp": "2026-06-08T06:23:46.578221266Z"
}
대충 Cloud Logging 에서 찾아보면 위의 경보에서 찾을 수 있는 것인데, 예전에는 무슨일이 있었는지 찾아보았는데
왜때문인지 자기들이 다 처리해서 아모것도 찾을 수 없다는 것이 빅빡침이라는 것.
여하튼 이것으로 더이상 나의 FCM Push notification을 건들지 말아다오..
추가적으로 Gemini API 만을 사용하기 위한 별도의 Google Cloud Console의 Credential 을 만들어주고 바인딩 해줬다. 그 이후에 서버 안에다가 살포시 파킹시킨 뒤에 데몬을 재시작 시켰다
혹시모르니까 FCM의 Topic이 한두개로 고정되있는걸 수정해야 할 지도 모르겠다.
