M
MercyNews
Home
Back
Fence CLI : Commandes en sandbox avec restrictions réseau
Technologie

Fence CLI : Commandes en sandbox avec restrictions réseau

Hacker News8h ago
3 min de lecture
📋

Points Clés

  • Fence est un outil en ligne de commande qui encapsule n'importe quelle commande dans un sandbox, bloquant l'accès réseau par défaut et restreignant les écritures sur le système de fichiers.
  • L'outil utilise les technologies de sandboxing natives du système d'exploitation, spécifiquement sandbox-exec sur macOS et bubblewrap sur Linux, pour appliquer l'isolation.
  • Le filtrage réseau est géré via un proxy HTTP/SOCKS local, qui nécessite que les applications respectent la variable d'environnement HTTP_PROXY.
  • Il a été développé à l'origine pour sandboxer les services en cours de test lors des répétitions de tests d'API, bloquant les connexions localhost pour forcer l'utilisation de mocks.
  • Fence offre un mode de surveillance qui permet aux développeurs de voir ce qui serait bloqué sans appliquer réellement les restrictions.
  • L'outil peut importer des ensembles de permissions existants depuis d'autres outils, tels que Claude Code, à l'aide d'une commande d'importation spécifique.

Une Nouvelle Couche de Sécurité pour la Ligne de Commande

Les développeurs exécutent fréququemment des commandes présentant des risques inhérents, de l'installation de nouveaux paquets à l'exécution de scripts provenant de dépôts inconnus. Un nouvel outil en ligne de commande vise à atténuer ces risques en encapsulant n'importe quelle commande dans un environnement sandbox.

Nommé Fence, l'outil bloque l'accès réseau par défaut et restreint les écritures sur le système de fichiers. Cela crée un environnement contrôlé pour l'exécution de code, prévenant les effets secondaires non désirés ou la transmission non autorisée de données.

L'objectif principal est de fournir un filet de sécurité pour exécuter du code semi-fiable. Qu'il s'agisse d'un script de build, d'une installation de paquet ou d'un outil qui pourrait "phoner home", Fence offre un moyen d'exécuter ces commandes avec un comportement prévisible et limité.

Fonctionnalités Principales et Modes

Fence fonctionne en interceptant les appels système et les requêtes réseau, isolant efficacement la commande cible du système hôte. Par défaut, il bloque toutes les connexions réseau sortantes et empêche les opérations d'écriture en dehors d'un répertoire désigné.

L'outil propose plusieurs modes opérationnels pour s'adapter à différents scénarios :

  • Mode par défaut : Bloque tout le trafic réseau et restreint les écritures sur le système de fichiers.
  • Mode Modèle : Applique des règles préconfigurées, telles que l'autorisation de registres spécifiques pour les gestionnaires de paquets.
  • Mode Surveillance : Exécute la commande tout en enregistrant ce qui serait bloqué, offrant une visibilité sans application des restrictions.

Par exemple, l'exécution de fence curl https://example.com entraîne une connexion bloquée. En revanche, l'utilisation d'un modèle avec fence -t code -- npm install autorise l'accès aux registres npm nécessaires tout en maintenant les autres restrictions.

"J'ai rapidement compris que cela pourrait être un outil généraliste qui serait également utile en tant que gestionnaire de permissions pour les agents CLI."

— Développeur de Fence

Architecture Technique

L'outil s'appuie sur des technologies de sandboxing natives du système d'exploitation pour appliquer l'isolation. Sur macOS, il utilise sandbox-exec, tandis que sur Linux, il repose sur bubblewrap. Ces mécanismes sous-jacents fournissent une base solide pour restreindre les capacités des processus.

Pour le filtrage réseau, Fence emploie un proxy HTTP/SOCKS local. Ce proxy intercepte les requêtes réseau et applique des règles de filtrage basées sur les domaines. Cependant, cette approche présente une limitation spécifique : elle nécessite que les programmes étant sandboxés respectent la variable d'environnement HTTP_PROXY.

L'architecture est conçue pour être légère et non intrusive, utilisant des utilitaires système standard plutôt que de nécessiter des modules noyau ou des couches de virtualisation complexes.

Cas d'Utilisation et Applications

