20 min read

Zamach lipcowy na Twitterze - część 2. Są boty

W pierwszym odcinku analizy hashtagu #zamachlipcowy na Twitterze sprawdziliśmy jak często ten hashtag był publikowany i ile kont uczestniczyło w jego popularyzacji. W dzisiejszym poście wyciągniemy z Twittera trochę więcej informacji o zaangażowanych kontach. Sprawdzimy czy niektóre z nich, to nie są boty. Uprzedzając trochę napiszę, że… są!.

Zajmiemy się trzema zagadnieniami:

  • wiekiem kont, to znaczy od kiedy są na Twitterze?
  • popatrzymy na ich aktywność
  • zbadamy jakich programów używali do publikowania?

By przeprowadzić te wszystkie analizy, potrzebujemy z Twittera pobrać nieco inne dane. W pierwszej części pisałem, że jedną ze zmiennych zwracanych przez API Twittera przy każdym tweecie jest zmienna screenName. To po prostu nazwa konta (login) autora tweeta lub retweeta. Wyliczyliśmy również wcześniej, że w naszej bazie tweetów jest 11044 unikalnych screenNames czyli autorów tweetów/retweetów. Pobrałem dane o tych 11 tys. kont i zapisałem w ramce danych, którą tradycyjnie znajdziecie w formie pliku csv na końcu wpisu.

Pierwszym etapem analizy zawsze jest poznanie danych na których będziemy pracować. Zobaczmy zatem po pierwsze ile mamy rekordów (kont) i jakimi zmiennymi dysponujemy dla każdego konta.

## [1] 10942

Pierwsza niespodzianka. Kont dla których danych mamy jest o 102 mniej niż wyliczonych przez nas wcześniej autorów tweetów/retweetów.

To częsty przypadek, bo niektórzy użytkownicy np. skasowali konto, albo zamknęli do nich dostęp. Z jednej strony to nie jest problem, bo liczba tych kont nie jest duża, z drugiej mogą to być konta, które “zniknęły” z jakiegoś powodu. Warto więc sprawdzić, które to konta, może ich nazwy coś nam powiedzą?

## users_no_data
## FALSE  TRUE 
## 10939   105
##   [1] "MiraWroblewski"  "IlFaulkner"      "Pawel_Niziolek" 
##   [4] "racewicz"        "CoolturaUK"      "Polak_Patriota" 
##   [7] "j_siwinski"      "corleonedondon"  "hihisherlock"   
##  [10] "BSztajkowska"    "ztrompka"        "mac_bratkowski" 
##  [13] "nabavzbjl"       "KosiHoops"       "grazynkaforex"  
##  [16] "BedonUlv"        "UrszUrszu"       "wojciechszewcz1"
##  [19] "Robert_Szarata"  "zieba_kamila"    "SMD_LDZ"        
##  [22] "gEn0YaBYeR1FSgK" "Jasmine13397509" "darek_skw"      
##  [25] "energetykPL_RPA" "wolnapolskaue"   "MichaGrodecki"  
##  [28] "Sasmen76"        "Podkanski_S"     "szymon9966"     
##  [31] "Justyna_Dzasta_" "Gabi_Aga_"       "NicovonOrton"   
##  [34] "crywolf33"       "PadisahAslan"    "J_Barankiewicz" 
##  [37] "luanne_ann"      "PJudek"          "StoklosaMarzena"
##  [40] "fFIJVgLcv3o3ZNP" "KamiWright6"     "AnotherWarBlog" 
##  [43] "rozowyBazant"    "HomoPodlachiae"  "MariazMagdali3" 
##  [46] "ElaarturM"       "styngray73"      "AndrzejGolec"   
##  [49] "hemnephilim"     "Convulsia"       "grzesinskixx"   
##  [52] "bajaga1"         "ma_drz"          "dariow35"       
##  [55] "Ciechomke"       "Cullen_Coco"     "FARSA_Escobar"  
##  [58] "JaWidzeWszystko" "m_mizdal"        "NonSectarianRad"
##  [61] "Kondziaczek"     "PaweL06c"        "eMdzeJDi"       
##  [64] "m_szary"         "wislafan"        "xBattleScars_x" 
##  [67] "WojciechSzarski" "AndyChylinski"   "Mr_Zoob"        
##  [70] "gguova"          "hillybile"       "zabka1955"      
##  [73] "Poland39"        "kslewandowska"   "good_ass_boobs" 
##  [76] "girlstalkbaek"   "XxcxXxxhxh"      "wojtas_mag"     
##  [79] "franciszek_s"    "potas1982"       "agata_kuehn"    
##  [82] "MagdaMickiewicz" "xquQEyuOWGParSd" "sogoodforme"    
##  [85] "marioniedz"      "AdrianOlek93"    "StrelkeTomasz"  
##  [88] "DawidCieniewski" "sIrzIG9is1AoPvY" "M3SPL"          
##  [91] "zychowitz"       "RobertBarszcze"  "ESikorka85"     
##  [94] "agniesia155"     "25051948"        "lanslicancu1989"
##  [97] "TowarzyszM"      "awiorko"         "BolkonskijA"    
## [100] "n00stress"       "EwaWac"          "BuckiSlawomir"  
## [103] "JadeitowaMalpa"  "halinagrab"      "wiktordynarski"

