303 private links
It's hard to set zero in the RAM actually
This add-on shows with a colored icon, whether the SSL/TLS certificate currently used by the website for is classified as trustworthy by Mozilla or only by the local computer. Helps to identify proxies.
green shield for Mozilla certificates
bleu shield for other certificates
Create obvious malicious links
Cet article suit la nouvelle de thehackernews.com https://shaarli.lyokolux.space/shaare/KY-ycA
The problem is annoying and difficult. Also secrets can be easy to rotate, can not rotate or ones that attackers use.
You could be doing so many good data security practices, like secure-by-design frameworks, database and field-level encryption, zero-touch production, access control… but logging bypasses all of that… and ultimately degrades trust, in your systems and in your company.
It happens to companies of all sizes: X, Google Cloud, Facebook
Causes:
- Direct logging
- Kitchen sinks: objects that contain or hold secrets, often in opaque or unexpected ways. Errors of requests are examples.
- Configuration changes: turning logging level to debug.
- Embedded secrets: a token shared by URL
- Telemetry: error monitoring and analytics are logs. They often provide the local variable context.
- User Input: the user provides wrong but PII data in a wrong field for example.
Fixes:
- Data architecture:part of the solution is reducing the number of data flows and shrinking the problem space so you simply have less things to worry about and protect. One logging utility!
- Data transformation: minimization, redaction, tokenization (and the trolls: hashing, encryption, masking)
- Domain primitives: “combines secure constructs and value objects to define the smallest building block of a domain”.
new Secret("..."). They provide security invariants and guarantees that basic string primitives simply cannot. - Compile-time: a logging function that never accepts secrets (TS branded types helps!)
- Run-time classes (
extends String): it identifies the secrets. Overwrite thetoString()method in JS to return[redacted]but an explicitunwrap()method for example. - Read-once objects: they throw an error or
[redacted]in case of second read. - Taint checking: the general idea here is that you add taint to various sources (like database objects), and yell loudly if the data flows into certain sinks (like logs). Demo: https://semgrep.dev/playground/s/4bq5L It's awesome and not awesome as the same time.
- Log formatters: redact known dangerous property names
- Unit tests
- Sensitive data scanner
- Sampling (every cases instead of proportions)
- Log pre-processors such as Vector
- People
Strategy:
- Lay the foundation: Developing expectations, culture, and support is a must-have. Define what a secret is. Use structured logs to allow operations on them.
- Understand the data flow: with the foundation laid, the next best thing to do is to understand and chart out how secrets flow through your system.
- Protect at chokepoints: CI/CD and App code first, before relying on the loggging library and other operation services.
- Apply defense-in-depth: data transformation, read-once objects, log formatters in the library, log pre-processors, sensitive scanners, people
- Plan for response and recovery
About ?page=1 that can become /?page=1 OR 1=1
A phishing attack is running on crates.io
Ce qui étonne vraiment les chercheurs, c’est la cohérence de l’ensemble car tous les composants utilisent les mêmes techniques : DLL sideloading, chiffrement RC4/XOR, exécution exclusivement en mémoire. Ça sent la team de développeurs bien rodée avec des process industriels, et pas des amateurs qui bricolent dans leur garage.
It's a team work.
Source: "EggStreme Malware: Unpacking a New APT Framework Targeting a Philippine Military Company " https://www.bitdefender.com/en-us/blog/businessinsights/eggstreme-fileless-malware-cyberattack-apac
My honest assessment is that the Rust / Cargo leadership need to be bold, deprecate packages publishing to crates.io and move to a decentralized package distribution architecture.
There is no other way around. Rust needs to copy Go, it's as simple as that.
The second part of the solution, way harder and more expensive to implement is to release an extended standard library. We need to reduce the amount of third-party developers that we need to trust to release our software.
A workaround from now is to import rust crates from git itself, such as ring = { git = "https://github.com/briansmith/ring", version = "0.12" }
17 apps installed over 19 million times
The information is relayed on different news website:
It was unveiled with a presentation at the DEFCON 2025 https://marektoth.com/blog/dom-based-extension-clickjacking/
The unpaid work of volunteers for core libraries is unsustainable. We can all agree on that.
There is few comments suggesting sustainable models.
Securam ProLogic ne réglera pas cette porte dérobée.
Les raccourcisseurs d'URLs sont une fausse bonne idée dans la plupart des cas:
- Les URLs raccourcies ne sont pas toujours générées aléatoirement
- Le phishing rendu possible
- La dépendance au service, qui peut fermer, comme ici avec goo.gl
Here we go again. A small package is is abused.
The transcription makes it clear how it works:
- Expose node's require with a
get "switch"() { return require; } - Load
osandwsmodules fromthis['switch'] - Connect to the websocket
new Function(data)(); // remote code executionof a WebSocket message.