/osintbuddy

Node graphs, OSINT data mining, and plugins. Connect unstructured and public data for transformative insights

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Contributors Forks Stargazers Issues Total Downloads Downloads


OSINT Buddy Logo

I have no data yet. It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.

Discord                                                                   osintbuddy.com                                                 osintbuddy-plugins

Introducing OSINTBuddy

Welcome to the OSINTBuddy project where you can connect, combine, and get insights from unstructured and public data as results that can be explored step-by-step. An easy-to-use plugin system allows any Python developer to quickly integrate new data sources.


osintbuddy-demo


Table of Contents
  1. What is OSINTBuddy
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact

Not much, yet.

But here's the concept:

An almost incomprehensible amount of data is created every day. And each year, figures are growing at an ever-increasing rate. These data sources can be divided up into six different categories of information flow:

  • Public government data
  • Media (newspapers, magazines, radio)
  • Internet (blogs, discussion groups, citizen media, etc)
  • Professional and academic publications (budgets, hearings, telephone directories, websites, etc)
  • Commercial data (commercial imagery, financial assessments, databases, etc)
  • Grey literature (technical reports, preprints, patents, business documents, etc)

Some of the main hindrances to practical OSINT is the volume of information it has to deal with (information explosion) and the issue of low quality data. With the majority of this data being unstructured, there's many challenges to analyzing it and producing actionable intelligence since most data analytics databases are designed for structured data.

We've decided to do something about it. The rapid developments in technologies such as AI and Big Data Analytics have opened new horizons for OSINT which weren't previously available. We want our information quick and to the point, that's why we're building an open-source OSINT tool that's free. Free to use, free to modify, free to do with as you wish, and built with plain old web technologies anyone can learn. But this isn't really the project. This is a free new community. A community for OSINT enthusiast around the world and we need your help to design it, to program it, and to build it. We want to hear your suggestions, your ideas, and we're going to build it right in front of your eyes. The notion of a “needle in a haystack” is taken to the extreme on the internet. Let's build a magnet.

OSINTBuddy demo video

Key Features

  • Simplified data fetching from multiple sources.
  • Visual representation of fetched data for easy understanding.
  • A powerful development platform that is open for contributions.
  • New plugin-based system for transforming data, check out the osintbuddy package. Documentation is coming soon.

Getting Started

To start using OSINTBuddy, follow these simple installation steps:

Installation

  1. Open your terminal
    • Note for Windows: I recommend using tabby configured with a git bash profile

    • Note for Windows: For this project to work you need unix line endings (context). Before cloning, run:

      git config --global core.autocrlf false

  2. Clone the repo and submodules
    git clone --recurse-submodules https://github.com/jerlendds/osintbuddy.git
    cd osintbuddy
  3. Install Docker
  4. Start the stack with Docker (if the cp command doesn't work on your OS, copy and rename the .env.example file to .env):
    cp .env.example .env
    docker compose up

Roadmap

See our trello board for a list of our upcoming features.

See the open issues for a list of requested features (and known issues).

Progress Notes

  • Website node

  • Google search node

  • Google cache search node

  • Google dorks

  • DNS node

  • URL node

  • IP node

  • CSE node

  • Username node

  • Added a plugin system

  • For this update you'll have to rebuild your docker containers. After that long wait you'll be rewarded with a newly released package: osintbuddy
    The osintbuddy package allows for transforming data through a @transform decorator, which is applied to methods in the Plugin class.

  • The transform decorator must have a label and, optionally, a tabler-icons icon name. You can manage node transformations and node creation easily through the API.

  • Basically these updates make it easier to create nodes and context menu options for a nodes transform options which are mapped to plugin methods.

  • More documentation is coming soon when I have the time. Here's a video on the new update in the meantime: Introducing OSINTBuddy: A plugin based Maltego alternative in beta.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/add-core-plugin)
  3. Commit your Changes (git commit -m 'feat: add core plugin to osintbuddy app')
  4. Push to the Branch (git push origin feature/add-core-plugin)
  5. Open a Pull Request

License

Copyright 2023 jerlendds

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.

Apache License 2.0

Note, the OSINTBuddy PyPi package is MIT licensed.

Contact

Open an issue if you need to get in touch with me or send an email to theosintbuddyproject@openinfolabs.com