Be cautious of embemding external content



If you run a forum, social platform, or any site where people can set external avatars or media, you’ve probably considered letting them use external media sources like Imgur or Gravatar. It’s convenient, has no storage costs, and is quite simple. But there is a downside: the external (source) has absolute control of your site content and may have access to your user's private information.

Available user information:
  • IP Address: The media source can log the IP address of every person who loads the image or video. This could reveal approximate geographic location like the person country, city, or even the Internet Service Provider (ISP).
  • User Agent: The browser version and operating system which helps external sources fingerprint user devices.
  • Referrer URL: The page on your site where the media was loaded. This can expose user navigation patterns within your forum or site.

Stop trusting external media sources by default.

External media sources are a security and privacy concern. Site scripts (CMS, MyBB, etc) may only check the external media once. For example, when people set an external avatar through a URL. After this original verification, users or the source owner can change the content anytime.

The most secure and privacy-focused option is to only allow people to upload content and store it on your server. Controlling users media allows you to mitigate tracking, securing the original media content and availability. You will avoid breaking content in your site when external sources go offline, or they decide to block people (i.e: Imgur is blocked in some countries) or your server IP.

Still want to allow external sources?

If you still want to allow embedding external media content (e.g., for user convenience), you must mitigate the risks. Here are your options:
  • Proxy external media content: proxy the user media (avatars or posted images) through your server. This allows you to constantly verify the media contents and avoid tracking.
  • Hash and verify: Hash the original media content and verify it constantly to confirm that it matches the current media. If you discover the embedded media was tempered with, you may apply moderation policies for it in your site.

  • Use Content Security Policies (CSP): Restrict media to trusted sources through a content security policy, limiting the source origin pool.

For medium to large sized sites, it is possible to leverage costs by using cloud storage or Pull CDN providers. You still would have control over your files when stored in the cloud and save some bandwidth when using CDN to cache media to reduce server load.

Don’t overcomplicate it: for most sites or small communities, proxying could be too complex a setup. Specially for limited and essential user media content like profile pictures or avatars. Just let users upload their avatars and store them locally in your server while setting reasonable limits like file sizes, image dimensions, or video quality.

For other heavy media where it is not feasible to allow users to upload, like videos, consider limiting embedding to trusted sources like YouTube or Wikipedia.

Originally published on ougcNetwork

Image by Freepik

Request FIDE ban Vladimir Kramnik, and revoke his titles/norms, per ethics standards



Daniel Naroditsky, gran maestro de ajedrez estadounidense, falleció el 19 de octubre de 2025 a los 29 años.

Vladimir Kramnik, gran maestro y excampeón mundial de origen ruso, de 50 años, ha acusado a varios jugadores de hacer trampa desde 2023, sin evidencia, incluido Daniel Naroditsky.

Daniel Naroditsky fue víctima por más de 1 año de acusaciones sin fundamento y Vladimir Kramnik continúa insultando su habilidad incluso después de su irreparable perdida.

La popularidad de la IA permite que cualquier acuse a otro sin fundamento, destruyendo por completo su voluntad para crear y disfrutar la creatividad ajena.

https://c.org/ZNBT8SjxVm

Software Erosion: A Review



Software erosion refers to the gradual decline in software performance over time, leading to obsolescence and the need for updates to sustain usability. It occurs due to continuous updates made to the software's operating environment. As software development costs increase, existing software extends its functional lifespan, resulting in frequent architectural changes.

Several causes contribute to software erosion. Unexpected changes in the operating system can make the software incompatible with the updated environment. The inability to restore software to its functional state, known as "onceability," is another factor. Additionally, specific components within the software may decay due to low usage frequency, and the failure of one component can lead to the failure of others with strong interdependencies.

Software erosion can be classified into inactive erosion and active erosion. Inactive erosion occurs when software usage decreases, making it unstable and unusable. As the operating environment changes, erosion becomes more likely. Active erosion, on the other hand, happens when software is continuously developed or updated without proper mitigation processes, which can also contribute to erosion.

However, continuous updates are necessary to address changing technology, user needs, capabilities, security, and unexpected issues. Software reengineering, which involves updating and maintaining software, is often impractical and leads to divergence from the original design, causing performance, maintenance, and quality problems. This deviation, known as software entropy, increases the probability of architecture erosion, demanding active mitigation.

Software erosion impacts performance, development, maintenance, and software quality. If left untreated, it can result in unstable software, project objectives not being met, increased resource requirements for rewriting, and higher maintenance costs. Preventive measures should be implemented to address system failures caused by software erosion.

To tackle these challenges, developers should thoroughly understand the causes of errors before attempting to fix them. Thoughtful planning of new features with entropy in mind, as well as communication of architecture evolution within the development team, can reduce erosion caused by divergent changes from the original intended architecture. Maintaining up-to-date documentation is crucial to preserve specific knowledge about software components. Descriptive coding practices, such as using descriptive variables and methods, contribute to effective documentation.

By considering these factors, developers can mitigate software erosion, ensuring the long-term viability and usability of their software systems.

