método

qué son los números de comparación de la página de revisión, de dónde salieron y qué no pueden decirte. escrito para un lector escéptico.

esta página no carga nada más que sus propios archivos. sin analítica, sin cookies. dos claves de almacenamiento local recuerdan tu idioma y tu tema, nada más.

corpus

el corpus son charters de Grok Bot publicados como texto plano en repositorios públicos de GitHub, snapshot 2026-09-04. el corpus estricto es el conjunto de fuentes menos 3 repositorios que no son la unidad de análisis (bibliotecas de skills y directorios de prompts de configuración del tipo "set up a new bot for me"). esto no es un censo de plantillas públicas de Grok Bot. los directorios de enlaces de instalación quedan fuera porque su texto de configuración vive en x.ai, que este proyecto nunca consulta.

corpus estricto: 1596 charters de 86 repositorios, inclusión de 40 a 3000 palabras, solo inglés, un charter = una descripción de rol de bot que una persona podría pegar en el perfil de un bot. el corpus completo (con los 3 repositorios excluidos de vuelta) tiene 2282 charters y se usa solo como línea de robustez en el informe, nunca en la página de revisión.

cada fuente está fijada a un commit sha resuelto en la fecha del snapshot y descargada como tarball por ese sha. nunca se contactó api.github.com ni x.ai. todos los charters están en inglés: los detectores, sus listas de tokens y las etiquetas a mano son solo en inglés, y los resultados en cualquier otro idioma no son confiables.

conjunto de fuentes: se leyeron 89 repositorios en total: las selecciones propias de las listas curadas más 253 repositorios enlazados desde las dos listas de descubrimiento, de los cuales 171 quedaron fuera por las clases de exclusión vigentes (herramientas de código, conectores, puentes, instaladores, directorios de enlaces, documentación), 8 no se pudieron descargar y 74 se descargaron y pasaron por la misma prueba de inclusión. cada repositorio está fijado a un commit sha. marco de muestreo: charters publicados en repositorios enlazados desde dos listas curadas tipo awesome-list. no se usó búsqueda de código.

fuentes

