mrkeyoor.com_
Tue 01 Sept 17:44 UTC
Dataevaluationupdated 29 Aug 2026

social-analyzer review

Social Analyzer is an OSINT tool that checks a username or name across more than 1,000 social sites and returns possible profile matches. It ships as a Node web app and CLI plus Python entry points, with optional browser automation, screenshots, OCR, metadata extraction, and search-engine lookups.

+27 / 3dstars / 7d
Verdict

Our Social Analyzer run installed 415 packages but failed its only npm test in 7 seconds, and the audit found 26 known vulnerabilities, so this should be an analyst-controlled research aid rather than a trusted service. Its broad site list, JSON output, and several interfaces are useful for leads. Keep it local, verify each match, and do not deploy the current dependency tree into a sensitive environment without remediation.

We ran it

Lab card: what happened when we ran social-analyzerScreenshot of social-analyzer (github.com/qeeqbox/social-analyzer)
Install✓ · 29s415 packages · 117 MB
Buildn/ano build script
Tests✗ · 7sran, no count parsed
Known vulns261 critical · 16 high · 6 moderate · 3 low (npm audit)
Repo63 files~3,755 lines of source · 15.6 MB · 1 CI workflows · Dockerfile · tests dir

Answers from our run

Does social-analyzer build from source?

Dependencies installed in 29 seconds (415 packages), and the project has no separate build step. We cloned commit 1ba0905 into a clean Debian container with 3 CPUs and no project-specific setup.

Do social-analyzer's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does social-analyzer have known vulnerabilities in its dependencies?

npm audit flagged 26 known advisories in the dependency tree, including 1 critical at the time of our run.

Who should not use social-analyzer?

Anyone who treats a matching username as proof of identity: the README describes a 0-to-100 detection rating, and issue 138 lists sites producing false positives.

What are the alternatives to social-analyzer?

Sherlock, Maigret, Holehe. Our Social Analyzer run installed 415 packages but failed its only npm test in 7 seconds, and the audit found 26 known vulnerabilities, so this should be an analyst-controlled research aid rather than a trusted service.

Setup2/5Install passed, but full use needs browser and OCR packages
Docs3/5Many examples, though platform and test guidance are weak
Community3/523,883 stars; issue activity continued after the last push
Maturity2/5No real npm tests and 26 known dependency vulnerabilities

Discussed on

  1. hnFind a person's profile across 350 social media sites413 points

Who it’s for

Investigators who need a broad first pass across many public profile sites and will verify every match manually.
Security teams that can run the tool locally, control the target scope, and document a lawful reason for each search.
Developers who want JSON output or a callable Python object for an existing OSINT workflow.
Analysts willing to maintain site detectors as social networks change their pages and blocking rules.

Who it’s NOT for

Anyone who treats a matching username as proof of identity: the README describes a 0-to-100 detection rating, and issue 138 lists sites producing false positives.
Teams that require a passing automated test gate: our npm test run executed a placeholder that printed Error: no test specified and exited 1.
Security-conscious deployments that cannot accept 26 known dependency vulnerabilities, including 1 critical and 16 high-severity findings in our audit.
Operators planning to expose the web app publicly: the README says it is meant for local use and has no access control.
Windows teams expecting the Node path to behave like Linux: issue 134 reports an unsupported n package on Windows and failures in the Node, Python, and Docker attempts described there.

Setup reality

Our npm install succeeded in 29 seconds, adding 415 packages and using 117 MB. There was no build script, so that step was skipped. Tests failed in 7 seconds because npm test only prints Error: no test specified and exits 1. Npm audit found 26 known vulnerabilities: 1 critical, 16 high, 6 moderate, and 3 low.

The basic Node route needs Node.js 20.18.1 or newer. Full features add Firefox ESR, Tesseract OCR, geckodriver, Selenium, and optional Google API access. The compose setup starts a Selenium hub and Firefox node beside the app.

The README says to run it locally because the web interface has no access control. Browser-driven checks depend on changing third-party pages, and open issues report false positives and installation failures that the placeholder test script cannot catch.

More than 1,000 site checks produce leads, not identities

Social Analyzer takes a username or name and checks it against a large database of social websites. It can use direct HTTPS requests, browser automation, OCR, metadata extraction, screenshots, and search queries. Results receive a detection rate from 0 to 100, described in the README as No, Maybe, or Yes. The rating tries to reduce false positives, but it remains a match signal. A repeated handle can belong to different people, and a positive result still needs corroboration.

Analysts can filter sites by country, category, or ranking, submit several profiles for correlation, set proxies and timeouts, and save JSON. Node and Python interfaces let the engine fit different cases. The project becomes more involved than a simple username checker once Selenium, Firefox, screenshots, and OCR enter the path.

The 29-second install ended with 26 dependency findings