References:
Software Architecture Erosion: Impacts, Causes, and Management
Understanding software architecture erosion: A systematic mapping study
Image from PlayGroundAI.com

Reingeniería social: degeneración y supresión de la masculinidad



La ingeniería social es una disciplina en el campo de las ciencias sociales que se refiere a la influencia ejercida para causar actitudes particulares en el comportamiento, especialmente a gran escala. De esta manera podemos entender al sistema educativo y sus programas como un sistema del estado de ingeniera social. Aunque esta puede ser realizada por otros grupos independientes al estado, como puede ser por grupos mediáticos, organizaciones privadas, u otros similares como puede ser un partido político, entre un gran etcétera.

Un factor clave que se suele negar o simplemente menospreciar es el interés individual dentro de esos grupos de promover y propagar sus ideas. De esta forma, tanto como los integrantes de un partido político, un grupo religioso, o reporteros independientes con enfoque en un movimiento, todos ellos tienen una motivación e interés personal de que sus ideas lleguen y surtan algún efecto sobre los receptores, sea esta de forma directa o indirecta. Estos intereses o motivaciones permean sin lugar a dudas dentro de todos los niveles del grupo. Por ende, el intento organizacional de deslindarse de toda subjetividad no termina siendo otra cosa que un mero engaño, ya sea así mismo o al receptor, consciente o inconscientemente.

Durante nuestra era se ha intensificado un intento de ingeniera social masivo sin precedentes. Este es el de intentar modificar la conducta sexual de los individuos y el cómo estos se relacionan entre sí dentro de una sociedad moderna. Más específicamente: el intento de modificar la conducta masculina hacia su contraparte femenina.



Un TED talk donde hablan de aspectos que no comento aquí pero igualmente a considerar.

Durante los últimos años han surgido o han crecido grupos y movimientos en favor de los derechos y paridad de género en pro de la mujer. Estos movimientos sociales están motivados por el sentimiento, muchas veces con sorpresa perpleja de pensar que sean difíciles de comprender, de lograr que los sistemas sociales funciones en igualdad de condiciones sin importar el sexo u otras condiciones. Lamentablemente con frecuencia las soluciones aplicadas a estas demandas son decididas por grupos o incluso individuos que simplemente carecen de la visión, por no decir intelectualidad, para entender realmente lo que se está demandando. Es decir, las soluciones o respuestas a las demandas del movimiento feminista son frecuentemente no carentes, sino totalmente ineficientes para lo que se demanda. Esto solo ha servido para sumar barreras que permitan la exitosa ejecución de la ingeniería social a la que trato de referirme.

La ingeniería social que se manifiesta en las sociedades modernas, especialmente en los países en vías de desarrollo, es una sin precedentes y con muchos errores. Por una parte, las soluciones ineficaces por el estado o gobierno que suman a la problemática en lugar de ayudar y una sociedad demandante que finalmente busca asignar culpa para así liberar su frustración de una respuesta pronta y efectiva. Sin embargo me gustaría aclarar que en esta publicación no me enfoco el el movimiento feminista como tal, sino de algo mucho más grande y trascendente que la simple búsqueda de la igualdad o paridad de género.

Me refiero entonces al movimiento de ingenieria social cuya meta es la modificación del comportamiento masculino que busca que el hombre cambie su visión no solo sobre el ser humano de género femenino que ha prevalecido durante cientos de años, sino también hacía su mismo género, a través de las modificaciones sociales a los infantes masculinos. Ya no puede un varón enfrentarse físicamente a su semejante en el jardín de niños o con sus hermanos porque inmediatamente esto se aprecia como un peligro y no como un comportamiento natural, por ejemplo. El varón ya no puede ser fuerte, deportista, o imponente, sino que puede ser débil, artístico, y sumiso.

También existen posturas extremas como la idea forzada de que cualquiera puede ser hombre u mujer y que las diferencias no pasan de la percepción psicológica o mental. O el considerar al hombre no como parte del problema sino la fuente, causante, y responsable de el y a la solución no como una sugerencia sino como algo incuestionablemente necesario. Pero al igual que el movimiento feminista por si mismo, esto también es un aspecto de la ingeniería social que se intenta llevar a cabo.

No es mi intención el compartir una postura respecto a las varias y vagas ideas que intento compartir aquí, sino el compartir lo que me parece a mi un evento de gran importancia y complejidad nunca antes visto como lo es este intento de cambiar el comportamiento masculino. No ha existido en la historia un intento de tal magnitud para cambiar el comportamiento social de un grupo en beneficio de otro y que busque soluciones aparentemente inmediatas. Independientemente del resultado es un tema valioso de seguir.

Quote:We are living history and we are all part of it.

Image from: publicdomainvectors.org

MyBB: A Close Look at 100+ Patched Vulnerabilities



Quote:With the release of MyBB 1.8.22, over one hundred vulnerabilities have been addressed in the 1.8 branch. In this post we look into what the numbers can tell us so far, and how the trends are expected to change in the future.

I invite you to read the following blog entry by the MyBB Group:
https://blog.mybb.com/2020/02/23/a-close...abilities/