Losowo sprawdzając widzę, że rzeczywiście te konta zniknęły z Twittera. Sprawdźmy jeszcze jak aktywne były te konta i ewentualnie czy nie publikowały jakiś treści, które skłoniłyby je do zniknięcia z Twittera.

Z naszej bazie tweetów z hashtagiem #zamachLipcowy wybieramy tylko tweety. Retweety nie są w tym wypadku istotne, bo z powodu retweeta rzadko kto usuwa konto :-) Następnie w bazie tweetów wyfiltrujemy tylko te, które napisały tweeta, które już usunęły dane i liczymy ile jest takich kont.

screenName n
energetykPL_RPA 16
Podkanski_S 9
ESikorka85 7
MiraWroblewski 6
TowarzyszM 4
wojciechszewcz1 4
Cullen_Coco 3
mac_bratkowski 3
MariazMagdali3 3
MichaGrodecki 3
hillybile 2
KosiHoops 2
AdrianOlek93 1
AndyChylinski 1
BedonUlv 1
BSztajkowska 1
BuckiSlawomir 1
Convulsia 1
CoolturaUK 1
crywolf33 1
eMdzeJDi 1
EwaWac 1
FARSA_Escobar 1
franciszek_s 1
Gabi_Aga_ 1
grzesinskixx 1
HomoPodlachiae 1
IlFaulkner 1
JadeitowaMalpa 1
Mr_Zoob 1
PadisahAslan 1
Polak_Patriota 1
StoklosaMarzena 1
StrelkeTomasz 1
UrszUrszu 1
wolnapolskaue 1
XxcxXxxhxh 1

Niewiele, bo tylko 37 kont, a więc spokojnie możemy sobie zapisać ich tweety w pliku, by później się nimi zająć. Plik tradycyjnie będzie udostępniony na końcu tekstu.

Jak długo konta są na Twitterze?

Kolejnym krokiem będzie sprawdzenie “wieku” kont, czyli jak długo są na Twitterze. To w tym konkretnym przypadku ważne, bo pozwoli nam określić czy nie mieliśmy czasem do czynienia z masowym zakładaniem kont po to by trollować. To częsta praktyka.

Zanim jednak się do tego weźmiemy, sprawdźmy jakimi zmiennymi opisane jest każde konto.

## 'data.frame':    10942 obs. of  17 variables:
##  $ description      : chr  "Nie oglądam publicystyki w TV. Mocno z przymrużeniem oka. Pyra z Poznania." "" "Owner w obszarze DOOH oraz developerki. Narodowość śląska, obywatel Niemiec i Polski." "Poseł, członek Komisji Spraw Zagranicznych i ds. Unii Europejskiej, wiceprzewodniczący polsko-niemieckiej grupy parlamentarnej" ...
##  $ statusesCount    : num  68670 739 20757 2615 17220 ...
##  $ followersCount   : num  3966 2 1306 1728 180 ...
##  $ favoritesCount   : num  80361 1144 6604 6479 19039 ...
##  $ friendsCount     : num  849 144 958 732 238 696 632 68 187 166 ...
##  $ url              : chr  NA NA NA "https://t.co/brFefLhC6P" ...
##  $ name             : chr  "Mandark <ed><U+00A0><U+00BC><ed><U+00B7><U+00B5><ed><U+00A0><U+00BC><ed><U+00B7><U+00B1>" "Zenon" "Mateusz z Katowic" "Marek Krząkała" ...
##  $ created          : POSIXct, format: "2014-11-09 12:49:20" "2017-07-24 08:20:23" ...
##  $ protected        : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ verified         : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ screenName       : chr  "XKubiak" "ZenonIksinski" "Mat_z_Katowic" "MarekKrzakala" ...
##  $ location         : chr  "Las Vegas, NV" "" "Oyten, Deutschland" "Rybnik, Warszawa" ...
##  $ lang             : chr  "en" "pl" "pl" "de" ...
##  $ id               : chr  "2868890507" "889399849938038784" "1181982529" "364316079" ...
##  $ listedCount      : num  47 0 16 35 0 11 6 0 1 1 ...
##  $ followRequestSent: logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ profileImageUrl  : chr  "http://pbs.twimg.com/profile_images/817498652100952064/AXPPe8aA_normal.jpg" "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png" "http://pbs.twimg.com/profile_images/3255967820/332c885819ad195bd8c828f3c1d59968_normal.jpeg" "http://pbs.twimg.com/profile_images/689795820527300608/aOMl51W8_normal.jpg" ...

