Using AI to Develop Realistic Sock Puppet Accounts

6 min readApr 4, 2023

There has been a lot of buzz over new and innovative ways to implement AI, such as Chat GPT, into our everyday OSINT Analysis. Notably, Matt Edmondson from SANS recently did a webinar called “The New OSINT Cheat Code: Chat GPT” and Benjamin Strick (@BenDoBrown) has been posting tips for investigations using Chat GPT on his Twitter page. In this blog, I want to focus not on specific analysis techniques but rather on the accounts we use to do the investigating and how we can use AI to create and maintain a realistic presence online.

What are sock accounts?
Sock accounts, sock puppet accounts, or research accounts are fictitious personas that we use online to safely research and observe on social media.

Why would we need to use AI to create a sock account?
There are two main reasons we would want to use AI to help create sock accounts.

  1. Social media platforms are consistently evolving and developing ways to identify fictitious accounts by evaluating the imagery used and the information provided by the user in the profile.
  2. We want to create accounts that look as real as possible and often that requires a back story, details about their life, and images of the individual in various poses.

What are the problems with current sock account creation tactics?
Presently, there are methods that many of us analysts use for creating sock accounts. It involves creating a persona using the information you come up with yourself or that you pull from a website that generates fake information. For the profile image on the account we have a few options: Use a random object or a graphic, use a stock photo, or use a random face generator. However, there are problems associated with all of these methods. Using a random object can bypass the algorithms that search for fake personas but it does not add to the realism of the account for anyone who is looking into it. Using stock photos can be an ethically grey area because if we are analyzing dangerous individuals or groups should we be giving them a real person to target? Additionally, these images can usually be reverse image searched back to the stock model revealing that it is a fake. And finally, using a face generator is growing more difficult as the algorithms can now recognize the patterns in eye placement and determine if it is fake. This often requires additional manipulation such as flipping an image, zooming in, changing colors, etc.

In comes new and improved AI capabilities

We now have access to tools such as Chat GPT (and BARD), an artificial-intelligence chatbot developed by OpenAI that can respond to complex asks as well as AI image generators like Midjourney, Adobe Firefly, and DALL-E that can output hyper-realistic imagery, blend images together, and even develop images from a starting image. These capabilities not only reduce the amount of time it takes to create realistic, long-lasting online personas but it can assist with creating postable content to the accounts using feeder imagery. Let’s take a look at an example of how we can develop a persona using these tools.

Developing Usable Queries in Chat GPT
To get the background details for our persona we can craft queries in Chat GPT about “character development”. Below I have asked it to “Develop a list of character details about a 32-year-old woman who works at MIT.”

We can also use Chat GPT to develop possible first and last names for our persona which we can query by using descriptors like location and ethnicity to return options.

Developing Usable Queries in Midjourney
Using the information we sourced from the Chat GPT queries above, let’s now develop some imagery using Midjourney. Midjourney runs in Discord and does offer a trial version (currently unavailable) with several hours of free rendering but if you decide to pay for it the cost is still manageable. At the present time, the lowest tier is $10/mo up to 200 gens a month, then $30/mo for 15hrs of gens, and $60/mo for 30hrs. It is important to note here that if you use the beta your generated images do appear in the public Midjourney Discord but they are usually quickly drowned out by new public generations and after a while, Midjourney deletes them from the Discord.

To generate an image of the MIT employee we are calling “Grace Liu” I used the following query: portrait of an Asian-American woman in her 30s, casual clothing, athletic build, natural lighting, standing outdoors hugging a friend, smiling, full body shot. As you can see below it does a fairly good job of generating these images with the addition of some bizarre anomalies like extra fingers which can sometimes be cropped out. Although Midjourney and Dall-E are getting better with hand details in each iteration, it still takes a lot of finesse to get them just right. Some options for hands include being very specific about what the hands are doing, mentioning fingers in the prompt, and adding a prompt for “precise details”. Sometimes regenerating the prompt or upscaling the image can help fix imperfections. As for social media platforms that require physical verification such as “take a photo of yourself making a peace sign,” this may still be a few versions off but we are getting close.

Another option for generating images is to use a seed image which can be a real photo of a person, a stock image, or even another AI-generated image. This can be valuable if you know exactly what you want your person to look like but you need them in a specific pose or doing a specific action. The first image below is from a stock photography site. I fed this image into Midjourney with the various prompts below to see the subject from different angles:

1. Seed image link, wide shot, full body, woman, black and red athletic clothing, natural light, brown hair, 16mm lens, playing basketball with a 30 year old man with full body on an outdoor basketball court , chaos 0

2. Seed image link, wide shot, woman, athletic clothing, natural light, brown hair, 16mm lens, profile view of face, chaos 0, — no hands

3. Seed image link, photorealistic medium shot, woman in red sweater, looking up, shot from overhead, night, natural light, chaos 0

Your prompts are directed by keywords plus:

  1. Style of imagery- think moderinism vs surrealism vs cyberpunk
  2. Resolution- how crisp your image looks
  3. using a seed image- feeding it a starter image (or several) to use as a guide or blend together
  4. Aspect ratio- this is the width and length of your image output
  5. Prompt weights- specifying which prompt part should be more important
  6. Filters- filter out things like hands
  7. chaos- 0–100 level of abstraction in your image

For more details on how to write prompts check out this link and here

Of course, using these methods to develop sock account profiles is not entirely foolproof. I would imagine that social media platforms are already working on ways to determine what imagery is AI vs reality. However, there is so much potential for analysts to integrate this type of process into their everyday work. I encourage you to play around with AI and see what you can develop. As for myself, I will continue to work within Midjourney and Chat GPT and find unique ways to take advantage of the power behind them and update you with any new findings!

Co-written by @zewensec (Espen Ringstad)

Originally published at on April 4, 2023.




@wondersmith_rae | OSINT Analyst | @OSINTCurious Advisory Board | @QuizTime | | | Speaker and @Wiley Author