339 private links
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
The method to build software feature by iteration is a mistake long-term.
Carrying over this approach past the learning phase was a mistake.
It is possible to dramatically cut the amount of bugs you introduce in the first place, if you focus on optimizing that (and not just the iteration time)
One super power is bugs can be found while reading the code.
The key is careful, slow reading. What you actually are doing is building the mental model of a program inside your head.
If you are reviewing a PR, don’t review just the diff, review the entire subsystem.
Follow the control flow or stare at the state
RSS feeds can be broken because of
- expired SSL certificates
- timeouts caused by slow servers
- misconfigured firewalls
- servers going down
- change feed URLs
- feed parsing failures
- deleted feeds
- deleted websites
Thoughts on ratelimiting, which can be implemented in different ways depending of the needs.
Help to build microservices as WASM components in Rust.
It can be used to handle HTTP requests for example.
There is a demonstration: https://www.youtube.com/watch?v=UoRfr3Q2R8A
Une introduction à Nix afin de recréer des environnements.
On remarque que Nix évite toute la couche OS de Docker.
Si votre salaire ne suffit qu'à manger et dormir, ce n'est pas un travail, autrefois, on appelait cela de l'esclavage.
v👨💻 Le LIDAR est accessible dans l'éditeur ID. Pas vérifié dans #JOSM.
Donc les données d'OpenStreetMap sont enrichies par les . Ainsi il est possible de tracer, corriger ou compléter le tracé de pistes, chemins, cours d'eau qui sont masqués par la végétations. Génial !
C'est une technologie de télédétection par laser permettant, depuis un avion 🛩️, de créer une carte 3D très précise du terrain, même sous la végétation 🌳
- Remove social media apps (or completely mute them at the very least)
- Opt-in instead of opt-out notifications
- Managing sounds
- Report telemarketers and robo-calls
They wouldn't use Google Search engine as default for 20 billions per year.
Their marketing values privacy, but this partnership is a on their commitment to privacy.
Take: If Apple really cared about privacy, not only should they choose a different search engine, they should block ads and trackers in Safari by default.
But they don't even if they can do it tomorrow.
Create a CA locally and use it to generate certificates. So it's perfect for local network requests (https, etc...)
One file per project.
Each entry starts with a timestamp and is succinct: one or two sentences. That's it.
About ?page=1 that can become /?page=1 OR 1=1
An extremely fast PHP linter, formatter, and static analyzer, written in Rust.
That's interesting
375 petabytes into an LTO cart.
Note the experiment was conducted on 156.6 kB and the cart can not be damaged or the whole data would be corrupted.
Another limitation is the rate: 156kB in 2.5 hours; so nearly 1kB per minute.
It is estimated that one kilometer of DNA can store 74.7 GB, way less than the LOT-9 capacity of around 18TB (45TB compressed).
So it remains a science project for now.
Instead of trying to ascertain the truth, editors assessed the credibility of sources, looking to signals like whether a publication had a fact-checking department, got cited by other reputable sources, and issued corrections when it got things wrong.
Wikipedia’s dispute resolution system does not actually resolve disputes. In fact, it seems to facilitate them continuing forever.
Wikipedia is a mirror of the world’s biases, not the source of them. We can’t write articles about what you don’t cover.
As volunteers, editors work on topics they think are important, and the encyclopedia’s emphases and omissions reflect their demographics.
Crucially, if you think something is wrong on Wikipedia, you can fix it yourself, though it will require making a case based on verifiability rather than ideological “balance.”
That is, Wikipedia’s first and best line of defense is to explain how Wikipedia works.
Nous étions plusieurs associations et militants antivalidistes à alerter sur le fait que dans tous les pays où la loi sur l'#Euthanasie
avait été promulguée, des lois réduisant les accès aux droits des personnes handicapées survenaient.Actuellement, le gouvernement réfléchit à plafonner l'#AAH
et à en conditionner l'accès.
Actuellement le gouvernement compte réduire à peau de chagrin l'#ALD.Voilà. C'est tout.
Merci à nos chers élus de ne rien avoir écouté. Même si ce gouvernement saute, le suivant aura ce genre d'idées.