Po kolei,

  • description - to tzw. bio, opis, który jest na profilu konta
  • statusesCount - liczba opublikowanych tweetów
  • followersCount - liczba followersów
  • favoritesCount - liczba dodanych do favorites(ulubionych)
  • friendsCount - liczba kont, które obserwuje
  • url - adres strony internetowej podany w profilu
  • name - nazwa konta
  • created - data i godzina utworzenia konta
  • protected - czy konto jest za kłódką (wartość logiczna)
  • verified - czy konto jest zweryfikowane? (wartość logiczna)
  • screenName - login (nazwa konta występująca po znaku @)
  • location - podana przez internautę lokalizacja
  • lang - język
  • id - unikalny numer konta
  • listedCount - liczba list do których dodano konto
  • followRequestSent - dla nas kompletnie nie ważne
  • profileImageUrl - adres zdjęcia na profilu

Aby zbadać wiek konta, potrzebna nam jest zmienna, która mówi kiedy konto zostało założone. Ograniczymy dane do roku, miesiąca i dnia, a następnie z agregujemy i wyświetlimy na interaktywnym wykresie.

Widać wyraźnie, że po 2015 roku sporo osób założyło konto. Najwięcej w okolicach maja 2015 (Andrzej Duda wygrywa wybory prezydencki), październik 2015 (wybory parlamentarne) oraz przełom 2016/2017 (spór o Trybunał Konstytucyjny). Ostatni pik jest 20 lipca, kiedy już całkiem nieźle hulał na Twitterze hashtag #zamachLipcowy.

Wniosek jest prosty i raczej oczywisty: zawieruchy w polityce przyciągają ludzi do Twittera. Nie jest to jednak jakiś specjalnie masowy ruch. Być może dlatego, że np. wolą się udzielać gdzie indziej np. na Facebooku? Tego nie wiemy, ale mozna tak przypuścić.

Ogólna aktywność kont

Wiemy już sporo o kontach, które były zaangażowane. Mamy dane o ich aktywności w okresie od 15 lipca do 24 lipca. Normalnie mając dane o użytkownikach, stworzyłby wskaźnik, który dla każdego konta obliczyłby średnią liczbę tweetów dziennie (liczba tweetów/wiek konta wyrażony w dniach), ale niestety tego zrobić nie możemy. Do takich obliczeń potrzebne są dane aktualne na dzień pobierania tweetów, a ja dane o użytkownikach pobierałem dużo później (o ile dobrze pamiętam to koło 28 lipca). Nie ma to większego znaczenia dla kont, które mają kilka miesięcy czy lat, ale w przypadku młodych kont, szczególnie aktywnych, może mieć.

Możemy jednak ten problem obejść w sprytny sposób. Jeśli postawimy hipotezę, że podejrzane mogą być konta, które np. założono 1 lipca lub później, po to by propagować hashtag, albo odwrotnie by go zwalczać, to wystarczy porównać listę najaktywniejszych kont w badanym okresie i wybrać z nich te, które założone zostały powiedzmy po 1 lipca. Dodatkowo ograniczyliśmy listę kont do tych, które powiedzmy średnio tweetowały/retweetowały co najmniej dwa razy dziennie w okresie 15 - 24 lipca, a więc w tym okresie (średnio) miały na koncie co najmniej 18 aktywności.

screenName n created
GlogowskiWitolt 194 2017-07-14 04:04:57
chriss19720722 130 2017-07-05 21:26:16
jolandajolka 75 2017-07-16 15:51:52
Obronimy 58 2017-07-17 18:56:12
Tommek051271 55 2017-07-05 22:28:38
urwis1977 50 2017-07-04 11:27:52
ZamachLipcowy 43 2017-07-15 10:13:33
MarekSzostak11 41 2017-07-14 08:18:43
KurkaWodna007 36 2017-07-05 20:14:02
Leszek15558157 34 2017-07-14 06:21:34
simon_wicz 34 2017-07-18 09:28:57
Ryszard55161560 31 2017-07-14 17:37:00
BalaAdamSt 24 2017-07-08 13:13:46
wojciech_cabaj 21 2017-07-15 21:10:15
kasia_dw 20 2017-07-01 09:03:17
wixsuss 19 2017-07-19 15:55:58

