
깃허브 시큐리티랩이 자체 개발한 AI 보안 에이전트 '태스크플로 에이전트'로 안드로이드 앱을 점검해 취약점 24건을 찾아냈습니다. 대표적으로 내비게이션 앱 오스맨드에서는 외부 앱이 몰래 설정을 바꿔 지도 서버 주소를 조작함으로써 사용자 위치를 추적할 수 있는 결함이 발견됐고, 위키백과 앱에서는 딥링크 검증 오류와 쿠키 처리 결함이 겹쳐 악성 링크 클릭 한 번만으로 계정이 탈취될 수 있는 문제가 확인됐습니다. 깃허브는 AI가 찾아낸 결과라도 전문가 검토 없이 그대로 신뢰해서는 안 된다고 강조했습니다. 이는 AI 자동화 보안 점검 도구가 실무에서 효과를 낼 수 있지만 여전히 사람의 검증이 필요하다는 점을 보여주는 사례입니다.
깃허브 시큐리티랩이 AI 보안 에이전트 '태스크플로 에이전트'를 활용한 안드로이드 앱 점검에서 취약점 24건을 발견했다.
오스맨드 앱에서는 사용자 위치 추적이 가능한 결함이, 위키백과 앱에서는 계정 탈취로 이어질 수 있는 결함이 확인됐다.
오스맨드는 외부에 공개된 액티비티가 설정값을 검증 없이 받아들였고, 위키백과 앱은 딥링크와 쿠키 처리에서 도메인 검증을 끝부분만 확인(endsWith)하는 방식으로 허술하게 구현했다.
깃허브는 AI가 찾은 결과를 전문가가 반드시 검토해야 한다고 강조했으며, 결과는 SQLite 데이터베이스에 저장돼 연구자 검토를 거친다.
AI 기반 보안 점검 도구는 취약점 탐지 속도를 높이지만 심각도 오판이나 오탐 가능성이 있어 사람의 최종 검증 절차를 반드시 유지해야 한다.
본문
깃허브 시큐리티랩이 자체 AI 보안 에이전트로 안드로이드 앱에서 취약점 24건을 찾아냈다고 밝혔다. 사용자 위치를 몰래 추적하거나 계정을 탈취할 수 있는 결함도 들어 있었다.
연구에 쓰인 도구는 '깃허브 시큐리티랩 태스크플로 에이전트'(Taskflow Agent)다. AI를 활용한 보안 연구 과정을 자동화하는 오픈소스 프레임워크다.
연구진은 안드로이드 전용 작업 흐름을 만들어 점검을 여러 단계로 나눴다. 한 단계에선 외부에 공개된 액티비티와 서비스, 브로드캐스트 리시버, 딥링크처럼 다른 앱이 드나들 수 있는 진입점을 찾는다. 다음 단계에선 진입점마다 안전하지 않은 인텐트, '혼동된 대리인'(confused deputy) 문제, 위험한 브로드캐스트, 앱 간 스크립팅, 웹뷰 위험 같은 안드로이드 취약점 유형에 비춰 따져 본다.
가장 심각한 결함 중 하나는 1000만회 넘게 내려받은 내비게이션 앱 오스맨드(OsmAnd)에서 나왔다. 외부에 공개된 이 앱의 MapActivity는 설정을 가져오는 과정에서 보안상 민감한 값을 그대로 받아들였다.
공개된 액티비티는 다른 앱이 보낸 요청도 받는다. 그래서 악성 앱이 silent_import, replace, export_type_list_key 같은 값을 마음대로 넣어 보낼 수 있었다. 아무 권한도 없는 앱이 사용자에게 알리지 않고 오스맨드 설정을 가져와 덮어쓸 수 있다는 뜻이다.
공격자는 이 틈으로 지도 타일을 받아 오는 주소를 자기 서버로 바꿀 수 있다. 서버에 찍히는 타일 좌표를 기록하면 피해자의 위치와 이동을 짐작할 수 있고, 길찾기 출발지와 목적지도 드러날 수 있다.
위키백과 안드로이드 앱에선 두 결함이 이어졌다. 앱은 'wikipedia://' 딥링크를 등록해 앱 안의 웹뷰로 콘텐츠를 띄운다. 그런데 호스트 이름을 검사할 때 정확한 도메인이 맞는지가 아니라 끝부분만 endsWith()로 확인했다. 그래서 evil-wikipedia.org 같은 악성 도메인도 검사를 통과했다. 공격자가 조작한 딥링크를 심은 웹페이지를 만들고 피해자가 이를 열게 하면, 앱이 공격자 콘텐츠를 웹뷰에 띄울 수 있다. 피해자는 진짜 위키백과 페이지를 보고 있다고 믿을 수 있다.
쿠키 처리 코드에도 같은 방식의 도메인 끝부분 검사 결함이 있었다. 이 때문에 웹뷰가 위키미디어 쿠키를 공격자 페이지에 넘겨줄 수 있다. 여기엔 사용자 이름과 오래 유지되는 인증 토큰, 세션 토큰이 들어갈 수 있고, 이 토큰은 위키백과와 위키미디어 공용, 위키데이터, 메타에서 두루 통한다. 두 결함을 엮으면 피해자가 악성 링크 한 번만 눌러도 계정이 탈취될 수 있다.
깃허브는 "AI가 찾아낸 결과를 전문가 검토 없이 받아들여선 안 된다"고 밝혔다. 대형언어모델(LLM)은 코드 패턴과 관련 API를 잘 찾지만, 심각도를 잘못 판단하거나 위험을 줄여 주는 동작을 놓치고 오탐을 낼 수도 있다는 설명이다. 연구진은 모델에 개념증명(PoC)을 만들게 하면 선별에 도움이 되지만 사람의 시험은 여전히 빠질 수 없다고 봤다.
태스크플로 에이전트와 안드로이드 점검 작업 흐름은 공개돼 있지만 깃허브 코파일럿 라이선스가 필요하다. 중간 규모 저장소 하나에 1~2시간과 수많은 도구 호출이 필요할 수 있어 프리미엄 모델 요청이 많이 든다. 결과는 SQLite의 audit_results 테이블에 쌓여 연구자가 검토하게 된다.
같은 소식, 다른 매체 보도1건
관련 투런 솔루션
이 뉴스의 취약점·위협, 투런 솔루션으로 대응하세요.