repositorioramacommit shaestado en el corpus estrictocharters
AmitMirgal/orgbot-hubmain7f65a8011fa119c1ab4321d4437170bd6f8d3ea1en el corpus1
Chakhdz/grok-bot-token-savermasterfe82eb28665bdef430020999f448013e8491a203en el corpus1
EndeavorYen/grok-bot-skillsmaind1a0e777842821a95bcdab6c88c1a5ae37d0d194en el corpus14
GlobalTC/steermain2423bf4d347b6ec6c2208d7d5aa9ef6973e9c600en el corpus3
HAEGONG/grok-bot-profilesmain6f3d07e566008175486228a509bd8461e5efb85fen el corpus12
HammeredSmithy/bull-trademain11feb72876a9572746527521fe05e4cc48f00abden el corpus28
Heyvhuang/werewolf-gamemastermain2f18703f30815a295d52f6c09812a076e8354329en el corpus1
HxHippy/grok-bot-archmainb7c44ba488f4da42d0006a3c126e597ac5a7d465en el corpus0
KinGao294/grok-bot-orange-bookmain1f689f8c7c9143dcdbdbd6ae631f9bdcd8572b23en el corpus0
Logos52/grok-bot-packetsmain20903e2a2830010345f7227e1fa685c3722c8f9ben el corpus19
Octo-o-o-o/grok-job-kitmain90894b2f42723dcae6e25c3e5252f1bfedec6019en el corpus10
OpulentiaAI/gtm-agent-automationsmain568371d0b5c5c0ed28597dcc93ac5b6ce938967fen el corpus262
PROJECT-073-X/grok-bot-workforcemain9786f76311c88ad3f12b9ec87ba995d9f994e332en el corpus1
PramodDutta/botskillsmainabe793060a7e7ad18e89e1f254e4ad0806556354en el corpus119
Steltic/steltic_grokbotmaina76d5f315509b3a7c488844c6f1f0dfbb932785ben el corpus1
Uncle-Gizmo/grok-bot-infomaine927c1836f80134c898ec94a40d2ce635c6c910aen el corpus1
WeSs1982/echo-chief-of-staffmain874dc50ec41637233f21bbc0f5256b938afa8b98en el corpus0
WebDevJasonCameron/ExploreGrokBotmain58fe3532ccbd3aecf8af06ea4a3706ac659d8f8cen el corpus5
YannisKiefer/grokbot-xmaincade7d95e2b60c2c60c53648d4d10ba87ae18443en el corpus10
ZeroPointRepo/GrokBotDevmaind2aa69f8640e2ccef42f4b11b664e234c34c211den el corpus137
ZooHero500/playsmain65fbafc806431ed079a03a03ad474710f65ad31fen el corpus110
a70win-wq/usegrokbotmain49c1dd3182ed14d1d76a99be4034ce153323b2caen el corpus1
aaravarr/openbotmainb694d788b1e558112d0443943b1e0ba740075d92en el corpus3
andrewkittridge/grokorymain193608e9304de658a77e218c73fea02f41136867en el corpus4
banana2556/cursor-grokbot-helpermain19af0152c015848d5a10bfe1c85d9143bef08929en el corpus0
bcharleson/grokbot-peekaboomain862172e0abfe15c1abf1efc538545fc5f214bb18en el corpus1
codejunkie99/rosterroommaina7ec5620c85ec19b1d1ac22321ccce531455484fen el corpus80
composio-community/awesome-grok-botsmaind732af02159bc2cc8f350422aaf09908822c2882en el corpus20
cs68614-hash/awesome-grokbot-templatesmain577e696d4a7c128760a7952636c2d10cccfcc9caen el corpus0
dadamingmax/Grok-Bot-Setup-and-Usage-Guidemainad3f3fbb2ae40582379910710a5521d715e72f8cen el corpus0
danielvegac/grok-bot-startup-services-outboundmain2ba35f365daa6eb7cf9cc7d52f6597b24c9aff24en el corpus4
ddhjy/grok-bot-hubmain37e4ce343bee7cd05a972b1efda218232e525142en el corpus0
divo12/awesome-grok-bot-templatesmain184d4cc50c34899c00d21ba87ce2eb82da887c27en el corpus10
dragosroua/grok-bot-add-pluginmain80459c4543d2845492fc64dc2ddc4a366e8564fden el corpus6
ellelion/botteamsmaine478f8de0d6ee32b985dcb8c08d1d0fd5232bf9den el corpus70
enderzcx/grok-bot-switchmainc612786ef8ec5e70c67fc691fea85cee1f06e724en el corpus0
ethanolivertroy/grokbot-cloudflare-inboxmain9c994514f37738482186b4c422c875f573b4ed98en el corpus2
fantomsuj/grokbotmain7cf5d3d97d8df426f63a40b06dd408379fa5dc11en el corpus0
function1st/PhoneZeromain98a72eb9456477ba3985d4f7a7dc0a22c22c50d2en el corpus11
galleonlabs/hypergrok-trading-deskmain0274d9e2429ff68bef4fd05099deb3f0899fe593en el corpus27
hariou/technocore-grokbot-jamastera442d32a6a6394826616407be9f8c20136e23e5fen el corpus1
hesreallyhim/awesome-claude-codemaindb4db53566d757e31d75536627747fcaef01d7f1en el corpus0
jaredtrichard/grok-factorymain2e9f8e55935e9ec3cb8c1fa823c64bd043c4351ben el corpus10
jaredtrichard/grok-researchmain957bf951721ba0004b7c8d61559d44810e3e6666en el corpus4
jaskirat1616/grok-skillsmaindfadd540f887c3834e9043a29e9ff402b48aaf66en el corpus186
jay-sahnan/growth-grok-botsmain8cf16436859e2dd3a47f40f1d328052f5a6e3c85en el corpus0
jblack4vols/grok-botmain6f284805b7351e8022d3286624290d13cc3c5293en el corpus2
jeremybrasher/grokbot-skillsmainfa7d4587d50a589b46ed9c3576b5f340549e49a3en el corpus92
jinank/great-grokbotsmain1c318bf616d89574cc1ecde8758cf0c1950badd6en el corpus0
kunchenguid/grok-shipmainae1f5a787e544dcec69b819370615b2fcbef0eaben el corpus7
kwakseongjae/awesome-grok-botmain1023020613037e354c4526ec8ff2a26549566125en el corpus3
kydlikebtc/awesome-grokbotmain00304a366a46657b43c2bdc061f3b69fa0f1db48en el corpus2
lazerusrm/botroutermain118f909ab0e4e16f15d8b932ced562d65f1dba38en el corpus1
lroolle/awesome-grokbot-templatesmaina12c2684a994b17647841b882d89d27550323805en el corpus0
lsj210001/crew-contractmain06d24e73f55e6550bcc53d9a8bebea80c6170b0ben el corpus0
lureilly1/botjobsmain76e9a0e7491730d067d38c51385718b2232d244aen el corpus0
mKay00/grok-bot-second-brainmasterdfa5d1dc83e34f9a93346c703334027d030d8876en el corpus11
mahathir69/technocore-safemain96d7006d351a7d7de0130aecfb5c00c3a1a3722cen el corpus3
maplefukku/grok-bot-opsmainc3e54f9e078698b4195abf9a130ed43ba8d4e3been el corpus1
matsutouya/note-kojomainfbf79e2c3c5a60544e6fc3ba5a87105132568c55en el corpus0
matteoantoci/firstmatemasterdc26ad39f5584f23c8408478c6799c2bd69b0a1fen el corpus2
mergisi/awesome-grokbotmain6210f2034c5737d1be100e227c8d308d9757ecf4en el corpus113
mostdesign01-sudo/grokbot-use-casesmain9cdb036e17099a6f08784219cfba5294a03883a6en el corpus0
mozilla/diversitymaster5e612f24d537b5e7b80ae0aa730c32e499b68db4en el corpus10
mtrxdev/build-briefmainc158ee5333d956b18efc11be187e558485b6684ben el corpus3
napiermd/heavy-lift-cloud-agentsmain3ebcbd91d5d2b0ab69f7f178570d3c24f07ae484en el corpus1
nescafe2009/dsh-grokbotmain8a3b70813fe5aa720ecddd940d65ec8d58acd771en el corpus0
njpatel/omabotmain801cb4b1dc3d20e75b43094aed36c3703e3f72e5en el corpus0
noam99moyal-sudo/podcast-summary-botmainf9b8e871de6880646ff5ad2b6e2a0464dcd44b4fen el corpus1
novusordos666/grokbot-outreach-agent-teammain4ea1fd613329f66a4c51c2f0c231afd0b471a18cen el corpus6
owenisas/grokbot-openaimainbd2e81fe991f699d0d2482d665fef32be1088131en el corpus0
p10ns11y/botifymain8e249c3b84262f5c1eaadd1aa7441de5e28f7df5en el corpus2
pacifico-1106/grokbot-control-planemain4162e5218537d3b3c6213a48195a556b01d3676cen el corpus1
palehonk0-o/grokbot-market-memorymain9314e92d77b86c94df6e023e106c76927a91106den el corpus6
quolu/plaudemain7c18750f39df0ee5591c9fdacca6b9781dfd1890en el corpus0
richard7463/askgrokwalletmainbc46298b059352171490390584fd895d92649a48en el corpus1
rockyzhuo/grok-bot-blue-bookmainebb28026a630e70be8e3da578cf85d5919ed5e19en el corpus0
s-hiraoku/grok-bot-playbookmain306c7a12019b2e5aa6457f9f3607e8ff5692c689en el corpus0
shrdgn/grokbot-skillsmainab16e780a80ce74c701022dec726f9174e625f79en el corpus74
steve228uk/grok-bot-shoppingmainc0a52b214e594973cf149aff3ad23068ef59c3ceen el corpus4
swcstudiospace/PumpGrokmaind16963a007b285f1a62687f7fc61c5506583559ben el corpus32
tal-giladi/grokbot-field-guidemaincbdb6b1895f25b5adb2767622860ba33e35c32d2en el corpus1
thomasbek3/hermes-bot-kitmaster13b446128ee2831d4a1bfa29bfabe0f772ed80c6en el corpus1
tiankonglan/awesome-grok-bot-templatemain826c52a67c816c7c1321f761d27219ff639afa99en el corpus0
vercel/vercel-pluginmain7b0a6f61b254b0149bb644cadfb588a5c46df0c2en el corpus41
zhulin025/LaoA-GrokBotmain527c3b5746bed34da3a6d4f9747e483c84534a41en el corpus0
Anil-matcha/awesome-grok-botmaster2412bacefee2cdc31ceb526443ad780a89a2a2cdexcluido: no es la unidad de análisis0
aaron-he-zhu/aaron-marketing-skillsmain33dc05b0eeac3f78f4621ff898a1b84c04a65bdaexcluido: no es la unidad de análisis0
elie222/botdirectory.aimainbadedc0c985bf3e021634e3d7823ded02cd5545eexcluido: no es la unidad de análisis0
RongleCat/awesome-grok-botmaine8af8ee56813e891657e63dafda90b5755ac021dsolo descubrimiento, sin charters0
majiayu000/awesome-grok-botmainf7f692c71a6379f3849ad2df5bdf2e310b974268solo descubrimiento, sin charters0