L'outil a été conçu à l'origine pour résoudre un problème spécifique dans les tests d'API. Le développeur derrière Fence travaille sur Tusk Drift, un système d'enregistrement et de répétition de trafic réel en tant que tests d'API. Lors des répétitions de tests, il était nécessaire de sandboxer le service en cours de test pour bloquer les connexions sortantes localhost vers des bases de données comme Postgres et Redis, forçant l'application à utiliser des mocks au lieu de services réels.

Cette utilité s'étend à des cas d'utilisation plus larges, notamment avec les agents de codage IA. Exécuter des agents avec moins d'invites de permissions interactives peut être risqué. Fence permet aux développeurs de sandboxer ces agents, réduisant le risque d'actions non désirées.

Par exemple, un agent peut être exécuté avec une commande comme : fence -t code -- claude --dangerously-skip-permissions. De plus, Fence peut importer des ensembles de permissions existants, tels que ceux de Claude Code, à l'aide de la commande fence import --claude.

"J'ai rapidement compris que cela pourrait être un outil généraliste qui serait également utile en tant que gestionnaire de permissions pour les agents CLI."

Limites et Considérations

Si Fence fournit une couche de sécurité précieuse, ce n'est pas une solution miracle. La documentation précise explicitement qu'il n'est pas une forte protection contre les logiciels malveillants. Des codes malveillants sophistiqués peuvent trouver des moyens de contourner le filtrage basé sur le proxy ou d'exploiter d'autres vulnérabilités du système.

La dépendance au filtrage basé sur le proxy signifie que les applications qui ne respectent pas la variable d'environnement HTTP_PROXY n'auront pas leur trafic réseau filtré. C'est une considération cruciale pour les évaluant l'outil pour leur pile technique spécifique.

Malgré ces limites, Fence représente une étape pratique vers une exécution plus sûre en ligne de commande. Il offre un équilibre entre sécurité et utilisabilité, permettant aux développeurs d'exécuter des commandes nécessaires mais potentiellement risquées avec une plus grande confiance.

Perspectives d'Avenir

Fence aborde un point de douleur courant dans les flux de travail de développement modernes : la nécessité d'exécuter du code non fiable ou semi-fiable sans compromettre l'intégrité du système. En fournissant une interface en ligne de commande simple à des technologies de sandboxing puissantes, il abaisse la barrière à l'entrée pour une exécution de code sécurisée.

L'outil est actuellement disponible pour macOS et Linux, couvrant la majorité des environnements de développement. Sa nature open-source invite les commentaires de la communauté et les contributions potentielles pour étendre ses capacités.

À mesure que les flux de travail de développement intègrent de plus en plus des agents IA et des scripts tiers, des outils comme Fence deviendront probablement des composants essentiels d'une boîte à outils de développement sécurisée. Le développeur recherche activement les commentaires et les cas d'utilisation de la communauté.

Questions Fréquemment Posées

Quel est l'objectif principal de l'outil Fence ?

Fence est conçu pour exécuter des commandes dans un environnement sandbox, bloquant l'accès réseau par défaut et restreignant les écritures sur le système de fichiers. Cela permet aux développeurs d'exécuter du code semi-fiable, tel que des installations de paquets ou des scripts de build, avec des effets secondaires contrôlés.

Comment Fence réalise-t-il son sandboxing ?

Il s'appuie sur des technologies de sandboxing natives du système d'exploitation : sandbox-exec sur macOS et bubblewrap sur Linux. Pour le filtrage réseau, il utilise un proxy HTTP/SOCKS local pour bloquer ou autoriser des domaines spécifiques, bien que cela nécessite que l'application cible respecte les paramètres de proxy.

Quels sont les cas d'utilisation principaux de Fence ?

L'outil est utile pour exécuter des agents de codage IA avec un risque réduit, exécuter en toute sécurité des dépôts inconnus et bloquer les outils qui "phoner home". Il a été spécifiquement créé pour sandboxer les services lors des répétitions de tests d'API, empêchant les connexions aux bases de données locales.

Quelles sont les limites de Fence ?

Il n'est pas considéré comme une forte protection contre les logiciels malveillants sophistiqués. De plus, son filtrage basé sur le proxy ne fonctionne que si le programme étant sandboxé respecte la variable d'environnement HTTP_PROXY, ce qui n'est pas universel.

Continue scrolling for more

L'IA transforme la recherche et les preuves mathématiques
Technology

