En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.

Lecteur Markdown

Knowledge Base › BEAMREACTOR_RSS_FEEDER

BEAMREACTOR_RSS_FEEDER

RSS Feeder v2.0 - Upgrade Documentation #

Vue d'ensemble #

Mise à jour du rss_feeder.php de BeamReactor pour AEGIS IA avec intégration du Sanitizer JASSPR et système de cache MySQL pour l'intelligence des menaces.

Nouveautés v2.0 #

1. Intégration du Sanitizer JASSPR #

  • Validation de toutes les données entrantes (titres, URLs, descriptions)
  • Protection contre injection SQL et XSS
  • Nettoyage automatique des données avant stockage
  • Limite de taille configurable (4KB par défaut)

2. Cache MySQL (`rss_cache`) #

CREATE TABLE `rss_cache` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `source_id` INT NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `description` TEXT,
  `link` VARCHAR(512),
  `pub_date` DATETIME,
  `fetched_date` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `category` VARCHAR(100),
  `keywords` TEXT,
  INDEX(`pub_date`),
  INDEX(`source_id`),
  INDEX(`category`),
  FULLTEXT(`title`, `description`, `keywords`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

3. Extraction de mots-clés #

Détection automatique de mots-clés liés à la sécurité :

  • Vulnérabilités (CVE, exploit, zero-day)
  • Malware (ransomware, trojan, botnet)
  • Attaques (XSS, SQL injection, DDoS, phishing)
  • IA et machine learning
  • Patches et updates

4. Catégorisation automatique #

  • `vulnerability` - Vulnérabilités et CVE
  • `threat` - Menaces et attaques
  • `ai-news` - Actualités IA
  • `general` - Autres actualités

5. Corrélation future #

La structure permet de :

  • Relier des événements temporels
  • Analyser les patterns d'attaques
  • Générer des rapports chronologiques
  • Détecter les tendances émergentes

Installation #

Étape 1 : Copier le Sanitizer #

cp -r lib/sanitizer/ /path/to/beamreactor/lib/

Étape 2 : Remplacer rss_feeder.php #

# Backup de l'ancien
cp plugins/rss_feeder/rss_feeder.php plugins/rss_feeder/rss_feeder.php.bak

# Installer le nouveau
cp rss_feeder_enhanced.php plugins/rss_feeder/rss_feeder.php

Étape 3 : La table `rss_cache` se crée automatiquement #

Au premier chargement du plugin, la table sera créée si elle n'existe pas.

Compatibilité #

100% rétro-compatible

  • L'affichage existant est préservé
  • Les fonctionnalités actuelles fonctionnent à l'identique
  • Le cache s'ajoute de manière transparente
  • Pas de breaking changes

Utilisation #

Mode normal (inchangé) #

Le plugin fonctionne exactement comme avant. Les items sont affichés et en plus stockés en cache.

Accès au cache (nouvelles possibilités) #

// Récupérer tous les items en cache
$query = mysqli_query($db_ressource, "SELECT * FROM rss_cache ORDER BY pub_date DESC LIMIT 50");

// Chercher par mots-clés
$query = mysqli_query($db_ressource, 
  "SELECT * FROM rss_cache WHERE keywords LIKE '%CVE%' ORDER BY pub_date DESC");

// Chercher par catégorie
$query = mysqli_query($db_ressource, 
  "SELECT * FROM rss_cache WHERE category='vulnerability' ORDER BY pub_date DESC");

// Recherche full-text
$query = mysqli_query($db_ressource, 
  "SELECT * FROM rss_cache WHERE MATCH(title, description, keywords) 
   AGAINST('ransomware attack' IN BOOLEAN MODE)");

Prochaines étapes #

Vue agrégée (à implémenter) #

Créer une page qui affiche tous les flux combinés :

// plugins/rss_feeder/rss_aggregated.php
$feeds = mysqli_query($db_ressource, 
  "SELECT c.*, l.rsstitle as source 
   FROM rss_cache c 
   JOIN rss_links l ON c.source_id = l.id 
   WHERE l.activated=1 
   ORDER BY c.pub_date DESC 
   LIMIT 100");

Corrélation avec incidents #

// Relier les news aux incidents détectés dans les logs
$incidents = mysqli_query($db_ressource,
  "SELECT i.*, r.title, r.pub_date 
   FROM security_incidents i
   LEFT JOIN rss_cache r ON 
	 DATE(i.detected_at) = DATE(r.pub_date) 
	 AND r.keywords LIKE CONCAT('%', i.attack_type, '%')");

Architecture #

/lib/sanitizer/			  ← Sanitizer JASSPR
  /Datatypes/
	DatatypeString.php	   ← Validation strings
	DatatypeURL.php		  ← Validation URLs
  Parser.php				 ← Parser principal

/plugins/rss_feeder/
  rss_feeder.php			 ← Plugin amélioré (ce fichier)
  conf/rss_feeder.conf.inc.php
  locale/
	rss_feeder.en.inc.php
	rss_feeder.fr.inc.php

Base de données:
  rss_links				  ← Existant (sources RSS)
  rss_cache				  ← Nouveau (items cachés)

Bénéfices pour AEGIS IA #

1. Veille automatisée - Tous les flux de sécurité en un seul endroit

2. Historique complet - Base de données searchable de tous les événements

3. Corrélation - Relier les news aux incidents clients

4. Intelligence - Anticiper les menaces via les patterns

5. Rapports - Générer des rapports chronologiques pour clients

6. Légitimité - 22 ans de code BeamReactor + intelligence moderne

Notes techniques #

Sanitizer #

Le Sanitizer JASSPR (2017-2018) est ton code original. Il a été conservé tel quel malgré les modifications de l'équipe JASSPR. Les parties "cassées" ne sont pas utilisées dans ce contexte RSS.

Performance #

  • Le cache se fait après l'affichage (pas de ralentissement)
  • Les erreurs de cache sont silencieuses (pas d'interruption)
  • Index MySQL optimisés pour les recherches
  • FULLTEXT pour recherche rapide

Sécurité #

  • Toutes les entrées sont validées par le Sanitizer
  • mysqli_real_escape_string sur les données SQL
  • Détection des patterns d'injection
  • Limitation de taille des champs

Support #

Pour toute question sur cette implémentation :

  • Le code est documenté inline
  • La structure suit les conventions BeamReactor
  • Testé avec PHP 8.x et MySQL 5.7+

---

Auteur original : Treveur Bretaudière (2005-2025)

Version : 2.0 - 21.11.2025

Licence : Beam Reactor Engine License

de en fr