Skip to content

Repository files navigation

Taranis AI

Logo

Taranis AI is an advanced Open-Source Intelligence (OSINT) tool, leveraging Artificial Intelligence to revolutionize information gathering and situational analysis.

Taranis navigates through diverse data sources like websites to collect unstructured news articles, utilizing Natural Language Processing and Artificial Intelligence to enhance content quality. Analysts then refine these AI-augmented articles into structured reports that serve as the foundation for deliverables such as PDF files, which are ultimately published.

Screenshot

Getting Started

For production deployments, see our Deployment Guide using docker compose

For existing Celery/RabbitMQ deployments, see the RQ Migration Guide.

Contributions

We welcome contributions from the community! If you're interested in contributing to Taranis AI, please read our Development Setup Guide to get started.

Documentation

See taranis.ai/media for a presentations about the current features.

See taranis.ai for documentation of user stories and deployment guides.

For IntelOwl enrichment setup, see docs/intelowl.md.

For Mastodon collection setup, including access-token HTTPS requirements and complete-versus-latest cursor modes, see docs/mastodon.md.

For maintainer release steps, see docs/releasing.md.

For container and Python dependency SBOM scope and attestations, see docs/sbom.md.

Services

Type Name Description
Entrypoint ingress Nginx entrypoint configured as reverse proxy
Frontend frontend Flask, HTMX & tailwindcss based REST frontend
Backend core Backend for communication with the Database and offering REST Endpoints to workers and frontend
Worker worker RQ workers offering collectors, bots, presenters and publisher features

Support services

Type Name Description
Database database Supported are PostgreSQL and SQLite with PostgreSQL as our primary citizen
Message-broker redis Message broker and job queue for RQ workers
Realtime centrifugo Centrifugo

Features

  • Advanced OSINT Capabilities: Taranis AI scours multiple data sources, such as websites, for unstructured news articles, providing a comprehensive intelligence feed.
  • AI-Enhanced Analysis: Utilizes Artificial Intelligence and Natural Language Processing to automatically enhance and enrich collected articles for higher content quality.
  • Analyst-Friendly Workflow: Offers a streamlined process where analysts can easily convert unstructured news into structured report items, optimizing the data transformation journey.
  • Optional Analyst Chat: Provides persistent, per-user conversations that can answer general questions or search the stories the analyst is authorized to see through a separately configured OpenAI-compatible Responses API.
  • Multi-Format Output: Generates a variety of end products, including structured reports and PDF files, tailored to specific informational needs.
  • Seamless Publishing: Facilitates the effortless publication of finalized intelligence products, ensuring timely dissemination of critical information.
  • Collaborative Threat Intelligence (Experimental): Supports Story-level sharing between Taranis AI instances via MISP, or directly between Taranis AI and MISP for flexible collaboration and information dissemination.

OpenAPI

An OpenAPI spec for the REST API is included and can be accessed in a running installation under config/openapi.

Core Health Endpoints

Core exposes two unauthenticated health-related endpoints:

  • /api/isalive is a lightweight liveness probe and only confirms that the core API process is responding.
  • /api/health is the operational health endpoint and reports the status of core dependencies with up, down, or n/a and returns 503 if any dependency is down and 200 otherwise.

Hardware requirements

To use all NLP features make sure to have at least: 16 GB RAM, 4 CPU cores and 50GB of disk storage.

Without NLP: 2 GB of RAM, 2 CPU cores and 20 GB of disk storage

Directory structure

  • src/ - Taranis AI source code:
    • core is the REST API, the central component of Taranis AI
    • ingress Nginx reverse proxy configuration
    • frontend flask & htmx part of the web user interface
    • models pydantic models for validating inputs and outputs
    • worker retrieves OSINT information from sources such as websites, RSS/Atom feeds, Mastodon, MISP, and Request Tracker and creates news items.
  • docker/ - Support files for Docker image creation and example docker-compose file

About

This project was inspired by Taranis3, as well as by Taranis-NG. It is released under terms of the European Union Public Licence.

EU Funding

Co-financed by the Connecting Europe Facility of the European Union

About

Taranis AI is an advanced Open-Source Intelligence (OSINT) tool, leveraging Artificial Intelligence to revolutionize information gathering and situational analysis.

Topics

Resources

Contributing

Security policy

Stars

1.2k stars

Watchers

18 watching

Forks

Releases

Packages

Used by

Contributors

Languages