L'IA transforme la recherche et les preuves mathématiques

L'intelligence artificielle passe d'une promesse à une réalité en mathématiques. Les modèles d'apprentissage génèrent désormais des théorèmes originaux, forçant une réévaluation de la recherche et de l'enseignement.

Just now
4 min
314
Read Article
Le long jeu du Japon : investissement et résilience
Economics

Le long jeu du Japon : investissement et résilience

Alors que les dirigeants mondiaux se réunissent pour discuter des risques géopolitiques et climatiques, l'approche stratégique du Japon en matière d'investissement à long terme et de résilience émerge comme un modèle clé pour naviguer dans un monde incertain.

2h
5 min
6
Read Article
Le Japon attend la condamnation dans l'affaire de l'assassinat d'Abe
Crime

Le Japon attend la condamnation dans l'affaire de l'assassinat d'Abe

Un homme de 45 ans doit être condamné mercredi pour l'assassinat de l'ancien Premier ministre japonais Shinzo Abe, dans une affaire qui divise profondément l'opinion publique japonaise.

2h
5 min
6
Read Article
Hugh Grant et Esther Ghey soutiennent l'interdiction des réseaux sociaux pour les moins de 16 ans
Politics

Hugh Grant et Esther Ghey soutiennent l'interdiction des réseaux sociaux pour les moins de 16 ans

Une coalition d'acteurs et de personnalités, dont Hugh Grant et Esther Ghey, appelle les dirigeants politiques à soutenir une interdiction des réseaux sociaux pour les moins de 16 ans avant un vote crucial à la Chambre des Lords.

2h
5 min
6
Read Article
Android Auto 16.0 : Une refonte du lecteur multimédia arrive
Technology

Android Auto 16.0 : Une refonte du lecteur multimédia arrive

La dernière mise à jour d'Android Auto apporte une refonte élégante du lecteur multimédia, offrant aux conducteurs une interface plus intuitive et visuellement attrayante pour leurs musiques et podcasts préférés.

2h
3 min
6
Read Article
Enquête de la BBC conduit à l'arrestation du cerveau présumé d'une escroquerie
Crime

Enquête de la BBC conduit à l'arrestation du cerveau présumé d'une escroquerie

L'arrestation de Kuong Li, suite à une enquête de la BBC, illustre le rôle crucial du journalisme d'enquête dans la lutte contre la criminalité transnationale en Asie du Sud-Est.

2h
5 min
6
Read Article
Fonds fédéraux pour les aéroports de Feira de Santana et Conde au Bahia
Politics

Fonds fédéraux pour les aéroports de Feira de Santana et Conde au Bahia

Le ministère des Ports et des Aéroports annonce de nouveaux investissements fédéraux pour les infrastructures aéroportuaires régionales dans le Nord-Est, avec des allocations spécifiques pour Feira de Santana et Conde au Bahia.

2h
5 min
6
Read Article
Zuri Hall lance l'émission de talk-show YouTube 'Not About Sports'
Entertainment

Zuri Hall lance l'émission de talk-show YouTube 'Not About Sports'

L'experte en divertissement Zuri Hall a lancé une nouvelle émission de talk-show YouTube, « Zuri Hall's Not About Sports », passant de la performance athlétique aux vies personnelles des personnalités sportives.

2h
3 min
7
Read Article
ChatGPT introduit une prédiction d'âge pour protéger les jeunes utilisateurs
Technology

ChatGPT introduit une prédiction d'âge pour protéger les jeunes utilisateurs

ChatGPT lance une nouvelle fonctionnalité de prédiction d'âge pour empêcher que du contenu problématique soit délivré aux utilisateurs de moins de 18 ans, marquant une avancée majeure dans les protocoles de sécurité de l'IA.

2h
5 min
7
Read Article
Blake Lively vs. Justin Baldoni : des documents judiciaires non scellés révèlent des tensions sur le plateau
Entertainment

Blake Lively vs. Justin Baldoni : des documents judiciaires non scellés révèlent des tensions sur le plateau

Des documents judiciaires non scellés révèlent des allégations de franchissement de limites et des différences créatives entre Blake Lively et Justin Baldoni pendant la production de 'It Ends With Us.'

2h
5 min
7
Read Article
🎉

You're all caught up!

Check back later for more stories

Retour a l'accueil