las ocho reglas y la puerta de publicación

cada regla es una función pura sobre el texto normalizado en inglés del charter, el mismo código que corre en tu navegador en la página de revisión. cada regla se contrastó con 60 charters etiquetados a mano, a ciegas, antes de leer la salida del detector. dos puertas: la puerta a es el acuerdo a tres vías (true / false / unclear), la puerta b es el acuerdo de true contra no-true, ambas en 0,85. filas: 1 pasa la puerta a, los conteos de todo el corpus son publicables. 2 falla a, pasa b, solo es publicable el conteo de true del corpus. 3 falla ambas pero nunca inventa un true, así que el conteo de true del corpus es una cota inferior. 4 falla todo, solo muestra. en la página de revisión aparecen solo las filas 1 a 3.

reglaqué preguntapuerta apuerta bprecisión en truefilanúmero reportado
R1 approval gateexigir un sí humano antes de una acción irreversible0,5670,8170,8804solo muestra: 30 de n = 60, intervalo del 95% de 0,377 a 0,623
R2 state filemantener un archivo de estado entre corridas0,6330,7330,7864solo muestra: 24 de n = 60, intervalo del 95% de 0,286 a 0,526
R3 silence rulepermitir que una corrida vacía no envíe nada0,8330,9500,9232378 de 1596 (solo el conteo de true del corpus)
R4 ownership boundarydecir qué no toca el bot0,7670,7670,7964solo muestra: 43 de n = 60, intervalo del 95% de 0,592 a 0,815
R5 stop conditiondefinir cuándo termina la corrida0,8170,8170,9324solo muestra: 49 de n = 60, intervalo del 95% de 0,701 a 0,894
R6 undisclosed capabilitynombrar cada herramienta que usa el bot en la definición de su rol0,5170,5170,3264solo muestra: 14 de n = 60, intervalo del 95% de 0,144 a 0,354
R7 visible secretno llevar en el texto ninguna clave, token, llave privada ni host interno1,0001,000-10 de 1596 llevan una forma de secreto (conteo congelado); tras corregir las formas, 0 de 1596, mira la nota de abajo
R8 injection resistancetratar el contenido que lee el bot (páginas, correos, tickets, texto pegado) como datos, no como órdenes0,9170,9170,78611302 de 1596 guardan silencio sobre la pregunta (todo el corpus); 294 de 1596 resistentes; el conteo de expuestos es un piso del detector, mira abajo