Lista nie jest zbyt długa, ale niektóre z kont są mocno podejrzane.

Pierwsze @GlogowskiWitolt czy @jolandajolka to typowe konta aktywistów jednej ze stron konfliktu. Takie konta robią jak to mówią Amerykanie buzz. Niepokojące jest drugie konto @chriss19720722. Po pierwsze to konto “za kłódką”, a więc dostęp do niego mają tylko te z kont, które są zaakceptowane przez właściciela. Jednocześnie właściciel opublikował w ciągu miesiąca ponad 10 tys. tweetów, czyli kilkaset dziennie. Dużo, zważywszy na ograniczony zasięg tych tweetów.

Takie dane i zachowanie może świadczyć, że jest to osoba, która jest trollem albo nawet działa w grupie trolli, których zadaniem jest rozpowszechnianie tweetów. Wcześniej konto nie było “za kłódką”, a więc coś się stało, że właściciel je zakłódkował? Być może kontrakcja obozu przeciwnego? Trudno powiedzieć.

Z czego tweetowali?

Ostatnią rzeczą, którą jeszcze zbadamy jest… program czy urządzenie z którego tweetowały konta, szczególnie te aktywne. Dane o tzw. kliencie - czyli aplikacji, którą wykorzystał autor tweeta/retweeta, są zapisane w formie adresu url w zmiennej statusSource. Wydzieliłem z każdego adresu nazwę aplikacji (dla każdej z pozycji). Zobaczmy najpierw listę aplikacji oraz jak często je używano (taki ranking klientów) :-). Listę ograniczyłem do pierwszej 30 - ki.

source n
Twitter for Android 26096
Twitter Web Client 18989
Twitter for iPhone 12145
Twitter for iPad 2890
Twitter Lite 2744
TweetDeck 977
Twitter for Windows 814
Tweetbot for iS 208
Twitter for Windows Phone 149
Twitter for BlackBerry 121
Mobile Web (M2) 117
Facebook 112
Tweetbot for Mac 60
Twitter for Mac 50
TweetCaster for Android 27
demokratischesdesign - Such Bot 26
Twitter for phon 24
Instagram 22
Twitter for Android Tablets 21
Twitter for android 3016 19
Periscope 18
Twitter for Android 0090 18
Twitter for Android 1234 18
Twitter for android 3451 18
Twitter for Android 7789 18
Twitter for Android 9978 18
Twitter for Android 1199 17
Twitter for Android 4456 16
Twitter for Android 3335 15
beeter (ß) 14

W pierwszych 10 pozycjach nie ma nic podejrzanego. To wszystko popularne programy do Twittera. W drugiej 10 - ce mamy dwie zastanawiające pozycje: “demokratischesdesign - Such Bot” i “Twitter for android 3016”. W trzeciej 10 - ce pojawiają się nazwy “Twitter for Android” wraz z różnymi numerami.

Z “demokratischesdesign - Such Bot” sprawa jest prosta. To bot grupy aktywistów, który retwetuje tweety zawierające różne wybrane przez właścicieli słowa lub hashtagi.

W przypadku “Twitter for Android xxxx” sprawa jest ciekawa. Początkowo myślałem, że to oznaczenie klienta w niektórych modelach smartfonów z Androidem. Jednak po pierwsze numery nie zawsze świadczą o modelu smartfona (np. “1234”) poza tym krótka kwerenda Googla pokazała, że producenci standardowo instalowane w smartfonach aplikacje do Twittera nazywają po prostu “Twitter for Android”.

Najprawdopodobniej są to więc aplikacje Twittera (boty - to też aplikacje), używane do jakiś - niekoniecznie złych - celów.

Zobaczmy więc, które konta używały aplikacji, których nazwy zaczynały się od “Twitter for” i potem miały oznaczenie liczbowe?

