Package auto_osint_v

A tool for validating OSINT.

auto-osint-v

An automated tool for Validating OSINT. This forms part of the final step of OSINT production as detailed by NATO's open source handbook (2001). This is a research artefact for my Dissertation at the University of Portsmouth

See the results of the different Entity Recognition language models here. Note how the spaCy standard 'en_core_web_sm' NER model struggles to recognise military information compared to the model used for this project using the Defence Science and Technology Laboratory 're3d' dataset.

📁 Installation

Note First, please attempt to use the Google Colab, more info below.

Linux / Windows

  • Clone this GitHub repository git clone https://github.com/UP2040499/auto-osint-v.git
  • Install conda (mamba also works)
  • Conda installation guide
  • Check conda is installed by checking the version: conda --version
  • Move into the repo bash cd ~/<install directory>/auto-osint-v
  • Create a conda OR mamba environment and install dependencies:
  • Install dependencies with conda: bash conda env create -f environment.yml -n auto-osint-v-python38
  • Install dependencies using mamba bash mamba env create -f environment.yml
  • Activate conda environment and run the tool. ### Linux (bash) bash eval "$(conda shell.bash hook)" #copy conda command to shell conda activate auto-osint-v-python38 python -m auto_osint_v ### Windows > :warning: Open an 'Anaconda Powershell Prompt' from Start Menu, then run the following: powershell conda init powershell conda activate auto-osint-v-python38 python -m auto_osint_v

🚀 Usage

🎓 Google Colab

I strongly recommend using Google Colab to run this tool. However, the default machine in the Google Colab performs worse than most local machines would (this is likely to do with CPU limits in place).

The Google Colab can be found here

The reason it is recommended to use Google Colab, is because it runs the tool remotely. While performance on a local machine may be better, it is likely that the majority of the machine's available resources (CPU, RAM) will be utilised by the tool.

Use Google Colab to avoid hogging your computer's resources.


💻 Command line instructions:

python -m auto_osint_v <ARGS>

🚧 Arguments 🚧

The following descriptions can also be found by running auto_osint_v -h.

  • -s/--Silent Assumes you have already entered the intelligence statement here
  • -n/--NoEditor Input intelligence statement into command line rather than into text editor.
  • --html Output will be in HTML (default: csv).
  • -m/--markdown Output will be in markdown (default: csv).
  • -f/--FileToUse Specify the file to read the intelligence statement from
  • -p/--output_postfix Specify the output file's postfix, e.g. 'output3.txt' rather than default 'output.txt'

Example usage:

Typical use / First time use

python -m auto_osint_v

Use with options

This reads the statement from the existing intelligence file, and output the results in a markdown file called 'output0.md'.

python -m auto_osint_v -s -m -p 0

The postfix (0 in this case) is useful if you are running the tool multiple times and want to save the results separately.

Expand source code
"""A tool for validating OSINT.
.. include:: ../README.md
"""

Sub-modules

auto_osint_v.config

Enter your Google API key and Custom Search Engine ID

auto_osint_v.file_handler

This module handles all our data files. CSV or TXT.

auto_osint_v.popular_information_finder

Finds entities (information) that is popular amongst the potentially corroborating sources.

auto_osint_v.priority_manager

This module assigns scores to each source, prioritising the most relevant sources.

auto_osint_v.sentiment_analyser

This module's primary role is to analyse the semantics of the intelligence statement …

auto_osint_v.source_aggregator

Python Class for all functions of aggregating sources from open sources …

auto_osint_v.specific_entity_processor

This module will identify specific entities …