- Little Rat es una pequeña extensión de Chrome que monitorea y opcionalmente bloquea las llamadas de red de otras extensiones de Chrome
- Detectar y bloquear el tráfico de otras extensiones solo es posible si se activa la bandera extensions-on-chrome-urls en
chrome://flags/#extensions-on-chrome-urlso si se ejecuta Chrome con--extensions-on-chrome-urls - La instalación manual usa el procedimiento de descargar el ZIP desde GitHub, descomprimirlo, activar el Developer mode en Chromium/Chrome Extensions y usar Load unpacked extension sobre el directorio
little-rat-main
1 comentarios
Opiniones de Hacker News
Preferiría que esto fuera una función nativa de Firefox o Chrome, más que una extensión de terceros. Así tendría suficiente adopción como para que otros navegadores también le prestaran atención. Me gustaría poder permitirle a una extensión específica solo solicitudes GET a URL estáticas predefinidas, sin que pueda cambiar headers.
Así se podrían actualizar datos y, al mismo tiempo, reducir el riesgo de filtraciones. Algunas extensiones funcionan solo dentro del navegador local, así que ni siquiera necesitan acceso a la red. Eso sí, si pueden modificar el código fuente de la página, podrían esquivar esto para transmitir datos, y quizá por eso los navegadores no lo hacen. Aun así, creo que vale más la pena intentarlo que rendirse y dejarlo en manos de una extensión de Chrome.
Es casi el mismo proceso que inspeccionar la UI: activar la depuración remota y luego ejecutar Browser Toolbox: https://superuser.com/questions/1608096/how-to-inspect-firef...
También sirve para averiguar qué se necesita en el archivo CSS de user-chrome cuando quieres cambiar algo más que el tema de las pestañas. Aunque usar user-chrome CSS en sí es algo engorroso.
Para que se vean las solicitudes de red de las extensiones tuve que cambiar a multi-process mode, lo cual en general tiene sentido.
Por ejemplo, uBlock obteniendo una lista de bloqueo cualquiera que seleccioné para probar: https://i.imgur.com/wBYbBM2.png
Firefox actualizando en segundo plano sus listas de safe-browsing: https://i.imgur.com/JYxWwjW.png
En una extensión bien hecha, la notificación aparecería solo de vez en cuando; y en una extensión que necesita servidor, aparecería en momentos en los que el usuario espera que se comunique con el servidor. Una extensión que envía pulsaciones de teclado o datos sospechosos sería muy fácil de detectar.
Eso sí, se pueden poner comodines en las URL, y creo que también había un valor especial que significa todas las URL. Aun así, no debería haber muchas extensiones que necesiten ese permiso.
Por ejemplo, aunque la extensión no pudiera crear solicitudes por sí misma, si tiene permiso para modificar el DOM de una página web, hay muchas formas de engañar a la página para que envíe solicitudes en su lugar.
Esta extensión no es facilísima de instalar, así que estaría bueno agregar capturas que muestren eventos de red capturados de verdad. La captura actual oculta la función más interesante.
Luego vuelve a la pantalla normal del navegador, haz clic en el ícono de extensiones con forma de pieza de rompecabezas a la derecha de la barra de direcciones, y presiona el pequeño ícono de chincheta junto a Little Rat. Así queda instalada y aparece en la lista de íconos de extensiones.
Genial. Honestamente, me sorprende que esto sea posible.
No sé exactamente qué datos exponen estas API, pero si una extensión puede acceder a las solicitudes de otra extensión, ¿no podría generar preocupaciones de seguridad para extensiones de gestores de contraseñas o extensiones que usan tokens de autenticación?
Bien. Siento que algo así debería existir como una URL chrome://.
Se ve bien, pero me gustaría saber si hay planes de portarlo a Firefox.
¿Alguien sabe de alguna alternativa que haga lo mismo en Firefox?
Te sorprendería ver cuántas violaciones bastante claras de las políticas de extensiones Mozilla deja pasar en extensiones “recomendadas”.
[1]: https://firefox-source-docs.mozilla.org/devtools-user/browse...
[2]: https://firefox-source-docs.mozilla.org/networking/http/logg...
[3]: https://firefox-source-docs.mozilla.org/devtools-user/about_...
var chrome = browser;al inicio de cada archivo JS, puede funcionar en Firefox. La API de extensiones de Firefox es casi una copia de las Chrome Extension APIs, con apenas algunas diferencias.Lo usaré cuando esté en Chrome Store.
declarativeNetRequest.onRuleMatchedDebug[0], y eso parece ser solo para depuración, así que me pregunto si lo permitirán en Chrome Web Store.0: https://github.com/dnakov/little-rat/blob/f0b9b6be39af9fe7f4...
¿Por qué no está en Chrome Store?
chrome.declarativeNetRequest, que también es una API que usa uBlock.Está limpio, pero habría que tratar esta parte con más cuidado: https://github.com/dnakov/little-rat/blob/main/popup.js#L36
No quiero tener que preocuparme de si otra extensión puede inyectar XSS aquí con una solicitud, ID o nombre manipulados.
unsafe-inliney Chrome genera automáticamente el ID de la extensión.El simple hecho de que no haya llamadas de red no prueba que una extensión sea segura. Podría guardar en caché datos que quieres mantener privados y enviarlos periódicamente.