I’ve been building PRISM - a self-hosted OSINT toolkit you run yourself instead of pasting investigation targets into someone else’s web service.

Give it a domain, IP, email, phone, or username and it runs 22+ modules in parallel into one dashboard: WHOIS, DNS, crt.sh subdomains, GeoIP, threat intel (Shodan/VirusTotal/AbuseIPDB/Censys), breach data, username search across 3000+ sites (Blackbird + Maigret), dark-web mirror checks, and more. Results come with an entity graph, a GeoIP map, an OPSEC exposure score (0–100), and HTML/PDF/CSV/Markdown exports.

Your targets never leave your PC, and 14 of the 22 modules work with zero API keys (missing keys degrade gracefully instead of erroring).

Stack: FastAPI + Next.js 14, runs with one docker compose up. MIT licensed.

Demo: https://getprism.su/ Github: https://github.com/NovaCode37/Prism-platform

Built it solo - feedback welcome, especially on which modules you’d want added.

  • ikidd@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    6 minutes ago

    Some mailchecks would be useful. DNS and the server responses.

    Edit: Oops, just found it, different section. Valid DKIM check would be handy. Also, I’m not sure what “Deliverable” is about, comes up as “No” for a domain I use for email with no issues.

  • eleijeep@piefed.social
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    33 minutes ago

    Did the LLM choose the name? There’s an obvious existing semantic link between PRISM and intel, so congrats on choosing an un-searchable name.

  • ArcaneSlime@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 hour ago

    So I have an interest in self hosting things in the future (nextcloud, chatmail), but for now I’m scared of opening my network to attacks, and also I don’t have a network right now I just hotspot from my phone when needed and torrent things at my friend’s house.

    That said how would I go about using this? I’m guessing something to do with docker or porteus (maybe? The other one that wasn’t vulnerable to that recent thing), then when I want to check out X website I just “spin up the docker container” (still not 100% what that means but I’ve heard the verbiage), hotspot the pc (for now), and run it through the program? Am I understanding that right?

    Sorry I’m so green, gotta start somewhere! I feel like a grandma calling an Xbox a “Nintendo” haha.

    • FauxLiving@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      21 minutes ago

      Yeah, this project is built as a docker container. The repo has instructions on starting the container. You should watch a few introductory videos on Docker so you understand the concepts and basic usage.

      Once it’s started, the machine that docker is running on will be serving a website that acts as the application. If you’re running docker on your desktop you can then open a web browser and go to http://localhost:8080/ and you will see something that looks like the demo link above.

      This doesn’t expose it to the Internet. If you’re running this on a home LAN with a router between you and the ISP’s modem (or the ISP’s modem is a router/AP) then only computers connected to your network will be able to access it. You would have to go to your router’s administration console and specifically forward a port for that service so that people on the Internet could get past your modem.

    • irmadlad@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      23 minutes ago

      Sorry I’m so green, gotta start somewhere!

      We all started at green. No shame.

      So, yes OP is using Docker. Once you install Docker on your server, you ‘spin up’ the docker container using the Docker compose file:

      https://github.com/NovaCode37/Prism-platform/blob/main/docker-compose.yml

      …and the associated .env file that houses all your environmental variables:

      https://github.com/NovaCode37/Prism-platform/blob/main/.env.example

    • trulysoulless@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 hours ago

      Hiya, love that you actually tested it. That’s exactly the kind of 30-second recon it’s built for. The “missing security headers” check catches a surprising number of sites.

      If there’s a module or source you’d want added, I’m genuinely taking requests that’s how the roadmap gets shaped. Thanks for trying it!

  • anotherandrew@lemmy.mixdown.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 hour ago

    This looks really cool. One minor bug: with the online demo, at least on mobile (chrome, iOS), the target text field never brings up the keyboard so it can’t be used.