Blinder - Herramienta CLI que oculta los secretos de un proyecto para agentes de IA
(github.com/YellowC-137)Hola.
Como era demasiado tedioso ir borrando manualmente los datos importantes cada vez que dejaba un proyecto en manos de un agente de IA, hice yo mismo una herramienta de automatización que oculta la información con un solo comando.
Antes de entregar un proyecto existente a un agente de IA, bloquea de antemano la filtración al exterior de claves API, credenciales, certificados y otros datos hardcodeados dentro del código fuente.
-
Las cadenas sospechosas encontradas con expresiones regulares se validan por segunda vez mediante análisis sintáctico para comprobar si realmente están dentro de un "literal de cadena (String Literal)" del código.
-
Transformación automática de código (auto-fix), no solo enmascaramiento
Extrae los secretos hardcodeados a un archivo.envy reemplaza automáticamente el código fuente según cada lenguaje conprocess.env.API_KEY,System.getenv(),@Value, etc. -
Manejo de archivos adaptado a cada plataforma:
No solo con código fuente simple, sino también con secretos en archivos de compilación/configuración comoInfo.plistde iOS,build.gradlede Android,pubspec.yamlde Flutter oapplication.ymlde Spring, intentando separarlos con precisión mediante parsers específicos para cada caso.
Las funciones principales son:
Separar secretos como claves hardcodeadas, URL, etc. a .env y transformar automáticamente el código
blinder blind
- String apiKey = "sk_live_abc123..." # Before
+ String apiKey = BuildConfig.STRIPE_KEY # After (빌드 가능)
Crear un proyecto de solo lectura para agentes de IA
blinder mask
- apiKey: "AIzaSy9xK2mP3rT..." # Before
+ apiKey: "__BLINDER_VAR__FIREBASE_API_KEY" # After (빌드 불가)
Existe eso.
Puedes instalarlo globalmente en un entorno Node.js y usarlo de inmediato.
Bash
npm install -g github:YellowC-137/Blinder
Actualmente soporta entornos iOS, Android, Flutter, Node.js, React, Spring Boot y Ruby, y se siguen agregando más plataformas de forma continua.
Como es un proyecto open source en etapa inicial, puede que aún tenga carencias.
¡Agradezco mucho cualquier feedback, gracias!
GitHub Repo: https://github.com/YellowC-137/Blinder
Aún no hay comentarios.