Our sandbox cloned commit 1ba0905 into a fresh Debian container with 3 CPUs and 8 GB of RAM. Npm installed 415 packages in 29 seconds and occupied 117 MB. The repository had no build script or target, so the build step was skipped. Npm audit reported 26 known vulnerabilities: 1 critical, 16 high, 6 moderate, and 3 low. That audit result is the largest adoption warning in our run.

The checkout contained 63 files, roughly 3,755 lines of source, and 15.6 MB before installation. It had 1 CI workflow file, a Dockerfile, a compose file, and a tests directory. Those signals sound healthier than the executable test command. File presence does not compensate for a package script that intentionally fails without running assertions, and the dependency findings need triage against the code paths you intend to use.

What happened when we ran it

Our npm install completed in 29 seconds with 415 packages and 117 MB on disk. There was no build command, so nothing was compiled in that stage. The test step failed after 7 seconds with exit code 1. Its complete useful message was Error: no test specified, printed by the package's own placeholder test script. The log did not show a failed assertion or product defect because no actual test suite ran.

Npm audit counted 26 known vulnerabilities in the installed tree, split into 1 critical, 16 high, 6 moderate, and 3 low. The lab result does not name the packages or establish whether every advisory is reachable during a profile search. It does establish that the checked-out dependency set was not clean. Before handling investigative data, generate the detailed audit report, remove unused paths, update safely, and rerun behavior checks that this repository does not currently provide.

Full mode adds Firefox, Tesseract, and Selenium Grid

The Node package declares version 2.0.32 and requires Node.js 20.18.1 or newer. The Linux instructions also install Firefox ESR and Tesseract OCR. Screenshots require a current Chrome according to the feature list, while WebDriver checks use geckodriver and Selenium. Optional Google search needs API access. The basic install passing in 29 seconds describes dependency resolution, not a configured investigation workstation with every detection module exercised.

Docker Compose adds 3 services: the Social Analyzer app, a Selenium hub, and a Firefox node. The hub exposes port 4444, the app uses port 9005, and the Firefox node mounts shared memory. That setup supports grid-based checking, but it is more machinery than the single npm start command suggests. Pin image versions, restrict exposed ports, and decide where screenshots and logs may be stored before using real subjects.

The local-only warning should be treated as a boundary

The README explicitly says the project is meant to run locally and does not have access control. That rules out placing the web app directly on the public internet. An OSINT interface can reveal targets, query history, screenshots, and result files even if every underlying source is public. Put it on a controlled analyst machine or behind a tested private access layer, and retain only what the investigation permits.

Issue 138 lists 12 sites as false-positive examples, including Gravatar, Dailymotion, and Lichess. A detector that mistakes a generic or blocked response for a profile can attach the wrong account to a person. Social Analyzer's rating is useful for sorting, but a report should preserve the source URL, retrieval date, observed evidence, and an analyst's confirmation rather than presenting the score as identity proof.

Windows and current Node compatibility need proof

Issue 134 documents failed attempts on Windows Server 2025 through Node, Python, and Docker. The Node install rejected package n because it does not support Windows, and the Docker attempt later hit an ESM import problem involving Cheerio. Issue 171 reports another module import failure with Ixora on Node.js 18.19.1. These reports cover particular environments, yet they expose a gap between the README's broad platform claim and tested installation paths.

The repository was last pushed on January 12, 2026. GitHub showed 27 combined open issues and pull requests, with separate searches finding 17 issues and 10 pull requests. Issue discussion continued into July 2026, so the community surface is not silent even though code activity trails it. There is no GitHub release to pin. Record the commit, runtime, detector data, and dependency lock for repeatable case work.

Use it only with verification and a remediation pass

Social Analyzer has useful breadth for username research: many sites, several detection methods, machine-readable output, and local interfaces. The 7-second placeholder test failure leaves adopters without a basic regression signal, while 26 advisories raise the cost of putting it near sensitive case material.

Choose Social Analyzer when you need its browser, OCR, metadata, or web layers and can own the maintenance. Sherlock or Maigret is easier to justify for focused username enumeration. Holehe is closer when the starting identifier is an email address. Lawful scope and human confirmation matter more than the number of sites checked.

Alternatives

ProjectWhat it isPick it when
Sherlock gh↗A focused username checker covering many social networks from the command line.pick this instead when username enumeration is the whole job and you want a narrower tool without Social Analyzer's web and OCR layers.
Maigret gh↗A username search tool with reports, tags, and a large site database.pick this instead when site coverage and generated reports matter more than a Node web interface.
Holehe gh↗A CLI that checks whether an email is associated with supported services.pick this instead when the lawful investigation starts from an email address rather than a username.

What people are saying

  1. [github-trending] qeeqbox/social-analyzer

Sources

  1. Social Analyzer README
  2. Social Analyzer repository facts
  3. Social Analyzer package manifest
  4. Issue 138: false-positive sites
  5. Issue 134: Windows installation failures
  6. Issue 171: Ixora import failure

More data reviews

turso · TrackersListCollection · dash · getcontact-cli · awesome-zhuiju-free · iggy · the whole board →