los valores de las puertas se muestran aquí con tres decimales y sin redondear en numbers.json. los intervalos de la muestra son de wilson al 95 por ciento.

dos números fáciles de malinterpretar

formas de secreto: 0 de 1596 charters llevan una. este corpus son repositorios públicos curados, donde la protección de push y el escaneo de secretos de github hacen casi imposible que una clave viva sobreviva, así que el cero dice que la búsqueda se hizo en la superficie equivocada, no que nadie filtre. no se afirma nada sobre los enlaces compartidos, que este proyecto nunca lee.

parte de ese cero es el detector, no solo la superficie. las formas con las que corrió la auditoría exigían una cola alfanumérica sin cortes después del prefijo y la capa de texto sobre la que corrían eliminaba los guiones bajos, así que claves con la forma sk-ant-api03-..., sk-proj-... y ghp_... nunca fueron detectables. el 2026-09-05 se ampliaron las formas: una clave de api ahora es sk- seguido de hasta 40 caracteres de letras, dígitos, guiones o guiones bajos y luego al menos 16 alfanuméricos, un token de github es ghp_, gho_, ghu_, ghs_ o ghr_ más 20 alfanuméricos o github_pat_ más 20 caracteres, la forma de slack también acepta xoxe-, y la capa de texto conserva los guiones bajos dentro de un token. una dirección de correo ya no cuenta como secreto: la página de revisión la reporta aparte como algo que mirar antes de compartir. el corpus se volvió a escanear solo para esta regla, verificando byte a byte que las etiquetas de todas las demás no cambiaron: 0 de 1596 charters llevaban una forma de secreto antes, 0 de 1596 después (1 llevan una dirección de correo). los números publicados no cambian.

inyección: el número reportado es el silencio, 1302 de 1596 charters no dicen nada en ningún sentido sobre si el contenido que lee el bot puede darle órdenes. el detector encontró 0 charters de 1596 que le dicen al bot obedecer ese contenido, y 0 de los 60 charters etiquetados a mano; una muestra anterior etiquetada a mano sobre el corpus más amplio encontró un charter expuesto que el detector no había visto, así que un cero del detector aquí es un piso, no un hecho.

límites

reproducir

el pipeline completo (python, solo biblioteca estándar), los números congelados con sus hashes sha256, las etiquetas a mano a ciegas, el registro de decisiones y el informe de paridad entre el motor del navegador y el motor de python existen como una carpeta de trabajo que no está publicada al momento de escribir esto, así que esta página no puede enlazarte a ella. lo que sí puedes comprobar aquí: la tabla de fuentes de arriba nombra cada repositorio y commit, así que el corpus se puede reconstruir desde esos anclajes, y rules.js en esta página es el motor exacto, generado a partir del de python. el motor del navegador coincidió con el de python en cada una de las 12768 etiquetas congeladas.