source n
Twitter for android 3016 19
Twitter for Android 0090 18
Twitter for Android 1234 18
Twitter for android 3451 18
Twitter for Android 7789 18
Twitter for Android 9978 18
Twitter for Android 1199 17
Twitter for Android 4456 16
Twitter for Android 3335 15
Twitter for Android 6778 8
Twitter for Android B002 6
Twitter for Android 4433 5
Twitter for Android 5678 5
Twitter for Android A295 5
Twitter for Android (2314) 4
Twitter for Android A72 4
Twitter for Android A864 4
Twitter for Android12345xd 4
Twitter for Iphone 5 (24593u584) 4
Twitter for Android 12345 3
Twitter for Android 12345i 3
Twitter for Android 12345j 3
Twitter for Android 3245 3
Twitter for Android 5634 3
Twitter for Android A001 3
Twitter for Android A01 3
Twitter for Android A015 3
Twitter for Android A016 3
Twitter for Android A09 3
Twitter for Android A11 3
Twitter for Android A27 3
Twitter for Android A52 3
Twitter for Android A566 3
Twitter for Android A640 3
Twitter for Android A652 3
Twitter for Android A712 3
Twitter for Android B005 3
Twitter for Android B007 3
Twitter for Android B11 3
Twitter for Android B6 3
Twitter for Android12345l 3
Twitter for Android12345xe 3
Twitter for Iphone - 2455 3
Twitter for Iphone 3698 3
Twitter for Iphone 5 (59849) 3
Twitter for Iphone 7256 3
Twitter for Iphone 7415 3
Twitter for Android 0987 2
Twitter for Android 12345h 2
Twitter for Android 145 2
Twitter for Android 1632 2
Twitter for Android 1912 2
Twitter for Android 2056 2
Twitter for Android 2438 2
Twitter for Android 3871 2
Twitter for Android 61 2
Twitter for Android 8723 2
Twitter for Android 9034 2
Twitter for Android 9588473 2
Twitter for Android A008 2
Twitter for Android A009 2
Twitter for Android A011 2
Twitter for Android A018 2
Twitter for Android A021 2
Twitter for Android A03 2
Twitter for Android A04 2
Twitter for Android A070 2
Twitter for Android A099 2
Twitter for Android A243 2
Twitter for Android A402 2
Twitter for Android A46 2
Twitter for Android A611 2
Twitter for Android A73 2
Twitter for Android A934 2
Twitter for Android A953 2
Twitter for Android B004 2
Twitter for Android B010 2
Twitter for Android B12 2
Twitter for Android B14 2
Twitter for Android B15 2
Twitter for Android B16 2
Twitter for Android B19 2
Twitter for Android m06012 2
Twitter for Android m06021 2
Twitter for Android m0606 2
Twitter for Android123 2
Twitter for Android12345o 2
Twitter for Android12345t 2
Twitter for Android12345w 2
Twitter for Android12345xa 2
Twitter for Android12345xf 2
Twitter for Android12345xk 2
Twitter for Android12345xm 2
Twitter for Android123b 2
Twitter for Android123d 2
Twitter for Iphone (2582800A) 2
Twitter for Iphone (937472) 2
Twitter for Iphone 1852 2
Twitter for Iphone 3589 2
Twitter for Iphone 4c 2
Twitter for Iphone 4s 2
Twitter for Iphone 5 (v874) 2
Twitter for Iphone 6951 2
Twitter for Iphone 7147 2
Twitter for iPhone v2 2
Twitter for Iphoneb0 2
Twitter for Iphoneb4 2
Twitter for Iphonee9 2
Twitter for Iphonekk0 2
Twitter for Android (772674) 1
Twitter for Android 0432 1
Twitter for Android 12345e 1
Twitter for Android 1456 1
Twitter for Android 2431 1
Twitter for Android 2456 1
Twitter for Android 2711 1
Twitter for Android 4.4 1
Twitter for Android 4536 1
Twitter for Android 4837 1
Twitter for Android 6 1
Twitter for Android 7321 1
Twitter for Android 85762 1
Twitter for Android 958842 1
Twitter for Android A003 1
Twitter for Android A013 1
Twitter for Android A017 1
Twitter for Android A019 1
Twitter for Android A0324 1
Twitter for Android A05 1
Twitter for Android A066 1
Twitter for Android A07 1
Twitter for Android A111 1
Twitter for Android A124 1
Twitter for Android A222 1
Twitter for Android A321 1
Twitter for Android A586 1
Twitter for Android A70 1
Twitter for Android A81 1
Twitter for Android App5 1
Twitter for Android B006 1
Twitter for Android B019 1
Twitter for Android B1 1
Twitter for Android B17 1
Twitter for Android B21 1
Twitter for Android B26 1
Twitter for Android B3 1
Twitter for Android m0601 1
Twitter for Android m06013 1
Twitter for Android m06014 1
Twitter for Android m06015 1
Twitter for Android m06016 1
Twitter for Android m06017a 1
Twitter for Android m06018 1
Twitter for Android m06020 1
Twitter for Android m06022 1
Twitter for Android m0604 1
Twitter for Android m0605a 1
Twitter for Android m0607 1
Twitter for Android m0608a 1
Twitter for Android v6 1
Twitter for Android12345xc 1
Twitter for Android12345xi 1
Twitter for Android12345xj 1
Twitter for Android12345xn 1
Twitter for Android123c 1
Twitter for Iphone 3674 1
Twitter for Iphone 5 (2340686) 1
Twitter for Iphone 5 (2452) 1
Twitter for Iphone 5 (55434) 1
Twitter for Iphone 5144 1
Twitter for Iphone 5587 1
Twitter for Iphone 5689 1
Twitter for Iphone 6359 1
Twitter for iphone 7243 1
Twitter for Iphone 7257 1
Twitter for Iphone 7369 1
Twitter for Iphone 9845 1
Twitter for iPhone v1 1
Twitter for iPhone v14 1
Twitter for iPhone v19 1
Twitter for iPhone v5 1
Twitter for Iphonee69 1
Twitter for Iphonenn9 1
Twitter for Iphoneos9 1
Twitter for Iphoness0 1

