User Guide
Synapse-Twitter User Guide
Synapse-Twitter adds new Storm commands to allow you to query the Twitter v2 API using your existing API Bearer token. In certain specific cases the v1.1 API is used until Twitter ports the functionality over to their v2 API.
Getting Started
Check with your Admin to enable permissions and find out if you need a personal Bearer Token or personal OAuth keys.
Examples
Setting your personal API key
To set-up a personal use Bearer Token:
> twitter.setup.apikey --self myapikey
Setting Synapse-Twitter API key for the current user.
Fetching User Profiles
Fetch a user profile from twitter:
> [inet:web:acct=(twitter.com, invisig0th)] | twitter.user.profile
inet:web:acct=twitter.com/invisig0th
.created = 2024/12/17 19:38:12.647
:name = visi
:signup = 2009/04/12 21:22:36.000
:site = twitter.com
:tagline = Founder @vtxproject
Father of the #APT1 Report @mandiant / @fireeye
Inventor of synapse, vivisect, UNCs, imphash, ...
DEFCON CTF Champion, Founder of Kenshoto
:user = invisig0th
:webpage = http://vertex.link/
Fetch a user profile without first creating a new node:
> twitter.user.profile --user vpEpiphyte
inet:web:acct=twitter.com/vpepiphyte
.created = 2024/12/17 19:38:12.918
:name = epiphyte
:signup = 2017/08/19 14:04:50.000
:site = twitter.com
:tagline = I pick up rocks and look underneath them
:user = vpepiphyte
Fetching Followers and Followings
Fetch an existing user’s followers:
> inet:web:acct=(twitter.com, invisig0th) | twitter.user.followers --size 3 --yield
inet:web:follows=('twitter.com/cybersecdad2014', 'twitter.com/invisig0th')
.created = 2024/12/17 19:38:13.222
:followee = twitter.com/invisig0th
:follower = twitter.com/cybersecdad2014
inet:web:follows=('twitter.com/nathan97832057', 'twitter.com/invisig0th')
.created = 2024/12/17 19:38:13.277
:followee = twitter.com/invisig0th
:follower = twitter.com/nathan97832057
inet:web:follows=('twitter.com/forewarnedyou', 'twitter.com/invisig0th')
.created = 2024/12/17 19:38:13.335
:followee = twitter.com/invisig0th
:follower = twitter.com/forewarnedyou
Add a new user and their followers:
> twitter.user.followers --user vtx_savage --size 5 --yield
inet:web:follows=('twitter.com/svcghost', 'twitter.com/vtx_savage')
.created = 2024/12/17 19:38:13.663
:followee = twitter.com/vtx_savage
:follower = twitter.com/svcghost
inet:web:follows=('twitter.com/secman_pl', 'twitter.com/vtx_savage')
.created = 2024/12/17 19:38:13.721
:followee = twitter.com/vtx_savage
:follower = twitter.com/secman_pl
inet:web:follows=('twitter.com/jonjon13131313', 'twitter.com/vtx_savage')
.created = 2024/12/17 19:38:13.779
:followee = twitter.com/vtx_savage
:follower = twitter.com/jonjon13131313
inet:web:follows=('twitter.com/malwaremayhem', 'twitter.com/vtx_savage')
.created = 2024/12/17 19:38:13.835
:followee = twitter.com/vtx_savage
:follower = twitter.com/malwaremayhem
inet:web:follows=('twitter.com/chompie1337', 'twitter.com/vtx_savage')
.created = 2024/12/17 19:38:13.890
:followee = twitter.com/vtx_savage
:follower = twitter.com/chompie1337
Get the profiles for the accounts a user is following:
> inet:web:acct=(twitter.com, invisig0th) | twitter.user.following --size 3 --yield
inet:web:follows=('twitter.com/invisig0th', 'twitter.com/oatmeal')
.created = 2024/12/17 19:38:14.120
:followee = twitter.com/oatmeal
:follower = twitter.com/invisig0th
inet:web:follows=('twitter.com/invisig0th', 'twitter.com/wesdrone')
.created = 2024/12/17 19:38:14.179
:followee = twitter.com/wesdrone
:follower = twitter.com/invisig0th
inet:web:follows=('twitter.com/invisig0th', 'twitter.com/cissp_googling')
.created = 2024/12/17 19:38:14.235
:followee = twitter.com/cissp_googling
:follower = twitter.com/invisig0th
Add a new user and who they’re following:
> twitter.user.following --user vpEpiphyte --yield
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/iamdevloper')
.created = 2024/12/17 19:38:14.469
:followee = twitter.com/iamdevloper
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/kdenizen')
.created = 2024/12/17 19:38:14.708
:followee = twitter.com/kdenizen
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/virustotal')
.created = 2024/12/17 19:38:14.763
:followee = twitter.com/virustotal
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/williballenthin')
.created = 2024/12/17 19:38:14.822
:followee = twitter.com/williballenthin
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/danielhbohannon')
.created = 2024/12/17 19:38:14.882
:followee = twitter.com/danielhbohannon
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/matthewdunwoody')
.created = 2024/12/17 19:38:14.942
:followee = twitter.com/matthewdunwoody
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/itsreallynick')
.created = 2024/12/17 19:38:15.000
:followee = twitter.com/itsreallynick
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/_mhastings_')
.created = 2024/12/17 19:38:15.059
:followee = twitter.com/_mhastings_
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/ryankaz42')
.created = 2024/12/17 19:38:15.114
:followee = twitter.com/ryankaz42
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/_devonkerr_')
.created = 2024/12/17 19:38:15.172
:followee = twitter.com/_devonkerr_
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/cglyer')
.created = 2024/12/17 19:38:15.229
:followee = twitter.com/cglyer
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/vtxproject')
.created = 2024/12/17 19:38:15.286
:followee = twitter.com/vtxproject
:follower = twitter.com/vpepiphyte
inet:web:follows=('twitter.com/vpepiphyte', 'twitter.com/invisig0th')
.created = 2024/12/17 19:38:15.347
:followee = twitter.com/invisig0th
:follower = twitter.com/vpepiphyte
Fetching Tweets
Fetch a single user’s most recent tweets:
> inet:web:acct=(twitter.com, invisig0th) | twitter.user.tweets --size 3 --yield
WARNING: User has been suspended: [absoIute_units].
inet:web:post=5d5f0577cf52fcbe6263cc06b5bc4496
.created = 2024/12/17 19:38:15.596
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/vtxproject,twitter.com/wgibb
:text = RT @wgibb: @vtxproject spotted in the wild, analyzing geological formations. We can capture the knowledge of people going to specific place…
:time = 2021/08/17 18:30:29.000
:url = https://twitter.com/invisig0th/status/1427699369449566213
inet:web:post=69714194ea7ceb8138f0a621f3f2931b
.created = 2024/12/17 19:38:15.736
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/cons_owned
:text = RT @cons_owned: pic.twitter.com/XEi4gneKcq
:time = 2021/08/17 18:28:27.000
:url = https://twitter.com/invisig0th/status/1427698855840256000
inet:web:post=431942a6638f10a2929208907037c412
.created = 2024/12/17 19:38:15.911
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/khaledhosseini
:text = RT @khaledhosseini: The United States has a moral obligation. Admit as many Afghan refugees as possible.
:time = 2021/08/16 22:13:38.000
:url = https://twitter.com/invisig0th/status/1427393138088456194
Fetch a new account and it’s most recent tweets:
> twitter.user.tweets --size 3 --user vtx_savage --yield
inet:web:post=577e4822c148ac6d572f8a7cd417c841
.created = 2024/12/17 19:38:16.210
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags =
:mentions:users = twitter.com/boburnham,twitter.com/ericalikestech,twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @ericalikestech @boburnham @vtxproject pic.twitter.com/6zkxlRnHgs
:time = 2021/08/20 14:23:14.000
:url = https://twitter.com/vtx_savage/status/1428724310399766539
inet:web:post=2d8a6d59948ebc8dec53d922c33a0218
.created = 2024/12/17 19:38:16.443
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags =
:mentions:users = twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @vtxproject pic.twitter.com/clpr2Dg8My
:time = 2021/08/17 14:54:24.000
:url = https://twitter.com/vtx_savage/status/1427644989731921928
inet:web:post=e19a70269ad941c43ab167e7fc757377
.created = 2024/12/17 19:38:16.635
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags = #vtxinthewild,#vtxitw
:mentions:users = twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @vtxproject #vtxinthewild or #vtxitw ?
:time = 2021/08/17 14:41:11.000
:url = https://twitter.com/vtx_savage/status/1427641665347592201
Fetch a tweet (and its associated user) via the tweet ID:
> twitter.tweets.byid 1456591769185959938 --yield
inet:web:post=6e7d3c5085f7034406ad875c2e51df34
.created = 2024/12/17 19:38:16.944
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:text = It's 0day xmas on the Internet today!
( used to *love* these back in the day. SIGILL ftw! ) pic.twitter.com/5yx77420Po
:time = 2021/11/05 11:58:34.000
:url = https://twitter.com/invisig0th/status/1456591769185959938
As these tweets are being pulled down, the text of each tweet is scrapped for any additional nodes using the logic from $lib.scrape
. To pivot to the scrapped nodes, follow the refs
light edge:
> twitter.tweets.byid 1540590647022915584 --yield | -(refs)> * | limit 5
inet:url=https://twitter.com/abuse_ch/status/1540590647022915584/photo/1
.created = 2024/12/17 19:38:17.588
:base = https://twitter.com/abuse_ch/status/1540590647022915584/photo/1
:fqdn = twitter.com
:params =
:path = /abuse_ch/status/1540590647022915584/photo/1
:port = 443
:proto = https
inet:server=tcp://2.58.56.247:80
.created = 2024/12/17 19:38:17.645
:ipv4 = 2.58.56.247
:port = 80
:proto = tcp
inet:fqdn=bazaar.abuse.ch
.created = 2024/12/17 19:38:17.488
:domain = abuse.ch
:host = bazaar
:issuffix = false
:iszone = false
:zone = abuse.ch
inet:server=tcp://74.201.28.166:6606
.created = 2024/12/17 19:38:17.666
:ipv4 = 74.201.28.166
:port = 6606
:proto = tcp
inet:fqdn=urlhaus.abuse.ch
.created = 2024/12/17 19:38:17.454
:domain = abuse.ch
:host = urlhaus
:issuffix = false
:iszone = false
:zone = abuse.ch
Pulling Tweets en masse
Synapse-Twitter supports adding accounts to a monitoring list to automatically fetch the latest tweets for each account in the list.
To add an existing account node to the list of accounts being monitored:
> inet:web:acct=(twitter.com, invisig0th) | twitter.feed.adduser
inet:web:acct=twitter.com/invisig0th
.created = 2024/12/17 19:38:12.647
:name = visi
:signup = 2009/04/12 21:22:36.000
:site = twitter.com
:tagline = Founder @vtxproject
Father of the #APT1 Report @mandiant / @fireeye
Inventor of synapse, vivisect, UNCs, imphash, ...
DEFCON CTF Champion, Founder of Kenshoto
:user = invisig0th
:webpage = http://vertex.link/
To fetch a new account and add it to the list:
> twitter.feed.adduser --user vpEpiphyte
inet:web:acct=twitter.com/vpepiphyte
.created = 2024/12/17 19:38:12.918
:name = epiphyte
:signup = 2017/08/19 14:04:50.000
:site = twitter.com
:tagline = I pick up rocks and look underneath them
:user = vpepiphyte
To list the current accounts being monitored:
> twitter.feed.list
User: invisig0th Last tweet id: 1
User: vpepiphyte Last tweet id: 1
To remove a user from the list of accounts being monitored:
> twitter.feed.deluser --user invisig0th
Removed feed user twitter.com/invisig0th with offset 1
inet:web:acct=twitter.com/invisig0th
.created = 2024/12/17 19:38:12.647
:name = visi
:signup = 2009/04/12 21:22:36.000
:site = twitter.com
:tagline = Founder @vtxproject
Father of the #APT1 Report @mandiant / @fireeye
Inventor of synapse, vivisect, UNCs, imphash, ...
DEFCON CTF Champion, Founder of Kenshoto
:user = invisig0th
:webpage = http://vertex.link/
To pull down tweets for a single account being watched:
> [inet:web:acct=(twitter.com, vtx_savage)] | twitter.feed.adduser
inet:web:acct=twitter.com/vtx_savage
.created = 2024/12/17 19:38:13.480
:name = vtx_savage
:signup = 2021/05/24 19:59:21.000
:site = twitter.com
:tagline = analyst @vtxproject
tweets are my own
:user = vtx_savage
> twitter.feed.pull --user vtx_savage --size 3 --yield
inet:web:post=577e4822c148ac6d572f8a7cd417c841
.created = 2024/12/17 19:38:16.210
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags =
:mentions:users = twitter.com/boburnham,twitter.com/ericalikestech,twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @ericalikestech @boburnham @vtxproject pic.twitter.com/6zkxlRnHgs
:time = 2021/08/20 14:23:14.000
:url = https://twitter.com/vtx_savage/status/1428724310399766539
inet:web:post=2d8a6d59948ebc8dec53d922c33a0218
.created = 2024/12/17 19:38:16.443
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags =
:mentions:users = twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @vtxproject pic.twitter.com/clpr2Dg8My
:time = 2021/08/17 14:54:24.000
:url = https://twitter.com/vtx_savage/status/1427644989731921928
inet:web:post=e19a70269ad941c43ab167e7fc757377
.created = 2024/12/17 19:38:16.635
:acct = twitter.com/vtx_savage
:acct:site = twitter.com
:acct:user = vtx_savage
:hashtags = #vtxinthewild,#vtxitw
:mentions:users = twitter.com/vtxproject,twitter.com/whoisjonhlu
:text = @whoisjonhlu @vtxproject #vtxinthewild or #vtxitw ?
:time = 2021/08/17 14:41:11.000
:url = https://twitter.com/vtx_savage/status/1427641665347592201
Much like the other commands to fetch tweets, as these tweets are being pulled down, the text of each tweet is scrapped for any additional nodes using the logic from $lib.scrape
.
To pull down tweets for all the accounts being monitored, but skipping scrapping for each of the tweets:
> twitter.feed.adduser --user invisig0th
inet:web:acct=twitter.com/invisig0th
.created = 2024/12/17 19:38:12.647
:name = visi
:signup = 2009/04/12 21:22:36.000
:site = twitter.com
:tagline = Founder @vtxproject
Father of the #APT1 Report @mandiant / @fireeye
Inventor of synapse, vivisect, UNCs, imphash, ...
DEFCON CTF Champion, Founder of Kenshoto
:user = invisig0th
:webpage = http://vertex.link/
> twitter.feed.pull --size 10 --yield --all --skip-scrape
WARNING: User has been suspended: [absoIute_units].
inet:web:post=1ba03d1448b5928a96d386ce5456806f
.created = 2024/12/17 19:38:19.841
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/vtxproject
:text = RT @vtxproject: Synapse Power-Ups allow analysts to extend the system’s functionality, enrich their analysis, integrate additional data, &…
:time = 2021/08/25 20:19:44.000
:url = https://twitter.com/invisig0th/status/1430625964048805888
inet:web:post=9113aa57c1484f0f06e7527d101f7508
.created = 2024/12/17 19:38:19.942
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/ccsdevio
:text = RT @ccsdevio: IT👏IS👏NOT👏A👏"personal decision" twitter.com/Chrissy__Dee/s…
:time = 2021/08/24 22:53:27.000
:url = https://twitter.com/invisig0th/status/1430302259360014340
inet:web:post=e704961836228f5b07e5b58b656a1538
.created = 2024/12/17 19:38:20.079
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/_devonkerr_,twitter.com/invisig0th
:text = RT @_devonkerr_: @invisig0th Never doubt it, also please be polish vodka
:time = 2021/08/24 22:24:12.000
:url = https://twitter.com/invisig0th/status/1430294899757289476
inet:web:post=fb6118d88d2cef29d0fc18dd12d3f4cd
.created = 2024/12/17 19:38:20.201
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/invisig0th,twitter.com/jamierbutler
:text = RT @jamierbutler: @invisig0th Yes
:time = 2021/08/24 21:57:12.000
:url = https://twitter.com/invisig0th/status/1430288103604883464
inet:web:post=90485888ec7702cea69395914ce5c7bf
.created = 2024/12/17 19:38:20.325
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/adriendb,twitter.com/femmeshoto
:text = @adriendb A man after @femmeshoto 's heart
:time = 2021/08/24 21:56:54.000
:url = https://twitter.com/invisig0th/status/1430288031437701121
inet:web:post=3ae3aa97843984bb519e49b380c43f65
.created = 2024/12/17 19:38:20.450
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/casperinous,twitter.com/invisig0th
:text = RT @Casperinous: @invisig0th Working undercover to increase your water consumption :P
:time = 2021/08/24 21:55:00.000
:url = https://twitter.com/invisig0th/status/1430287550766276615
inet:web:post=c57105285cef7750fb83a66f2e3077f2
.created = 2024/12/17 19:38:20.573
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:text = Vodka and caviar. Dinner of champions... ?
:time = 2021/08/24 21:53:03.000
:url = https://twitter.com/invisig0th/status/1430287062331166725
inet:web:post=b80dbc1da2f6e59ef6920220181a1911
.created = 2024/12/17 19:38:20.650
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/b1ack0ut,twitter.com/invisig0th
:text = RT @b1ack0ut: I think I just discovered how @invisig0th really got his handle. pic.twitter.com/8KTwH6KZZY
:time = 2021/08/24 14:54:20.000
:url = https://twitter.com/invisig0th/status/1430181688206925828
inet:web:post=98af8fb8816e25d760e36a7db61b67cc
.created = 2024/12/17 19:38:20.810
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags =
:mentions:users = twitter.com/bloodberry_tart
:text = RT @bloodberry_tart: brutal lol pic.twitter.com/YPLMQriFRh
:time = 2021/08/23 14:43:28.000
:url = https://twitter.com/invisig0th/status/1429816565399232523
inet:web:post=533c36b99615c6cff7ff695ee835ab27
.created = 2024/12/17 19:38:20.948
:acct = twitter.com/invisig0th
:acct:site = twitter.com
:acct:user = invisig0th
:hashtags = #lawtwitter
:mentions:users = twitter.com/nunesalt
:text = RT @NunesAlt: #LawTwitter, help me out. Is this illegal? twitter.com/ronfilipkowski…
:time = 2021/08/23 11:36:56.000
:url = https://twitter.com/invisig0th/status/1429769621859704839
Searching for Tweets
To ingest the tweets related to a search query:
> twitter.search.tweets vertexproject --yield --size 3
inet:web:post=90299ae1714dcb9241c1184dd4a696a9
.created = 2024/12/17 19:38:21.293
:acct = twitter.com/vtxproject
:acct:site = twitter.com
:acct:user = vtxproject
:hashtags =
:mentions:users = twitter.com/vtx_savage,twitter.com/vtxproject
:text = RT @vtxproject: Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! https://t.co/…
:time = 2021/10/26 00:50:00.000
:url = https://twitter.com/vtxproject/status/1452799641725116417
inet:web:post=f538a2dc2a75bed0372fdb967d7cad00
.created = 2024/12/17 19:38:21.610
:acct = twitter.com/cybersec_feeds
:acct:site = twitter.com
:acct:user = cybersec_feeds
:hashtags =
:mentions:users = twitter.com/vtx_savage,twitter.com/vtxproject
:text = RT @vtxproject: Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! https://t.co/…
:time = 2021/10/25 14:12:56.000
:url = https://twitter.com/cybersec_feeds/status/1452639318573522956
inet:web:post=bed07d7b1aadffc7185daba595c2afbd
.created = 2024/12/17 19:38:21.830
:acct = twitter.com/vtxproject
:acct:site = twitter.com
:acct:user = vtxproject
:hashtags = #cybersecurity,#infosec,#threatintel
:mentions:users = twitter.com/vtx_savage
:text = Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! v.vtx.lk/luma #infosec #CyberSecurity #threatintel
:time = 2021/10/25 12:24:19.000
:url = https://twitter.com/vtxproject/status/1452611983925207050
These tweets will be linked to an it:exec:query
node via a -(found)>
light edges:
> it:exec:query:text="vertexproject" -(found)> * | limit 5
inet:web:post=90299ae1714dcb9241c1184dd4a696a9
.created = 2024/12/17 19:38:21.293
:acct = twitter.com/vtxproject
:acct:site = twitter.com
:acct:user = vtxproject
:hashtags =
:mentions:users = twitter.com/vtx_savage,twitter.com/vtxproject
:text = RT @vtxproject: Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! https://t.co/…
:time = 2021/10/26 00:50:00.000
:url = https://twitter.com/vtxproject/status/1452799641725116417
inet:web:post=bed07d7b1aadffc7185daba595c2afbd
.created = 2024/12/17 19:38:21.830
:acct = twitter.com/vtxproject
:acct:site = twitter.com
:acct:user = vtxproject
:hashtags = #cybersecurity,#infosec,#threatintel
:mentions:users = twitter.com/vtx_savage
:text = Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! v.vtx.lk/luma #infosec #CyberSecurity #threatintel
:time = 2021/10/25 12:24:19.000
:url = https://twitter.com/vtxproject/status/1452611983925207050
inet:web:post=f538a2dc2a75bed0372fdb967d7cad00
.created = 2024/12/17 19:38:21.610
:acct = twitter.com/cybersec_feeds
:acct:site = twitter.com
:acct:user = cybersec_feeds
:hashtags =
:mentions:users = twitter.com/vtx_savage,twitter.com/vtxproject
:text = RT @vtxproject: Join us later this week for our next What’s New webinar presented by @vtx_savage & featuring Story Templates! https://t.co/…
:time = 2021/10/25 14:12:56.000
:url = https://twitter.com/cybersec_feeds/status/1452639318573522956
To search for tweets based on a specific hashtag:
> twitter.search.tweets "#cyberattack" --yield --size 3
inet:web:post=ab501449364967e79cb320b24d9b4238
.created = 2024/12/17 19:38:22.347
:acct = twitter.com/cyberiqs_
:acct:site = twitter.com
:acct:user = cyberiqs_
:hashtags = #cisa,#cloudsecurity,#cyber,#cyberattack,#cybernews,#cybersecurity,#hacking,#infosec,#infosecurity,#malware,#ransomware,#threathunting,#threatintel,#threatintelligence,#uber,#uberbreach,#uberhack,#uberhacked,#zerotrust
:text = White House Seeks Advice on Cyber #infosec #infosecurity #cybersecurity #threatintel #threatintelligence #hacking #cybernews #cyberattack #cloudsecurity #malware #ransomware #cyber #threathunting #ZeroTrust #CISA #uber #uberhack #uberbreach #uberhacked
cyberiqs.com/latestnews
:time = 2022/10/05 15:27:45.000
:url = https://twitter.com/cyberiqs_/status/1577681957328134144
inet:web:post=d97ff1a298800fe30e56d2fe22d336a7
.created = 2024/12/17 19:38:22.536
:acct = twitter.com/cyberiqs_
:acct:site = twitter.com
:acct:user = cyberiqs_
:hashtags = #cisa,#cloudsecurity,#cyber,#cyberattack,#cybernews,#cybersecurity,#hacking,#infosec,#infosecurity,#malware,#ransomware,#threathunting,#threatintel,#threatintelligence,#uber,#uberbreach,#uberhack,#uberhacked,#zerotrust
:text = Migrant Digital Justice Toolkit #infosec #infosecurity #cybersecurity #threatintel #threatintelligence #hacking #cybernews #cyberattack #cloudsecurity #malware #ransomware #cyber #threathunting #ZeroTrust #CISA #uber #uberhack #uberbreach #uberhacked
cyberiqs.com/latestnews
:time = 2022/10/05 15:27:44.000
:url = https://twitter.com/cyberiqs_/status/1577681955914661891
inet:web:post=6bc3d12b3bdc5b8df4cc178439e7f289
.created = 2024/12/17 19:38:22.726
:acct = twitter.com/cyberiqs_
:acct:site = twitter.com
:acct:user = cyberiqs_
:hashtags = #cisa,#cloudsecurity,#cyber,#cyberattack,#cybernews,#cybersecurity,#hacking,#infosec,#infosecurity,#malware,#ransomware,#threathunting,#threatintel,#threatintelligence,#uber,#uberbreach,#uberhack,#uberhacked,#zerotrust
:text = How the Online Safety Bill puts a #infosec #infosecurity #cybersecurity #threatintel #threatintelligence #hacking #cybernews #cyberattack #cloudsecurity #malware #ransomware #cyber #threathunting #ZeroTrust #CISA #uber #uberhack #uberbreach #uberhacked
cyberiqs.com/latestnews
:time = 2022/10/05 15:27:35.000
:url = https://twitter.com/cyberiqs_/status/1577681914735067137
For more information on how to build a query for the Twitter v2 API, please see the Twitter search documentation.
Automating Feed Pulling
To pull the tweets for feed users on a regular basis, a cron job can be created to automate the process:
> cron.add --daily 12:00 { twitter.feed.pull }
Created cron job: e025de5157e0aa03de005e1f591859bf
Which will pull in all the latest tweets for every user enrolled in the Synapse-Twitter feed on a daily basis at 12:00 UTC.
Searching for Users
Synapse-Twitter supports searching for users, but because the search functionality has not been ported over to the v2 version of the Twitter API, search functionality requires extra API keys in order for Synapse-Twitter to interact with the v1.1 version of the Twitter API.
To use the Twitter search functionality, you need four keys, a consumer key, the associated consumer secret, an access token, and the associated access token secret.
To set the four OAuth keys needed for search functionality:
> twitter.setup.oauth MyConsumerKey MyConsumerSecret MyAccessToken MyAccessTokenSecret
Setting Synapse-Twitter OAuth keys for all users.
To use the search functionality to search for users based on a query:
> twitter.search.users "invisi" --yield --size 3
inet:web:acct=twitter.com/invisibooks
.created = 2024/12/17 19:38:23.184
:avatar = sha256:2e03c03e079c63ed36f938d6af615784293ac6faf2dff9818a1217b0972748bc
:loc = picton/halifax
:name = invisibooks
:site = twitter.com
:tagline = making books like you don't even know #invisibooks IG: https://t.co/p43ZOtRcJf
:user = invisibooks
:webpage = https://t.co/VKvyftlG3t
inet:web:acct=twitter.com/invisicollege
.created = 2024/12/17 19:38:23.454
:avatar = sha256:6449e259c9b0019fe98077a9b185b2cb54aee5d9d5076145509b3cf097719a53
:loc = unknown kadath, athens ga
:name = bonnicula
:site = twitter.com
:tagline = Bonnie Sentinel ⚧ Witchcraft, Art, Podcasting, Permaculture. She/her https://t.co/UBlt4fmkrs Ѫ
Disinfo (RIP)
Out There Radio
Owner/Operator @awesomepossumc1
:user = invisicollege
inet:web:acct=twitter.com/eu_lover
.created = 2024/12/17 19:38:23.727
:avatar = sha256:e2050d9696b8ef8eba429f63c4ed0c122b12222069573d2d952da6bd0c927625
:loc = somewhere you won’t see me
:name = ⚫️ visibly angry invisi-jojo 🐝 🇪🇺 3.5%
:site = twitter.com
:tagline = EU citizen #FBPE 🇪🇺, legal eagle, rejoiner, politically homeless hardline centrist. Manc Francophile. Invisible. She/her
:user = eu_lover
All users returned from that query will be linked together via an it:exec:query
node using -(found)>
light edges:
> it:exec:query:text="invisi" -(found)> * | limit 5
inet:web:acct=twitter.com/invisibooks
.created = 2024/12/17 19:38:23.184
:avatar = sha256:2e03c03e079c63ed36f938d6af615784293ac6faf2dff9818a1217b0972748bc
:loc = picton/halifax
:name = invisibooks
:site = twitter.com
:tagline = making books like you don't even know #invisibooks IG: https://t.co/p43ZOtRcJf
:user = invisibooks
:webpage = https://t.co/VKvyftlG3t
inet:web:acct=twitter.com/invisicollege
.created = 2024/12/17 19:38:23.454
:avatar = sha256:6449e259c9b0019fe98077a9b185b2cb54aee5d9d5076145509b3cf097719a53
:loc = unknown kadath, athens ga
:name = bonnicula
:site = twitter.com
:tagline = Bonnie Sentinel ⚧ Witchcraft, Art, Podcasting, Permaculture. She/her https://t.co/UBlt4fmkrs Ѫ
Disinfo (RIP)
Out There Radio
Owner/Operator @awesomepossumc1
:user = invisicollege
inet:web:acct=twitter.com/eu_lover
.created = 2024/12/17 19:38:23.727
:avatar = sha256:e2050d9696b8ef8eba429f63c4ed0c122b12222069573d2d952da6bd0c927625
:loc = somewhere you won’t see me
:name = ⚫️ visibly angry invisi-jojo 🐝 🇪🇺 3.5%
:site = twitter.com
:tagline = EU citizen #FBPE 🇪🇺, legal eagle, rejoiner, politically homeless hardline centrist. Manc Francophile. Invisible. She/her
:user = eu_lover
Use of meta:source
nodes
Synapse-Twitter uses a meta:source
node and -(seen)>
light
weight edges to track nodes observed from the Twitter API.
> meta:source=8359f150c6f163bc9a41662e665350af
meta:source=8359f150c6f163bc9a41662e665350af
.created = 2024/12/17 19:38:12.782
:name = twitter api
Storm can be used to filter nodes to include/exclude nodes which have been observed by Synapse-Twitter. The following example shows how to filter the results of a query to include only results observed by Synapse-Twitter:
> #cool.tag.lift +{ <(seen)- meta:source=8359f150c6f163bc9a41662e665350af }