Cyber Threat Intelligence & Digital Risk Protection — OSINT / Open Web Edition

Lyra est un outil de surveillance défensive open source permettant aux équipes sécurité de détecter les mentions publiques, fuites de credentials et expositions d'infrastructure concernant leur organisation sur le web ouvert et les sources OSINT.


⚠ Avertissement lĂ©gal

Cet outil est conçu exclusivement pour une utilisation défensive et légale :

  • ✅ Surveiller votre propre organisation
  • ✅ UtilisĂ© par des Ă©quipes SOC, RSSI, consultants CTI mandatĂ©s
  • ✅ Ne consulte que des sources publiques et des APIs lĂ©gitimes
  • ❌ Ne jamais utiliser sur des cibles tierces sans autorisation Ă©crite
  • ❌ Ne tĂ©lĂ©charge ni n'accĂšde Ă  des donnĂ©es volĂ©es

L'utilisation de cet outil sur des systÚmes ou organisations sans autorisation peut constituer une infraction pénale (article 323-1 et suivants du Code pénal français, Computer Fraud and Abuse Act aux USA, etc.).


✹ FonctionnalitĂ©s

  • Dashboard temps rĂ©el — suivi en direct de l'avancement de l'analyse
  • 10 sources OSINT analysĂ©es automatiquement
  • DĂ©duplication intelligente — fusion des rĂ©sultats identiques
  • Scoring de criticitĂ© automatique (CRITIQUE / ÉLEVÉ / MOYEN / FAIBLE)
  • Export JSON structurĂ© avec timeline des dĂ©couvertes
  • ZĂ©ro dĂ©pendance externe — uniquement la bibliothĂšque standard Python + requests
  • Rapport final avec recommandations priorisĂ©es

📡 Sources analysĂ©es

Source Type de données API requise
Have I Been Pwned Credentials dans des brĂšches connues Payante (~4$/mois)
DeHashed Credentials leakés Payante (~5$/mois)
VirusTotal Réputation domaines & URLs Gratuite (limitée)
URLScan.io Scans suspects de domaines Gratuite
Shodan Infrastructure exposée, ports ouverts Payante (49$/an)
GitHub Secrets & tokens dans du code public Sans clé (limitée)
Paste Sites Mentions sur Pastebin (via DuckDuckGo) Sans clé
Google Dorks OSINT Documents confidentiels indexés Sans clé
Ransomware.live Revendications ransomware publiques Sans clé (API publique)
crt.sh Sous-domaines via Certificate Transparency Sans clé

🚀 Installation

Prérequis

  • Python 3.8+
  • Aucune dĂ©pendance externe (stdlib uniquement)

Cloner le dépÎt

git clone https://github.com/votre-compte/lyra-cti.git
cd lyra-cti

(Optionnel) Environnement virtuel

python3 -m venv .venv
source .venv/bin/activate   # Linux/macOS
.venv\Scripts\activate      # Windows

⚙ Configuration

Copiez le fichier d'exemple et renseignez vos informations :

cp config.json config_monentreprise.json

Éditez config_monentreprise.json :

{
  "company": {
    "name": "Acme Corp",
    "domains": ["acme.com", "acme.fr"],
    "brands": ["Acme", "AcmePro"],
    "subsidiaries": ["Acme Digital", "Acme Labs"],
    "products": ["AcmeCloud", "AcmePay"],
    "emails": ["[email protected]", "[email protected]"],
    "keywords": ["ACMECORP", "acmecorporation"]
  },
  "api_keys": {
    "hibp": "VOTRE_CLE_HIBP",
    "virustotal": "VOTRE_CLE_VIRUSTOTAL",
    "shodan": "VOTRE_CLE_SHODAN",
    "urlscan": "VOTRE_CLE_URLSCAN",
    "dehashed": "VOTRE_CLE_DEHASHED",
    "dehashed_email": "[email protected]"
  },
  "options": {
    "timeout": 15,
    "max_results_per_source": 20,
    "output_dir": "./lyra_output"
  }
}

💡 Les clĂ©s API sont optionnelles. Lyra fonctionne sans elles pour les sources gratuites (GitHub, Paste Sites, Ransomware.live, crt.sh, Google Dorks).

