GitHubs Taskflow Agent fant 24 Android-sårbarheter, blant dem stedssporing i OsmAnd og kontokapring i Wikipedia
Bruk GitHubs åpne Taskflow Agent til å revidere Android-apper, men regn med at hvert funn må sjekkes av et menneske før det er noe verdt.
24 sårbarheter i Android-apper er fangsten så langt fra GitHub Security Labs KI-drevne revisjon, skriver forsker Kevin Stubbings på The GitHub Blog 28. september. Verktøyet er Taskflow Agent, et åpent rammeverk der revisjonen deles opp i YAML-definerte steg som styrer en språkmodell gjennom kodebasen. For Android la Stubbings til to nye taskflows: én som skiller mobile inngangspunkter fra resten av repoet, og én som gir modellen en sjekkliste over sårbarhetsklasser per inngangspunkt, som confused deputy og usikre broadcasts.
Det mest alvorlige funnet rammer OsmAnd, en navigasjonsapp med over 10 millioner nedlastinger. Aktiviteten MapActivity er eksportert og godtar intent-ekstra som bare var ment for en intern AIDL-tjeneste. Enhver app, også en uten tillatelser, kan dermed importere innstillinger i stillhet og peke kartflisene mot en server angriperen styrer. Hver flis bærer x- og y-koordinater, så angriperen får en logg over hvor brukeren har vært på kartet, pluss start og mål for hver rute.
I Wikipedia-appen fant agenten samme logiske feil to ganger: vertsnavnet sjekkes med endsWith() i stedet for eksakt match, så evil-wikipedia.org slipper gjennom. Kjedet sammen gir feilene kontokapring via en wikipedia://-dyplenke. Appen åpner angriperens side og sender med brukernavn, langlivet token og sesjonstoken som gjelder i alle Wikimedia-prosjekter.
«LLM-er er gode til å finne sårbarheter, til og med så gode at de finner lavalvorlige feil som ikke har særlig betydning.» — Kevin Stubbings, GitHub Security Lab
Alvorlighetsgraden bommer modellen ofte på, skriver Stubbings, og den rapporterer lavalvorlige funn selv når den blir bedt om å la være. GitHubs forrige runde mot 40 repoer, beskrevet på samme blogg i mars, viser hvor smal trakten er: modellen foreslo 1003 mulige sårbarheter, 91 sto igjen etter revisjon og deduplisering, og bare 19 var alvorlige nok til å rapporteres.
Hva bør du gjøre?
- Søk i egen Android- og webkode etter vertsnavnsjekker med endsWith(), og krev eksakt match eller et punktum foran domenet.
- Gå gjennom eksporterte aktiviteter og anta at enhver app kan sende hvilke intent-ekstra den vil.
- Kjør revisjonen selv: start en codespace fra seclab-taskflows-repoet og kjør ./scripts/audit/run_mobile.sh med ditt eget repo. Det krever Copilot-lisens, bruker premium-forespørsler og tar en til to timer på et mellomstort repo.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.