<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>graph &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/graph/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sun, 09 Mar 2025 08:49:50 +0000</lastBuildDate>
	<language>en-GB</language>
	<copyright>© Terence Eden. 🄯 CC BY-SA. See https://shkspr.mobi/blog/copyright-and-copyleft/</copyright>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>graph &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[This is what a graph of 8,000 fake Twitter accounts looks like]]></title>
		<link>https://shkspr.mobi/blog/2015/03/this-is-what-a-graph-of-8000-fake-twitter-accounts-looks-like/</link>
					<comments>https://shkspr.mobi/blog/2015/03/this-is-what-a-graph-of-8000-fake-twitter-accounts-looks-like/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 09 Mar 2015 11:55:52 +0000</pubDate>
		<category><![CDATA[graph]]></category><category><![CDATA[python]]></category><category><![CDATA[spam]]></category><category><![CDATA[twitter]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=20729</guid>

					<description><![CDATA[Recently I&#039;ve been plagued with Tweets saying that I&#039;m &#34;trending in London.&#34;        As flattering as that is, it&#039;s not true.  There appears to be a network of Twitter bots which are randomly repeating other people&#039;s tweets, ripping off avatars and bios, and generally causing a nuisance.  Looking at the users&#039; Twitter name, I don&#039;t think it&#039;s unreasonable to think that &#34;ekip_uhokoqeq&#34; and…]]></description>
										<content:encoded>&lt;p&gt;Recently I've been plagued with Tweets saying that I'm "trending in London."&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Twitter-Spam-Trending-fs8.png" alt="Twitter Spam Trending-fs8" width="846" height="227" class="aligncenter size-full wp-image-20730"&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Twitter-Spam-Trending-Again-fs8.png" alt="Twitter Spam Trending Again-fs8" width="793" height="245" class="aligncenter size-full wp-image-20742"&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/More-bloody-spammers-fs8.png" alt="More bloody spammers-fs8" width="770" height="222" class="aligncenter size-full wp-image-20746"&gt;

&lt;p&gt;As flattering as that is, it's not true.  There appears to be a network of Twitter bots which are randomly repeating other people's tweets, ripping off avatars and bios, and generally causing a nuisance.&lt;/p&gt;

&lt;p&gt;Looking at the users' Twitter name, I don't think it's unreasonable to think that "ekip_uhokoqeq" and "utadaqusoxeh" are randomly generated sequence of characters.  And, without wishing to judge, that photo doesn't &lt;em&gt;look&lt;/em&gt; like a Susan...&lt;/p&gt;

&lt;p&gt;Let's take a look at one of the user's profile :&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Twitter-Spam-Profile-fs8.png" alt="Twitter Spam Profile-fs8" width="814" height="731" class="aligncenter size-full wp-image-20731"&gt;

&lt;p&gt;It's possible to trace back the bio and photo to different users - they've had their details misappropriated.  The Tweets seem to be just randomly taken from other users.&lt;/p&gt;

&lt;p&gt;Let's take a look at who this bot is following :&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Twitter-Spam-Following-fs8.png" alt="Twitter Spam Following-fs8" width="1186" height="880" class="aligncenter size-full wp-image-20732"&gt;

&lt;p&gt;Again, random sequences of letters, hijacked bios and photos.  Clicking through each of these profiles reveals a network of &lt;em&gt;thousands of fake accounts&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I adapted &lt;a href="https://web.archive.org/web/20140917091009/https://mark-kay.net/blog/2014/08/15/generating-a-network-graph-of-twitter-followers-using-python-and-networkx/"&gt;a script to visualise the network of accounts&lt;/a&gt; - this is only looking 3 levels deep (Twitter's API limits make going much further a time consuming task) :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Spam-Graph-fs8.png"&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Spam-Graph-fs8.png" alt="Spam Graph-fs8" width="1060" height="786" class="aligncenter size-full wp-image-20738"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used &lt;a href="https://gephi.github.io/"&gt;Gephi&lt;/a&gt; to draw the graph.&lt;/p&gt;

&lt;p&gt;As you can see - there are dozens of randomly named accounts.  They appear to only be following each other - I don't think any "real" users are in there.  I can only assume that by forming a network like this, they can evade Twitter's filters.  The bots can then either start generating spam, be sold off as fake followers, or used for some other unsavoury purpose.&lt;/p&gt;

&lt;p&gt;I ran the script over the weekend to a recursive depth of 4 and &lt;strong&gt;identified over 8,000 spam accounts&lt;/strong&gt;.  Using &lt;a href="https://web.archive.org/web/20150311153238/http://apps.cytoscape.org/apps/allegrolayout"&gt;Cytoscape and Allegro Layout&lt;/a&gt; I was able to create this visualisation of the tangled web of connections.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Big-Graph-of-Twitter-Spammers-fs8.png"&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Big-Graph-of-Twitter-Spammers-fs8.png" alt="Big Graph of Twitter Spammers-fs8" width="855" height="790" class="aligncenter size-full wp-image-20747"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="http://graph-tool.skewed.de/"&gt;Python's Graph-Tool&lt;/a&gt; I generated a somewhat prettier visualisation of how all these accounts are connected.
&lt;a href="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Network-Diagram-Spammers-fs8.png"&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Network-Diagram-Spammers-fs8.png" alt="Network Diagram Spammers-fs8" width="1024" height="1024" class="aligncenter size-full wp-image-20750"&gt;&lt;/a&gt;
They each mostly follow around 8 accounts - there's a fair bit of clustering.  While there are a few accounts with larger follower numbers, it's hard to discern if there's a definitive pattern.  The large gap appears to be users who have been suspended.&lt;/p&gt;

&lt;p&gt;As the weekend drew to a close, I'd reached the fifth level of my recursive algorithm.  Using Cytoscape's "Organic" layout, another interesting pattern emerges.
&lt;a href="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Circles-of-Spam-fs8.png"&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Circles-of-Spam-fs8.png" alt="Circles of Spam-fs8" width="1024" height="640" class="aligncenter size-full wp-image-20752"&gt;&lt;/a&gt;
There appears to be several "loops" - that is bots which are in an almost closed network with each other.  I see at least half a dozen circles - the rest appear to be following other fake accounts at random.&lt;/p&gt;

&lt;p&gt;The centre of those circles &lt;em&gt;appear&lt;/em&gt; to be real people.  I can't say &lt;em&gt;why&lt;/em&gt; they have lots of fake followers - it's possible that they - or someone else - has just bought them to make it look like they're more popular than they really are.  There's no suggestion that they control the fake accounts.&lt;/p&gt;

&lt;p&gt;One of the central nodes has &lt;strong&gt;650,000 followers&lt;/strong&gt;.  It's not possible to know quite how many of those are fake - I'm guessing the majority are.&lt;/p&gt;

&lt;p&gt;It seems that there's a nasty nest of these bots.  In the last few weeks I've reported a dozen or so for spam - but with literately tens of thousands in the network it's impossible for any individual to make a meaningful impact.&lt;/p&gt;

&lt;p&gt;I wish Twitter could track down the source of this problem and eradicate it.&lt;/p&gt;

&lt;p&gt;If you want to have a play with this dataset - you can &lt;a href="https://shkspr.mobi/blog/wp-content/uploads/2015/03/Fake-Followers.zip"&gt;download a .zip file of the relationships and their metadata&lt;/a&gt;.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=20729&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/03/this-is-what-a-graph-of-8000-fake-twitter-accounts-looks-like/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
	</channel>
</rss>
