PERSONALSOC 0.1.14 · Dernière mise à jour : 2026-10-17

Manuel d'utilisation de PersonalSOC

Ce manuel explique comment utiliser l'application qui rassemble, en lecture seule et d'un seul bouton, les journaux et l'état des défenses de cet appareil dans un rapport lisible d'un coup d'œil. Les opérations à l'écran viennent d'abord, la ligne de commande est regroupée dans un chapitre plus loin.

1. Qu'est-ce que PersonalSOC

PersonalSOC est une application qui rassemble les journaux et l'état des défenses de cet appareil et les résume en constats et en rapport. Elle est conçue pour qu'un particulier, sans personnel de sécurité dédié, voie preuves à l'appui ce qui se passe sur son appareil et décide de la suite.

Elle est en lecture seule : elle ne modifie aucun réglage, ne supprime aucun fichier et ne bloque aucun trafic. L'analyse des journaux est faite par des analyseurs à procédure fixe, qui n'utilisent ni LLM ni réseau. L'intégration LLM est facultative et désactivée au départ.

Ce qu'elle ne fait pas

2. Installation et lancement

PersonalSOC est une application distincte de RoamSwitch. Elle a sa propre icône et est livrée avec RoamSwitch. Les menus de RoamSwitch n'offrent pas d'accès : on l'ouvre comme une application à part.

EnvironnementInstallation et ouverture
MacLe DMG de RoamSwitch contient PersonalSOC.app. Déplacez-la dans le dossier Applications, puis ouvrez « PersonalSOC ». macOS 12 ou ultérieur est requis.
Linux (édition client)Elle est livrée avec les paquets deb, rpm, tarball et AUR de RoamSwitch. Ouvrez « PersonalSOC » depuis la liste des applications, ou lancez personalsoc-app dans un terminal. La fenêtre nécessite WebKitGTK 4.1, installé automatiquement avec deb et rpm. Sous Arch (AUR), installez webkit2gtk-4.1 comme dépendance facultative.
Linux Server EditionSeule la commande est incluse. Lancez personalsoc dans un terminal (l'application à fenêtre personalsoc-app n'est pas incluse). Pour l'exploitation de l'édition serveur, consultez le Manuel d'exploitation (Linux Server).
Utilisable sans RoamSwitch
PersonalSOC fonctionne aussi seul. Sur un appareil où RoamSwitch est installé, il récupère en plus les détections non résolues, les diagnostics de configuration et d'autres éléments depuis le MCP en lecture seule de RoamSwitch, et les réunit avec les constats des journaux dans un seul rapport. Sans RoamSwitch, cette source n'est tout simplement pas utilisée.

3. Première vérification de l'état

Il ne lit les sources fixes que lorsque vous appuyez sur « Vérifier l'état ». Vous pouvez désactiver dans les réglages les sources que vous ne voulez pas qu'il lise.

Marche à suivre

  1. Ouvrez l'application et appuyez sur « Réglages » en haut à droite.
  2. En dessous figurent les sources lues sur ce système. Décochez celles que vous ne voulez pas faire lire.
  3. Appuyez sur « Enregistrer », puis sur « ← Retour » pour revenir à l'accueil.
  4. Appuyez sur « Vérifier l'état ». Une barre de progression apparaît, puis les onglets de résultats s'affichent à la fin.

À la fin, les nombres s'affichent, par exemple « Vérification terminée. 3 détection(s) / 2 IOC ». Le chapitre suivant explique les onglets.

EnvironnementCe qui est lu
MacLe journal unifié de macOS (sudo et sshd des dernières 24 heures) et les réglages MCP (Claude Code, Claude Desktop, opencode, Cursor). Il lit aussi les journaux d'accès des serveurs web (l'Apache fourni avec macOS, ainsi que nginx et httpd de Homebrew). La lecture du relevé des refus de Gatekeeper prend environ 10 secondes ; elle est donc désactivée au départ.
LinuxLe journal d'authentification (sshd), auditd, les journaux d'accès web (nginx / apache, y compris les journaux séparés par hôte virtuel), les journaux de requêtes DNS (dnsmasq / named) et les réglages MCP.
Les deuxSi RoamSwitch est installé, son MCP en lecture seule s'y ajoute. La case « Récupérer l'historique des détections et le diagnostic de configuration depuis le MCP de RoamSwitch (lecture seule) » permet de le désactiver.

4. Lire les résultats