Łał! Aż 185 aplikacji! To wyraźnie śmierdzi farmą botów. Dlaczego? Bo boty nie używają, a przynajmniej niezwykle rzadko używają, tradycyjnych klientów Twittera. Ponieważ są to programy (aplikacje), więc mają swoje nazwy w API Twittera. Nazwa klienta Twittera, to jeden z najskuteczniejszych sposobów na sprawdzenie czy mamy do czynienia z botem. W większości przypadków skuteczny.

Zobaczmy więc które konta publikowały tweety/retweety przy pomocy tych aplikacji?

source screenName n
Twitter for android 3016 PO_Suwalki 19
Twitter for Android 0090 PO_Kolno 18
Twitter for Android 1234 PO_Bielsk 18
Twitter for android 3451 PO_Siemiatycze 18
Twitter for Android 7789 PO_Monki 18
Twitter for Android 9978 PO_Grajewo 18
Twitter for Android 1199 PO_WysMaz 17
Twitter for Android 4456 PO_Sokolka 16
Twitter for Android 3335 PO_Sejny 15
Twitter for Android 6778 PO_Lomza 8
Twitter for Android B002 ChelminskaPO 6
Twitter for Android 4433 PO_Zambrow 5
Twitter for Android 5678 PORPBialystok 5
Twitter for Android A295 EmiliaWrbel2 5
Twitter for Android (2314) olkapolka19 4
Twitter for Android A72 KarolinaJasis 4
Twitter for Android A864 EsteraBorkowska 4
Twitter for Android12345xd PO_szamotulski 4
Twitter for Iphone 5 (24593u584) romanka_roma 4
Twitter for Android 12345 PO_Wielkopolska 3
Twitter for Android 12345i PO_kolski 3
Twitter for Android 12345j PO_koninski 3
Twitter for Android 3245 po_wejherowo 3
Twitter for Android 5634 po_chojnice 3
Twitter for Android A001 TorunskaPO 3
Twitter for Android A01 AnnaMic32 3
Twitter for Android A015 POGolubDob 3
Twitter for Android A016 LipnoPo 3
Twitter for Android A09 Now53Ala 3
Twitter for Android A11 MartaZawadzka14 3
Twitter for Android A27 NadiaGorska 3
Twitter for Android A52 AnetaOlszewska8 3
Twitter for Android A566 sobczak_iwona 3
Twitter for Android A640 JoannaKozowska7 3
Twitter for Android A652 GraynaMajewska3 3
Twitter for Android A712 NataliaChmiel13 3
Twitter for Android B005 POWloclawek 3
Twitter for Android B007 POSepolenski 3
Twitter for Android B11 W18Adam 3
Twitter for Android B6 leszekw3 3
Twitter for Android12345l PO_krotoszynski 3
Twitter for Android12345xe PO_sredzki 3
Twitter for Iphone - 2455 majkelo10 3
Twitter for Iphone 3698 po_grojecki 3
Twitter for Iphone 5 (59849) krysia_tam 3
Twitter for Iphone 7256 po_legionowski 3
Twitter for Iphone 7415 po_mazowsze 3
Twitter for Android 0987 PO_Hajnowka 2
Twitter for Android 12345h PO_kepinski 2
Twitter for Android 145 mariusz97z 2
Twitter for Android 1632 Namyslow_PO 2
Twitter for Android 1912 Platforma_KK 2
Twitter for Android 2056 PO_Skarzysko 2
Twitter for Android 2438 PO_Jedrzejow 2
Twitter for Android 3871 AnkelDominika 2
Twitter for Android 61 lina38pl 2
Twitter for Android 8723 po_czluchow 2
Twitter for Android 9034 platformatczew 2
Twitter for Android 9588473 lena1_magda 2
Twitter for Android A008 SwieckaPO 2
Twitter for Android A009 POTuchola 2
Twitter for Android A011 POMogilno 2
Twitter for Android A018 POBydgoszcz 2
Twitter for Android A021 AmandaWie2 2
Twitter for Android A03 HannaWalczak1 2
Twitter for Android A04 basia_zielinska 2
Twitter for Android A070 WroblewskaLaura 2
Twitter for Android A099 iga_maciejewska 2
Twitter for Android A243 dudek_andzelika 2
Twitter for Android A402 GabrielaKwiatk5 2
Twitter for Android A46 EdytaMich 2
Twitter for Android A611 KarolinKam5 2
Twitter for Android A73 majewska_zofia 2
Twitter for Android A934 JagodaDbrowska2 2
Twitter for Android A953 Domisia32 2
Twitter for Android B004 PORypin 2
Twitter for Android B010 ZninskaPO 2
Twitter for Android B12 AdrianUrbaski4 2
Twitter for Android B14 AlbertK186 2
Twitter for Android B15 AndrzejG19 2
Twitter for Android B16 L62Damian 2
Twitter for Android B19 M83Kamil 2
Twitter for Android m06012 NTargPO 2
Twitter for Android m06021 POWieliczka 2
Twitter for Android m0606 POGorlice 2
Twitter for Android123 PO_Leszno 2
Twitter for Android12345o PO_nowotomyski 2
Twitter for Android12345t PO_pilski 2
Twitter for Android12345w PO_Pleszewski 2
Twitter for Android12345xa PoPoznanski 2
Twitter for Android12345xf PO_sremski 2
Twitter for Android12345xk PO_Poznan 2
Twitter for Android12345xm PO_Kalisz 2
Twitter for Android123b PO_rawicki 2
Twitter for Android123d POmiedzychodzki 2
Twitter for Iphone (2582800A) nikola_188 2
Twitter for Iphone (937472) aniakucz1 2
Twitter for Iphone 1852 po_ciechanowski 2
Twitter for Iphone 3589 po_lipski 2
Twitter for Iphone 4c helenkapl44 2
Twitter for Iphone 4s ewka_ewka2 2
Twitter for Iphone 5 (v874) myadamski 2
Twitter for Iphone 6951 po_zurominski 2
Twitter for Iphone 7147 po_ostroleka 2
Twitter for iPhone v2 POSzczecin 2
Twitter for Iphoneb0 PO_Braniewski 2
Twitter for Iphoneb4 PO_Bartoszycki 2
Twitter for Iphonee9 PO_Elblaski 2
Twitter for Iphonekk0 PO_Ketrzyn 2
Twitter for Android (772674) domis_ia 1
Twitter for Android 0432 platformasztum 1
Twitter for Android 12345e PO_grodziskwlkp 1
Twitter for Android 1456 po_opolskie 1
Twitter for Android 2431 PO_Busko_Zdroj 1
Twitter for Android 2456 PO_Konskie 1
Twitter for Android 2711 PO_Staszow 1
Twitter for Android 4.4 PO_Lodz_Wsch 1
Twitter for Android 4536 po_malbork 1
Twitter for Android 4837 po_kartuzy 1
Twitter for Android 6 malyjas 1
Twitter for Android 7321 platformasopot 1
Twitter for Android 85762 wal_kasia 1
Twitter for Android 958842 mariankalost 1
Twitter for Android A003 BrodnickaPO 1
Twitter for Android A013 PONakielski 1
Twitter for Android A017 PORadziejow 1
Twitter for Android A019 PO_KujPomorskie 1
Twitter for Android A0324 AsiaKrawczyk5 1
Twitter for Android A05 MarysiaWinie 1
Twitter for Android A066 DominikaBk5 1
Twitter for Android A07 LauraPawo 1
Twitter for Android A111 WjcikNatalia 1
Twitter for Android A124 Aleksan921 1
Twitter for Android A222 OlaMali321 1
Twitter for Android A321 AgnieszkaWitk19 1
Twitter for Android A586 Natali34a 1
Twitter for Android A70 IzabelaSikora7 1
Twitter for Android A81 wilk_anita 1
Twitter for Android App5 10greg1 1
Twitter for Android B006 POAleksandrKuj 1
Twitter for Android B019 po_torun 1
Twitter for Android B1 and_jaw 1
Twitter for Android B17 JanKucharski7 1
Twitter for Android B21 darek_szulc 1
Twitter for Android B26 RomanLaskoi3 1
Twitter for Android B3 ArekM15 1
Twitter for Android m0601 POMiechow 1
Twitter for Android m06013 PONowySacz 1
Twitter for Android m06014 POOlkusz 1
Twitter for Android m06015 po_oswiecim 1
Twitter for Android m06016 po_proszowice 1
Twitter for Android m06017a po_suski 1
Twitter for Android m06018 POTarnow 1
Twitter for Android m06020 po_wadowice 1
Twitter for Android m06022 POMalopolska 1
Twitter for Android m0604 po_chrzanow 1
Twitter for Android m0605a PO_Dabrowa_Tarn 1
Twitter for Android m0607 POKrakow 1
Twitter for Android m0608a po_limanowa 1
Twitter for Android v6 NiePsujcie 1
Twitter for Android12345xc PO_slupecki 1
Twitter for Android12345xi PO_wrzesinski 1
Twitter for Android12345xj PO_zlotowski 1
Twitter for Android12345xn PO_Konin 1
Twitter for Android123c PO_obornicki 1
Twitter for Iphone 3674 po_szydlowiecki 1
Twitter for Iphone 5 (2340686) agn1es4ka 1
Twitter for Iphone 5 (2452) natalianatka8 1
Twitter for Iphone 5 (55434) arek_koch 1
Twitter for Iphone 5144 po_sokolowski 1
Twitter for Iphone 5587 po_pultuski 1
Twitter for Iphone 5689 po_grodziski 1
Twitter for Iphone 6359 po_zyrardowski 1
Twitter for iphone 7243 PO_Belchatow 1
Twitter for Iphone 7257 po_plock 1
Twitter for Iphone 7369 po_siedlce 1
Twitter for Iphone 9845 PO_Brzeziny 1
Twitter for iPhone v1 PO_Zachpom 1
Twitter for iPhone v14 PO_Walcz 1
Twitter for iPhone v19 po_drawsko 1
Twitter for iPhone v5 PO_Gryfice 1
Twitter for Iphonee69 PO_Elcki 1
Twitter for Iphonenn9 PO_Nowomiejski 1
Twitter for Iphoneos9 PO_Ostroda 1
Twitter for Iphoness0 PO_Szczytno 1