Obtenir les clés API

Service Lien Tarif
Have I Been Pwned https://haveibeenpwned.com/API/Key ~4$/mois
VirusTotal https://www.virustotal.com (inscription gratuite) Gratuit
Shodan https://account.shodan.io/register 49$/an
URLScan.io https://urlscan.io (inscription gratuite) Gratuit
DeHashed https://dehashed.com 5$/mois

đŸ–„ïž Utilisation

Lancement basique

python3 lyra.py --config config_monentreprise.json

Avec export personnalisé

python3 lyra.py --config config_monentreprise.json --output ./rapports/rapport_acme.json

Aide

python3 lyra.py --help

📊 Exemple de sortie

╔══════════════════════════════════════════════════════════════════╗
║                    LYRA — CTI Monitor v1.0                      ║
║         Cyber Threat Intelligence & Digital Risk Protection      ║
╚══════════════════════════════════════════════════════════════════╝

  Cible     : Acme Corp
  Domaines  : acme.com, acme.fr
  Mots-clés : 12 termes indexés
  Début     : 2026-06-18 10:00:00 UTC

  [10:02:14] ▶ CREDENTIAL LEAK  (confiance: ÉlevĂ©)
    Source   : Have I Been Pwned
    Titre    : Domaine acme.com trouvé dans 3 breach(es) HIBP
    URL      : https://haveibeenpwned.com/DomainSearch/acme.com
    Résumé   : 3 brÚche(s) impliquant le domaine acme.com...

  [00:04:31]  Sources: 8/10  [████████████░░░░░░░░]  RĂ©sultats: 5  Risque: ÉLEVÉ

Rapport JSON exporté

{
  "metadata": {
    "tool": "Lyra CTI v1.0",
    "target": "Acme Corp",
    "global_risk": "ÉLEVÉ"
  },
  "summary": {
    "total_findings": 5,
    "sources_analyzed": 10,
    "by_criticality": {
      "CRITIQUE": 0, "ÉLEVÉ": 2, "MOYEN": 2, "FAIBLE": 1
    }
  },
  "findings": [ ... ],
  "timeline": [ ... ]
}

📁 Structure du projet

lyra-cti/
├── lyra.py           # Script principal
├── config.json       # Template de configuration
├── README.md         # Documentation
├── lyra_output/      # RĂ©pertoire de sortie (créé automatiquement)
│   └── lyra_report.json
└── lyra_debug.log    # Logs techniques

🔒 Bonnes pratiques de sĂ©curitĂ©

  • Ne commitez jamais votre config.json avec les clĂ©s API rĂ©elles
  • Ajoutez config_*.json Ă  votre .gitignore
  • Utilisez des variables d'environnement ou un coffre-fort de secrets en production
  • Exemple .gitignore recommandĂ© :
config_*.json
lyra_output/
lyra_debug.log
.env
*.key

đŸ—ș Roadmap

  • Support proxy SOCKS5 / Tor (optionnel)
  • IntĂ©gration Slack/Teams pour alertes temps rĂ©el
  • Export rapport PDF
  • Mode planifiĂ© (cron) avec diff des nouvelles dĂ©couvertes
  • Support Elasticsearch pour indexation des rĂ©sultats
  • Interface web lĂ©gĂšre (Flask)

đŸ€ Contribution

Les contributions sont les bienvenues dans le respect du cadre légal et éthique défini ci-dessus.

  1. Forkez le dépÎt
  2. Créez une branche (git checkout -b feature/nouvelle-source)
  3. Committez vos changements (git commit -m 'Ajout source XYZ')
  4. Poussez la branche (git push origin feature/nouvelle-source)
  5. Ouvrez une Pull Request

📄 Licence

MIT License — voir LICENSE


đŸ‘€ Auteur

Développé pour les équipes SOC / CTI / RSSI dans le cadre d'une surveillance défensive.


Lyra ne remplace pas une plateforme CTI professionnelle (Recorded Future, Sekoia.io, Mandiant, etc.) mais constitue un point de départ open source pour les équipes souhaitant automatiser leur veille OSINT.