OngletCe que vous voyez
Tableau de bordDes graphiques montrent la jauge du risque global (estimation), le nombre par gravité, les occurrences par catégorie, l'évolution dans le temps et les nombres MITRE ATT&CK.
RapportUn rapport Markdown qui regroupe les sources, les constats par catégorie et les IOC. « Copier le Markdown » le copie en entier, et « Afficher la source Markdown » passe au texte brut.
ConstatsVous pouvez parcourir les détections une à une, chacune avec sa gravité, son niveau de confiance, son numéro ATT&CK, son nombre et les numéros des lignes de journal qui l'étayent.
SourcesLa liste de ce qui a été vérifié. L'état est « Lu », « Absent », « Illisible (autorisation) », « Échec » ou « Désactivé » ; les sources illisibles ou en échec n'ont pas été vérifiées.
IOCLa liste des IP, domaines, URL et hachages trouvés dans les journaux. Ils s'affichent sous une forme neutralisée comme 198[.]51[.]100[.]7, pour que rien ne soit ouvert par erreur.
Résumé à fournir à un LLMCet onglet n'apparaît que lorsque l'intégration LLM est désactivée. C'est un résumé à remettre à un LLM à la main, sans lignes de journal brutes. Utilisez « Copier ».
À propos du chiffre du risque global
Le risque global est une estimation de 0 à 100, obtenue en additionnant chaque type de détection pondéré par la gravité et la confiance. Ce n'est pas une probabilité, et il n'augmente pas quand la même détection se répète. La confiance a trois niveaux : « Confirmé », « Probable » et « Hypothèse ».

5. Réglages et exécution périodique

« Réglages », en haut à droite de l'accueil, est divisé en onglets par fonction. Après une modification, appuyez sur « Enregistrer », puis sur « ← Retour » pour revenir à l'accueil.

Langue d'affichage Outre « Automatique (selon le système) », vous pouvez choisir japonais, anglais, allemand, espagnol, français, italien, coréen, portugais (Portugal), chinois simplifié ou chinois traditionnel, chacun affiché sous son propre nom.

Exécution périodique (facultatif)

Cochez « Vérifier automatiquement à intervalles réguliers » et enregistrez : un agent utilisateur launchd est créé sur Mac, un timer utilisateur systemd sous Linux. L'intervalle se choisit parmi 7 paliers entre 15 minutes et 24 heures, et vaut 1 heure au départ.

Seule la commande personalsoc scan --notify s'exécute, sans root. Une notification n'est envoyée que s'il y a une détection absente la dernière fois, et son texte ne contient que des nombres (sous Linux, notify-send est nécessaire). La case « Notifier seulement s'il y a une détection absente la dernière fois » permet aussi de couper la notification.

Décochez la case et enregistrez : l'inscription est supprimée.

6. Intégration LLM (facultatif)

L'intégration LLM est facultative et désactivée au départ. Une fois activée, après la vérification de l'état, la commande du LLM choisi mène une enquête supplémentaire et rédige un rapport en tant qu'auditeur. Les commandes utilisables sont opencode, claude, codex et agy.

Marche à suivre

  1. Cochez « Activer l'intégration LLM ».
  2. Choisissez le « LLM à utiliser ». Un LLM indiqué « (non installé) » n'a pas de commande sur cet appareil.
  3. Si besoin, modifiez le modèle et le délai (secondes). Si le modèle reste vide, la valeur par défaut de ce LLM est utilisée.
  4. Appuyez sur « Enregistrer », revenez à l'accueil et appuyez sur « Vérifier l'état ». Après la vérification, l'enquête du LLM enchaîne aussitôt.

Ce qui parvient au LLM

À propos de la restriction des outils

Lorsque vous utilisez un LLM dont les outils ne peuvent pas être verrouillés
Pendant l'enquête, le LLM peut lire des fichiers de sa propre initiative, et ce qu'il lit est envoyé au service de ce LLM. Pour en utiliser un, cochez la confirmation sous « LLM à utiliser ». La confirmation est propre à chaque LLM ; sans coche, on ne peut ni enregistrer ni lancer l'enquête.
Rapport avec Zero Telemetry
Le « Zero Telemetry » de RoamSwitch (aucun contenu de communication ni journal n'est envoyé à l'extérieur) décrit RoamSwitch lui-même. Les communications qui ont lieu lorsque vous activez l'intégration LLM de PersonalSOC n'y sont pas incluses. La destination et le traitement dépendent des conditions du LLM choisi et de son fournisseur. Tant que l'intégration LLM reste désactivée, PersonalSOC n'envoie pas le contenu des journaux hors de l'appareil.

7. Utiliser la ligne de commande

La commande est personalsoc. Sous Linux, elle se trouve dans /usr/bin/personalsoc ; sur Mac, dans PersonalSOC.app/Contents/MacOS/.