Ciekawe, ciekawe. Większość kont, które użyły aplikacji “Twitter for” to konta, które w nazwie mają…“PO” i to w różnych formach. Wystarczy pobieżnie sprawdzić te konta, by mieć pewność, że reprezentują - zapewne różne struktury Platformy Obywatelskiej. Co ciekawe, cała czołówka założona została… jednego dnia: 12 marca 2017 roku. (plik z podejrzanymi klientami Twittera i kontami do ściągnięcia na końcu tekstu)

W grupie, która publikowała tymi klientami są też konta, których nazwy sugerują osoby fizyczne. Wszystko wskazuje, że są to po prostu lokalni działacze lub sympatycy partii, którzy wyrazili zgodę na dostęp do swojego konta, albo…hodowane boty.

Wszystko to ma cechy niewielkiej fermy botów, która służy (albo służyła) do automatycznej publikacji tweetów lub retweetów. Najprawdopodobniej Platforma Obywatelska albo ktoś działający na jej zlecenie ma program - coś w rodzaju CMS-a - którym po prostu steruje publikacją tweetów czy retweetów na tych blisko dwustu kontach.

Co jeszcze bardziej uprawdopodobnia moją tezę o tym, że jest to farma botów, to fakt, że te konta po 24 lipca nagle przestały używać tych podejrzanych klientów, a zaczęły “normalnych” klientów Twittera.

Dziwne, prawda :-)

Dla mnie działania, które prowadziły te konta to astrturfing.

Przeanalizowaliśmy aktywność związaną z hashtagiem #zamachlipcowy oraz konta, które ten hashtag publikowały. Kolejną rzeczą, którą się zajmiemy - w następnym odcinku - będzie treść tweetów.

Pytania czy uwagi? Najlepiej w komciach poniżej albo na moim tajmlajnie na Twitterze

Jeśli ktoś chce to pliki zawierające dane źródłowe o których wspominam w tym odcinku można ściągnąć: