. We need to translate each paragraph and heading.
Let's translate paragraph by paragraph.
First paragraph: "The Bitcoin Red Team, a volunteer security group, says it found 4,962 vulnerabilities across 390 open-source Bitcoin projects during a 27-hour sweep this week. Eighty-five of those are rated critical. The audit came right after a Coldcard hardware wallet exploit drained bitcoin from long-term holders."
Translation: "Bitcoin Red Team, vapaaehtoinen tietoturvaryhmä, kertoo löytäneensä 4 962 haavoittuvuutta 390 avoimen lähdekoodin Bitcoin-projektista 27 tunnin läpikäynnissä tällä viikolla. Näistä 85 on luokiteltu kriittisiksi. Tarkistus tehtiin heti sen jälkeen, kun Coldcard-laitteistolompakon haavoittuvuus tyhjensi bitcoineja pitkäaikaisilta omistajilta."
Note: "exploit" could be "hyökkäys" or "haavoittuvuus" but here it's an exploit that drained bitcoin, so "Coldcard-laitteistolompakon haavoittuvuus" or "Coldcard-laitteistolompakkoa hyödyntävä hyökkäys". Actually "exploit" as a noun is "hyökkäys" or "haavoittuvuuden hyödyntäminen". But we can say "Coldcard-laitteistolompakon haavoittuvuus" - but that's the vulnerability, not the exploit. The original says "exploit drained bitcoin" - so it's an attack. Better: "Coldcard-laitteistolompakkoa hyödyntänyt hyökkäys tyhjensi bitcoineja pitkäaikaisilta omistajilta." But we need to keep it natural. Let's rephrase: "Tarkistus tehtiin heti sen jälkeen, kun Coldcard-laitteistolompakon haavoittuvuutta hyödyntävä hyökkäys tyhjensi bitcoineja pitkäaikaisilta omistajilta." That's a bit long. Alternatively: "Tarkistus tehtiin heti Coldcard-laitteistolompakon hyökkäyksen jälkeen, joka tyhjensi bitcoineja pitkäaikaisilta omistajilta." But we need to keep the meaning. I'll go with: "Tarkistus tehtiin heti sen jälkeen, kun Coldcard-laitteistolompakon haavoittuvuus tyhjensi bitcoineja pitkäaikaisilta omistajilta." That implies the vulnerability itself drained, but it's fine.
Actually, the original says "exploit" - so it's an attack. Let's say "Coldcard-laitteistolompakkoa hyödyntänyt hyökkäys" - but that's a bit clunky. Maybe "Coldcard-laitteistolompakon hyökkäys" - but that's not standard. I'll use "Coldcard-laitteistolompakon haavoittuvuutta hyödyntänyt hyökkäys" - but that's long. Let's simplify: "Tarkistus tehtiin heti Coldcard-laitteistolompakon hyödyntämisen jälkeen, joka tyhjensi bitcoineja pitkäaikaisilta omistajilta." Hmm.
Better to keep it as: "Tarkistus tehtiin heti sen jälkeen, kun Coldcard-laitteistolompakkoa hyödyntävä hyökkäys tyhjensi bitcoineja pitkäaikaisilta omistajilta." That's fine.
But we can also say "Coldcard-laitteistolompakon haavoittuvuus" - but that's the vulnerability, not the exploit. I'll go with "Coldcard-laitteistolompakkoa hyödyntävä hyökkäys" - that's clear.
Now second paragraph: "The team tore through a wide slice of Bitcoin's open-source ecosystem — wallets, node software, libraries, the lot. It's a lot of ground for a volunteer operation. The numbers alone are striking: 4,962 vulnerabilities, 85 of them critical. That works out to roughly a dozen flaws per project on average, though the group didn't say how they're spread."
Translation: "Ryhmä kävi läpi laajan osan Bitcoiniin liittyvästä avoimen lähdekoodin ekosysteemistä – lompakot, solmujen ohjelmistot, kirjastot, kaikki. Se on paljon työtä vapaaehtoisoperaatiolle. Pelkät luvut ovat hämmästyttäviä: 4 962 haavoittuvuutta, joista 85 on kriittisiä. Tämä tarkoittaa keskimäärin noin tusinaa vikaa projektia kohden, vaikka ryhmä ei kertonutkaan, miten ne jakautuvat."
Note: "tore through" = "kävi läpi" or "raivasi läpi" - but "kävi läpi" is fine. "the lot" = "kaikki" or "koko joukko". "It's a lot of ground" = "Se on paljon työtä" or "Se on laaja alue". I'll use "Se on paljon työtä vapaaehtoisoperaatiolle." "striking" = "hämmästyttäviä" or "merkittäviä". "roughly a dozen" = "noin tusina". "spread" = "jakautua".
Third paragraph: "What the team did say is that the whole audit took a single, marathon stretch. Twenty-seven hours of nonstop checking, from one end of the codebase list to the other. For context, that's barely more than a day of work to comb through nearly four hundred projects."
Translation: "Mitä ryhmä kertoi, oli että koko tarkistus kesti yhden maratonmittaisen jakson. 27 tuntia taukoamatonta tarkistusta koodipohjalistan päästä päähän. Vertailun vuoksi se on vain hieman yli päivän työ, jolla käytiin läpi lähes neljäsataa projektia."
Note: "marathon stretch" = "maratonmittainen jakso" or "yhtäjaksoinen urakka". "nonstop checking" = "taukoamatonta tarkistusta". "from one end of the codebase list to the other" = "koodipohjalistan päästä päähän". "barely more than a day" = "vain hieman yli päivän". "comb through" = "käydä läpi" or "haravoida". I'll use "käytiin läpi".
Fourth paragraph: "The sweep followed a Coldcard hardware wallet exploit that siphoned bitcoin from long-term holders. The group's report ties the underlying firmware