CommandeCe qu'elle fait
personalsoc scanVérifie automatiquement les journaux de cet appareil et RoamSwitch (MCP) et affiche les détections sous forme de liste. Pour les journaux que seul root peut lire (authentification, serveur web, auditd), lancez-le avec sudo.
personalsoc scan --reportAffiche le rapport Markdown (sans LLM).
personalsoc scan --llm <name>Affiche le rapport que le LLM a rédigé en tant qu'auditeur après avoir enquêté avec des outils en lecture seule. name vaut opencode, claude, codex, agy, etc.
personalsoc scan --notifyNotifie seulement s'il y a une détection absente la dernière fois. C'est la forme appelée par l'exécution périodique.
personalsoc <type> <file>Analyse un fichier indiqué. type vaut sshd, auditd, web, dns, unified, mcp, inject ou ioc. Si vous indiquez - pour file, la commande lit l'entrée standard, et --report, --brief et --llm peuvent aussi être ajoutés.
--lang <lang>Peut s'ajouter à toute commande et fixe la langue d'affichage, avec priorité sur le réglage. Les codes sont ja, en, de, es, fr, it, ko, pt-PT, zh-Hans et zh-Hant.
Les LLM en ligne de commande
En ligne de commande, lancer la commande avec --llm est en soi l'acte explicite de transmettre le contenu au LLM ; elle fonctionne donc même si « Activer l'intégration LLM » est désactivé dans les réglages. La confirmation pour les LLM aux outils non verrouillables n'est pas demandée non plus ; n'utilisez donc codex ou agy qu'en sachant que des fichiers peuvent être lus et envoyés pendant l'enquête.

8. Emplacements de stockage et mises à jour

Ce qui est enregistré

ÉlémentEmplacement
Réglages~/.config/personalsoc/settings.json (enregistré avec des droits de lecture et d'écriture réservés à vous seul)
Relevé des détections précédentes (pour décider des notifications)~/.local/state/personalsoc/last.json (uniquement des hachages servant d'empreintes des détections ; aucun texte de journal n'est conservé)
Enregistrement de l'exécution périodiqueSur Mac, ~/Library/LaunchAgents/dev.personalsoc.scan.plist (la sortie va dans ~/Library/Logs/personalsoc-scan.log). Sous Linux, personalsoc-scan.timer et personalsoc-scan.service dans ~/.config/systemd/user/.

PersonalSOC n'enregistre ni les rapports ni les journaux collectés dans des fichiers. Pour en conserver un, utilisez « Copier le Markdown » à l'écran ou la sortie de la ligne de commande. Pour ajouter un LLM, modifiez à la main profiles dans le fichier de réglages ; l'écran ne permet pas de le changer.

Mises à jour

Sur Mac, la mise à jour se fait depuis « Mises à jour » dans les réglages. L'application ne se connecte à lafine.net que lorsque vous appuyez sur « Rechercher des mises à jour », et reçoit les informations sur la dernière version (un JSON public). Rien sur cet appareil ni sur ses journaux n'est envoyé. S'il existe une version plus récente, appuyez sur « Télécharger et installer ». La signature du fichier téléchargé est vérifiée avec la clé publique intégrée à l'application ; en cas d'échec, rien n'est installé. L'application redémarre ensuite.

Sur Mac, la mise à jour de RoamSwitch lui-même ne met pas PersonalSOC à jour. Sous Linux, il n'y a pas de fonction de mise à jour ; PersonalSOC est inclus dans les mises à jour des paquets RoamSwitch.

9. En cas de problème

SymptômeCause et remède
Une source affiche « Illisible (autorisation) »Les journaux d'authentification, du serveur web et d'auditd ne sont pas lisibles sans les droits d'administrateur. PersonalSOC n'élève pas ses privilèges ; lancez-le donc avec sudo. C'est différent de « aucune détection » : ce journal n'a pas été vérifié.
L'exécution périodique ne peut pas être enregistréeSi le Mac indique que l'application s'exécute depuis un emplacement temporaire en quarantaine, déplacez PersonalSOC.app dans le dossier Applications, rouvrez-la et enregistrez de nouveau. S'il indique que la commande personalsoc est introuvable, personalsoc doit se trouver au même endroit que l'application elle-même.
L'enquête avec claude échoue avec « Not logged in »PersonalSOC lance claude sans charger vos propres réglages (comme env et apiKeyHelper dans ~/.claude/settings.json). Les configurations qui s'authentifient par ces réglages, par exemple avec un proxy, Bedrock ou Vertex, échouent. Si vous ajoutez à la main "llm_user_settings": ["claude"] au fichier de réglages, claude est lancé avec vos réglages chargés. Ses outils et le MCP restent désactivés.
← Page produit PersonalSOC Vers le manuel pour Mac →