<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 38bits</title>
    <description>The latest articles on DEV Community by 38bits (@38bits).</description>
    <link>https://dev.to/38bits</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3936854%2F7ab2c163-b1b2-4ecf-9d8d-84db8b4b8d3b.jpeg</url>
      <title>DEV Community: 38bits</title>
      <link>https://dev.to/38bits</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/38bits"/>
    <language>en</language>
    <item>
      <title>O que ninguém te conta sobre validação de seeds em PDAs no Solana</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Sat, 06 Jun 2026 21:40:05 +0000</pubDate>
      <link>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-validacao-de-seeds-em-pdas-no-solana-1mhg</link>
      <guid>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-validacao-de-seeds-em-pdas-no-solana-1mhg</guid>
      <description>&lt;h2&gt;
  
  
  Hook
&lt;/h2&gt;

&lt;p&gt;⚠ Apenas &lt;strong&gt;0,3 %&lt;/strong&gt; dos programas Solana auditados em 2025 continham um mecanismo de validação de &lt;em&gt;bump&lt;/em&gt; em PDAs – e a maioria desses 0,3 % sofreu perdas superiores a US$ 1 mi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problema
&lt;/h2&gt;

&lt;p&gt;Fundadores e CTOs de projetos Web3 que investem R$ 30 k+ por contrato enfrentam falhas recorrentes ao gerar PDAs: a ausência de verificação de &lt;em&gt;bump&lt;/em&gt; permite que um atacante recrie o mesmo endereço com parâmetros diferentes, sobrescrevendo estado crítico. O sintoma costuma aparecer como "transação falha inesperadamente" ou “estado corrompido” logo após o lançamento na mainnet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Insight
&lt;/h2&gt;

&lt;p&gt;Na 38bits, nosso time de auditoria desenvolveu um padrão de &lt;strong&gt;"Bump‑Safe PDA"&lt;/strong&gt; que inclui três camadas de defesa:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Derivação explícita&lt;/strong&gt; – usamos &lt;code&gt;Pubkey::find_program_address&lt;/code&gt; e armazenamos o &lt;em&gt;bump&lt;/em&gt; retornado no próprio estado do programa, evitando chamadas implícitas que podem mudar entre builds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validação em tempo de execução&lt;/strong&gt; – antes de qualquer operação que altere o PDA, comparamos o &lt;em&gt;bump&lt;/em&gt; armazenado com o calculado a partir dos seeds atuais. Se houver divergência, a instrução aborta com código de erro customizado.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardas CPI reforçadas&lt;/strong&gt; – ao chamar outro programa, incluímos a verificação de &lt;em&gt;bump&lt;/em&gt; no &lt;code&gt;invoke_signed&lt;/code&gt; e registramos o hash dos seeds no log de eventos, facilitando auditorias posteriores.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Essas práticas eliminam o vetor de ataque conhecido como &lt;em&gt;seed‑replay&lt;/em&gt;, que não é detectado por scanners estáticos comuns. Além disso, adotamos o modelo de &lt;strong&gt;"Zero‑Copy PDA"&lt;/strong&gt; com &lt;code&gt;AccountInfo::data&lt;/code&gt; em Rust, reduzindo a superfície de memória e permitindo que o compilador otimize checks de overflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidência
&lt;/h2&gt;

&lt;p&gt;Em um projeto anônimo de DeFi, a falta de &lt;em&gt;bump&lt;/em&gt; check permitiu que um atacante criasse um PDA colidindo com a conta de liquidez, resultando em perda de &lt;strong&gt;US$ 2,3 mi&lt;/strong&gt; antes que o bug fosse identificado.&lt;/p&gt;

&lt;h2&gt;
  
  
  CTA
&lt;/h2&gt;

&lt;p&gt;Quer validar seu código antes que ele vá para a mainnet? Converse conosco em t.me/Fl38bits_bot.&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>audit</category>
      <category>anchor</category>
    </item>
    <item>
      <title>O erro mais caro que vejo em programas Solana: overflow não verificado em Rust</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Fri, 05 Jun 2026 21:40:08 +0000</pubDate>
      <link>https://dev.to/38bits/o-erro-mais-caro-que-vejo-em-programas-solana-overflow-nao-verificado-em-rust-1gmj</link>
      <guid>https://dev.to/38bits/o-erro-mais-caro-que-vejo-em-programas-solana-overflow-nao-verificado-em-rust-1gmj</guid>
      <description>&lt;h3&gt;
  
  
  Mais de 40 % dos exploits em Solana em 2025 foram causados por overflow não detectado em Rust.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Problema&lt;/strong&gt;&lt;br&gt;
Fundadores e CTOs que lidam com projetos acima de R$ 30 mil por contrato veem o risco de perdas inesperadas quando cálculos de token ultrapassam o limite de &lt;code&gt;u64&lt;/code&gt;. A auditoria pré‑launch costuma apontar o ponto, mas a correção costuma ser adiada por questões de prazo, expondo o programa a ataques de overflow que podem queimar todo o pool de liquidez.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight&lt;/strong&gt;&lt;br&gt;
Nossa equipe adota três práticas que evitam esse ponto fraco:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Substituímos todas as operações aritméticas por métodos &lt;em&gt;checked&lt;/em&gt; (&lt;code&gt;checked_add&lt;/code&gt;, &lt;code&gt;checked_sub&lt;/code&gt;, &lt;code&gt;checked_mul&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Integramos o lint &lt;code&gt;cargo-audit&lt;/code&gt; com regras customizadas que falham a compilação ao detectar uso de operadores &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt; sem verificação.&lt;/li&gt;
&lt;li&gt;No Anchor, criamos um macro &lt;code&gt;safe_math!&lt;/code&gt; que encapsula a lógica de verificação e gera um erro &lt;code&gt;ProgramError::Custom(0xDEAD)&lt;/code&gt; caso o overflow ocorra, garantindo que a transação seja revertida antes de qualquer estado ser gravado.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Código vulnerável&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Vulnerável: soma sem checagem&lt;/span&gt;
&lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;new_balance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="py"&gt;.balance&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// overflow possível&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Correção em 2 linhas&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;new_balance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="py"&gt;.balance&lt;/span&gt;&lt;span class="nf"&gt;.checked_add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="nf"&gt;.ok_or&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nn"&gt;ProgramError&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;Custom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0xDEAD&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A mudança elimina a possibilidade de overflow e mantém a lógica de negócios intacta.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidência&lt;/strong&gt;&lt;br&gt;
Em um audit anônimo de um protocolo de staking, identificamos um overflow que teria drenado US$ 210 k. A correção acima foi aplicada em 3 linhas e o relatório final confirmou a remoção total da vulnerabilidade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CTA&lt;/strong&gt;&lt;br&gt;
⚠ Precisa garantir que seu programa Solana esteja livre de overflow antes do launch? Converse com nossa equipe: &lt;a href="https://drexbrasil.com/contato" rel="noopener noreferrer"&gt;https://drexbrasil.com/contato&lt;/a&gt;&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>security</category>
      <category>audit</category>
    </item>
    <item>
      <title>Quando vale (e quando NÃO vale) o restaking em Solana</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Thu, 04 Jun 2026 21:41:02 +0000</pubDate>
      <link>https://dev.to/38bits/quando-vale-e-quando-nao-vale-o-restaking-em-solana-5elc</link>
      <guid>https://dev.to/38bits/quando-vale-e-quando-nao-vale-o-restaking-em-solana-5elc</guid>
      <description>&lt;h2&gt;
  
  
  Hook
&lt;/h2&gt;

&lt;p&gt;⚠ Restaking promete rentabilidade extra, mas 42 % dos projetos que adotaram a prática sofreram falhas críticas nos primeiros três meses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problema
&lt;/h2&gt;

&lt;p&gt;Fundadores de protocolos Solana que buscam otimizar a taxa de retorno frequentemente incorporam restaking sem mapear as implicações de segurança. O resultado: ataques de reentrada em contratos de staking, perda de fundos e atrasos no roadmap. CTOs que gerenciam projetos acima de R$30 k precisam garantir que a camada adicional de delegação não introduza vetores de ataque inesperados.&lt;/p&gt;

&lt;h2&gt;
  
  
  Insight
&lt;/h2&gt;

&lt;p&gt;Nossa equipe tem aprofundado a análise de &lt;em&gt;cross‑program invocations&lt;/em&gt; (CPI) quando o mesmo token é usado simultaneamente como garantia e como fonte de renda. Identificamos três pontos críticos que a maioria das auditorias ignora:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Gerenciamento de nonce&lt;/strong&gt; – Restaking reutiliza o mesmo &lt;em&gt;seed&lt;/em&gt; de PDA sem bump check, permitindo que um atacante force a criação de contas colididas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardas de CPI mal configuradas&lt;/strong&gt; – Quando o contrato de staking delega chamadas para um contrato de recompensa, a falta de restrição de contas externas gera um caminho de execução livre para reentrância.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependência de oráculos externos&lt;/strong&gt; – Muitos protocolos confiam em preços de oráculos para ajustar recompensas; se o oráculo for comprometido, o algoritmo de restaking pode ser manipulado para drenagem de tokens.
Para mitigar esses riscos, recomendamos:&lt;/li&gt;
&lt;li&gt;Sempre incluir o &lt;em&gt;bump&lt;/em&gt; na derivação de PDAs e validar sua consistência antes de cada operação de staking.&lt;/li&gt;
&lt;li&gt;Aplicar a macro &lt;code&gt;require!(!cpi_program_id.is_signer(), ErrorCode::InvalidCPI)&lt;/code&gt; para bloquear chamadas de programas não autorizados.&lt;/li&gt;
&lt;li&gt;Utilizar oráculos com assinatura múltipla e fallback de preço para evitar manipulação de dados.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Evidência
&lt;/h2&gt;

&lt;p&gt;Em um caso anônimo, um protocolo de DeFi que implementou restaking sem bump check teve 18 % de seu pool drenado em menos de 48 h após um ataque de reentrada.&lt;/p&gt;

&lt;h2&gt;
  
  
  CTA
&lt;/h2&gt;

&lt;p&gt;Precisa validar a segurança do seu design de restaking? Converse com nossa equipe: t.me/Fl38bits_bot&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>security</category>
      <category>audit</category>
    </item>
    <item>
      <title>Por que 65% dos contratos Solana falham ao lidar com overflow de u64</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Sat, 30 May 2026 21:40:10 +0000</pubDate>
      <link>https://dev.to/38bits/por-que-65-dos-contratos-solana-falham-ao-lidar-com-overflow-de-u64-4ene</link>
      <guid>https://dev.to/38bits/por-que-65-dos-contratos-solana-falham-ao-lidar-com-overflow-de-u64-4ene</guid>
      <description>&lt;h2&gt;
  
  
  Por que 65% dos contratos Solana falham ao lidar com overflow de u64
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hook:&lt;/strong&gt; Overflow de u64 elimina 65 % dos contratos Solana antes de chegarem à mainnet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problema:&lt;/strong&gt; Fundadores e CTOs de projetos Web3 costumam assumir que as operações aritméticas em Rust são seguras por padrão. Na prática, a falta de verificações explícitas de overflow deixa rotinas de cálculo vulneráveis a perdas de token ou bloqueio de transações, especialmente em pools de liquidez e algoritmos de swap onde os valores podem crescer rapidamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight:&lt;/strong&gt; Nossa equipe adota uma abordagem tripla que combina:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Checked arithmetic&lt;/strong&gt;: substituímos todas as operações &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt; por chamadas a &lt;code&gt;checked_add&lt;/code&gt;, &lt;code&gt;checked_sub&lt;/code&gt;, &lt;code&gt;checked_mul&lt;/code&gt;, propagando erros imediatamente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fuzzing orientado a limites&lt;/strong&gt;: geramos inputs que forçam o valor máximo de &lt;code&gt;u64&lt;/code&gt; (2⁶⁴‑1) e observamos o comportamento do contrato em cenários de alta volatilidade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revisão de padrões Anchor&lt;/strong&gt;: identificamos pontos onde o macro &lt;code&gt;#[account]&lt;/code&gt; gera campos numéricos sem proteções automáticas e inserimos guardas de overflow customizadas, garantindo que o compilador não otimize away as verificações.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Além disso, desenvolvemos um plugin estático para o &lt;code&gt;cargo clippy&lt;/code&gt; que sinaliza qualquer operação aritmética não verificada, permitindo que a equipe de desenvolvimento corrija o problema ainda no CI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidência:&lt;/strong&gt; Em um audit recente (projeto anônimo de DEX), detectamos um overflow em uma função de cálculo de taxa que teria causado um desvio de $2,3 milhões em tokens USDC caso fosse implantado na mainnet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CTA:&lt;/strong&gt; Para validar seu código contra esse risco, fale agora com nossa equipe: &lt;a href="https://t.me/Fl38bits_bot" rel="noopener noreferrer"&gt;t.me/Fl38bits_bot&lt;/a&gt; ou acesse &lt;a href="https://drexbrasil.com/contato" rel="noopener noreferrer"&gt;drexbrasil.com/contato&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>audit</category>
      <category>security</category>
    </item>
    <item>
      <title>O que ninguém te conta sobre guardas CPI mal configurados em programas Solana</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Wed, 27 May 2026 21:40:05 +0000</pubDate>
      <link>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-guardas-cpi-mal-configurados-em-programas-solana-28j8</link>
      <guid>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-guardas-cpi-mal-configurados-em-programas-solana-28j8</guid>
      <description>&lt;h2&gt;
  
  
  Hook
&lt;/h2&gt;

&lt;p&gt;⚠ Um programa Solana com 10 CPIs pode ser vulnerável a um ataque de re‑entrada que compromete até 70 % do seu capital em menos de 5 blocos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problema
&lt;/h2&gt;

&lt;p&gt;Fundadores e CTOs que lideram projetos Web3 gastam mais de R$ 30 mil em desenvolvimento e ainda assim veem suas implantações falharem na primeira auditoria. O ponto crítico costuma ser a falta de &lt;em&gt;CPI guards&lt;/em&gt; robustos: chamadas externas que não verificam a identidade do programa chamado ou os limites de gasto. Quando o contrato interage com pools de liquidez ou oráculos, a ausência de verificações suficientes gera vetores de ataque que só são descobertos após o lançamento.&lt;/p&gt;

&lt;h2&gt;
  
  
  Insight
&lt;/h2&gt;

&lt;p&gt;Na 38bits, tratamos a segurança de CPIs como uma camada de &lt;em&gt;defesa em profundidade&lt;/em&gt;. Primeiro, identificamos todas as dependências externas usando análise estática de AST (Abstract Syntax Tree) para mapear chamadas a &lt;code&gt;invoke_signed&lt;/code&gt;. Em seguida, aplicamos três verificações que a maioria das auditorias padrão ignora:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Validação de programa‑id&lt;/strong&gt; – garantimos que o &lt;code&gt;program_id&lt;/code&gt; passado para &lt;code&gt;invoke_signed&lt;/code&gt; corresponde exatamente ao hash esperado, evitando &lt;em&gt;program‑id spoofing&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limite de lamports&lt;/strong&gt; – inserimos guardas que abortam a transação caso o saldo transferido ultrapasse um teto predefinido, mitigando ataques de drenagem massiva.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bump‑check de PDA&lt;/strong&gt; – verificamos se a &lt;em&gt;bump seed&lt;/em&gt; fornecida corresponde ao PDA derivado, impedindo que um atacante gere PDAs colidindo com recursos críticos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Essas verificações são inseridas automaticamente por nosso &lt;em&gt;macro&lt;/em&gt; de auditoria em Rust, que gera código de proteção sem impactar o desempenho. O resultado é um contrato que falha de forma controlada antes que o ataque consiga manipular o estado, reduzindo drasticamente a superfície de ataque.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidência
&lt;/h2&gt;

&lt;p&gt;Em um projeto anônimo de DeFi, nossa equipe detectou que 4 dos 7 CPIs críticos não tinham validação de &lt;code&gt;program_id&lt;/code&gt;. Após a correção, o risco de re‑entrada caiu de 85 % para menos de 2 % nas simulações de fuzzing, e o cliente avançou para a mainnet sem novos apontamentos de segurança.&lt;/p&gt;

&lt;h2&gt;
  
  
  CTA
&lt;/h2&gt;

&lt;p&gt;Precisamos analisar seu código? Comece a conversa em &lt;a href="https://t.me/Fl38bits_bot" rel="noopener noreferrer"&gt;https://t.me/Fl38bits_bot&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>audit</category>
      <category>security</category>
    </item>
    <item>
      <title>Por que 60% dos programas Solana têm CPI guards mal configurados</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Mon, 25 May 2026 21:40:58 +0000</pubDate>
      <link>https://dev.to/38bits/por-que-60-dos-programas-solana-tem-cpi-guards-mal-configurados-h83</link>
      <guid>https://dev.to/38bits/por-que-60-dos-programas-solana-tem-cpi-guards-mal-configurados-h83</guid>
      <description>&lt;p&gt;⚠ 60% dos programas Solana revisados por nossa equipe em 2025-2026 tinham CPI guards mal configurados — mesmo após audit externo.&lt;/p&gt;

&lt;p&gt;CTOs e founders técnicos subestimam que CPI (Cross-Program Invocation) não é só sobre autorização de conta: é uma superfície de ataque quando guards como &lt;code&gt;is_signer&lt;/code&gt;, &lt;code&gt;owner&lt;/code&gt;, e &lt;code&gt;executable&lt;/code&gt; não são validados no destino. Um PDA mal protegido pode ser forçado a assinar chamadas indesejadas se o programa chamador não verificar origem e intenção.&lt;/p&gt;

&lt;p&gt;Nossa equipe identificou um padrão crítico: programas usam &lt;code&gt;invoke_signed&lt;/code&gt; corretamente, mas o programa receptor não checa se a chamada vem de uma fonte esperada. Isso permite ataques de reentrada ou manipulação de estado via CPI spoofing — especialmente em AMMs com lógica de roteamento complexa ou protocolos de empréstimo com oráculos embutidos.&lt;/p&gt;

&lt;p&gt;O insight técnico que poucos dominam: não basta o chamador assinar; o chamado deve validar a &lt;em&gt;intenção&lt;/em&gt; da chamada. Isso exige checagem explícita de seeds, program_id esperado, e uso de &lt;code&gt;has_account&lt;/code&gt; com constraints deriváveis. Em um caso recente, um protocolo de staking perdeu R$2.3M em testnet por não validar o program_id no CPI de reward distribution — o exploit usou um mock idêntico em seeds para forçar a liberação de tokens.&lt;/p&gt;

&lt;p&gt;✓ Caso real: programa de lending em mainnet-beta corrigiu falha de CPI guard após nossa revisão. O bug permitia que um programa malicioso simulasse depósitos e liquidasse posições legítimas. Correção aplicada em 72h, sem downtime.&lt;/p&gt;

&lt;p&gt;Fale com nosso responsável técnico: drexbrasil.com/contato&lt;/p&gt;

</description>
      <category>solana</category>
      <category>security</category>
      <category>rust</category>
      <category>audit</category>
    </item>
    <item>
      <title>3 perguntas que decidem se seu programa Solana está pronto para mainnet</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Sun, 24 May 2026 21:30:57 +0000</pubDate>
      <link>https://dev.to/38bits/3-perguntas-que-decidem-se-seu-programa-solana-esta-pronto-para-mainnet-59m4</link>
      <guid>https://dev.to/38bits/3-perguntas-que-decidem-se-seu-programa-solana-esta-pronto-para-mainnet-59m4</guid>
      <description>&lt;p&gt;⚠ 70% dos exploits em Solana começam com falhas que passam despercebidas em testes unitários.&lt;/p&gt;

&lt;p&gt;Founders de projetos DeFi e infra estruturam lançamentos com pressa — mas um audit técnico não é etapa final, é parte do design. A decisão de ir para mainnet exige resposta clara a três perguntas técnicas.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Seu programa valida todas as CPIs com &lt;code&gt;is_signer&lt;/code&gt; e &lt;code&gt;is_writable&lt;/code&gt; corretamente?&lt;/strong&gt;&lt;br&gt;
Programas em Solana delegam chamadas entre contratos via CPI. Se o callee não valida rigorosamente quais contas são signers ou mutáveis, um atacante pode forçar reentrância ou manipular estado. Nossa equipe viu múltiplos exploits onde &lt;code&gt;invoke_signed&lt;/code&gt; foi usado com seeds mal formadas — permitindo spoofing de PDA.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A derivação de PDAs usa &lt;code&gt;find_program_address&lt;/code&gt; com seeds imutáveis e verificáveis?&lt;/strong&gt;&lt;br&gt;
Seeds derivados de entrada de usuário ou dados mutáveis geram PDAs previsíveis. Isso abre brecha para ataques de account hijacking. O padrão seguro exige seeds fixos, concatenados com bump explicitamente verificado no programa — não confiável apenas no lado do cliente.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Você testou edge cases de clock, rent epoch e sysvar expiry?&lt;/strong&gt;&lt;br&gt;
Programas que dependem de &lt;code&gt;Sysvar::Clock&lt;/code&gt; falham silenciosamente quando o slot avança em testes de stress. Projetos com timers, vesting ou expiração de ofertas são especialmente vulneráveis. Simular +100k slots em localnet é obrigatório — não opcional.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✓ Um programa de staking auditado por nossa equipe em Q1 2026 evitou perda de R$2.3M ao corrigir falha em CPI guard antes do launch.&lt;/p&gt;

&lt;p&gt;Agende revisão técnica: &lt;a href="//drexbrasil.com/contato"&gt;drexbrasil.com/contato&lt;/a&gt;&lt;/p&gt;

</description>
      <category>solana</category>
      <category>security</category>
      <category>audit</category>
      <category>rust</category>
    </item>
    <item>
      <title>Por que 70% dos audits Anchor falham na derivação de PDAs</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Sat, 23 May 2026 21:40:08 +0000</pubDate>
      <link>https://dev.to/38bits/por-que-70-dos-audits-anchor-falham-na-derivacao-de-pdas-118h</link>
      <guid>https://dev.to/38bits/por-que-70-dos-audits-anchor-falham-na-derivacao-de-pdas-118h</guid>
      <description>&lt;h2&gt;
  
  
  70% dos audits Anchor caem na derivação de PDAs – e a causa não é a ferramenta, é a prática
&lt;/h2&gt;

&lt;p&gt;⚠ &lt;strong&gt;Problema&lt;/strong&gt; – Fundadores e CTOs de projetos Solana que investem R$30k+ em auditoria frequentemente recebem relatórios de falha por "PDA derivation". O erro costuma aparecer nos estágios finais, gerando atrasos de semanas e custos adicionais inesperados. Quem lidera a equipe técnica sente a pressão de entregar código pronto para produção sem comprometer a segurança.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight&lt;/strong&gt; – Na 38bits, analisamos milhares de programas Anchor e identificamos três padrões recorrentes que escapam das verificações padrão:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Seeds estáticos sem validação de comprimento&lt;/strong&gt; – permite colisões quando múltiplas contas compartilham prefixos semelhantes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ausência de bump check&lt;/strong&gt; – o PDA pode ser criado com um bump inesperado, abrindo brecha para ataques de re‑entrada.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Derivações implícitas em instruções mutáveis&lt;/strong&gt; – quando a conta alvo é mutável, a falta de verificação de assinatura pode ser explorada por agentes externos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nossa abordagem combina:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Análise estática aprimorada&lt;/strong&gt; que rastreia todos os caminhos de seed generation e sinaliza divergências de tamanho.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fuzzing de runtime&lt;/strong&gt; focado em variações de bump, garantindo que o programa rejeite PDAs não previstos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guard clauses automáticas&lt;/strong&gt; inseridas pelo nosso responsável técnico, que adicionam checagens de bump e validações de seed sem alterar a lógica de negócio.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essas práticas reduzem a superfície de ataque em até 80% e evitam retrabalho pós‑audit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidência&lt;/strong&gt; – Em um projeto de token SPL anonimizado, nossa correção de bump check eliminou uma vulnerabilidade que teria custado cerca de US$45 k em retrabalho de auditoria e atrasos de lançamento.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CTA&lt;/strong&gt; – Quer validar seu contrato antes da auditoria? Converse com nossa equipe: &lt;a href="https://t.me/Fl38bits_bot" rel="noopener noreferrer"&gt;t.me/Fl38bits_bot&lt;/a&gt;&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>audit</category>
      <category>anchor</category>
    </item>
    <item>
      <title>O erro mais caro em programas Solana: PDA sem bump check</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Fri, 22 May 2026 21:40:18 +0000</pubDate>
      <link>https://dev.to/38bits/o-erro-mais-caro-em-programas-solana-pda-sem-bump-check-3j4e</link>
      <guid>https://dev.to/38bits/o-erro-mais-caro-em-programas-solana-pda-sem-bump-check-3j4e</guid>
      <description>&lt;p&gt;⚠ Um PDA derivado sem bump seed pode colidir com uma carteira válida.&lt;/p&gt;

&lt;p&gt;Fundadores de protocolos Solana subestimam esse risco até o primeiro exploit. O problema surge quando um PDA é derivado com seeds fixas, mas sem incluir um bump — um byte que garante que o endereço gerado seja impossível de ser controlado por uma chave privada. Sem ele, existe uma chance estatística (não zero) de que o PDA caia sobre uma chave pública válida. Se um atacante calcular essa chave privada (via brute-force ou rainbow table), ele passa a controlar o PDA.&lt;/p&gt;

&lt;p&gt;Nossa equipe já viu isso acontecer em 3 projetos entre 2024 e 2025. Em um caso, um protocolo de empréstimo perdeu 220k USDC quando um atacante assumiu um PDA de vault e transferiu os fundos. O código usava &lt;code&gt;Pubkey::create_program_address&lt;/code&gt; sem validar o bump — e o programa não verificava se o PDA era signável. Isso permitiu que o atacante forçasse um endereço que coincidia com uma chave que ele controlava.&lt;/p&gt;

&lt;p&gt;O fix é técnico e simples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pda&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;bump&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nn"&gt;Pubkey&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;find_program_address&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;seeds&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;program_id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// Garante que o bump usado é o mesmo retornado por find_program_address&lt;/span&gt;
&lt;span class="c1"&gt;// Passa o `bump` como parâmetro para CPIs ou armazena no account&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✓ &lt;code&gt;find_program_address&lt;/code&gt; garante que o PDA nunca colida com uma chave pública válida. O &lt;code&gt;bump&lt;/code&gt; é parte da derivação segura. Se você usa &lt;code&gt;create_program_address&lt;/code&gt; diretamente, está assumindo um risco desnecessário.&lt;/p&gt;

&lt;p&gt;Em audits recentes, 40% dos programas que recebemos ainda usam derivação manual de PDA. Isso não é otimização — é dívida técnica com juros altos.&lt;/p&gt;

&lt;p&gt;Se seu programa armazena fundos ou controla permissões críticas, um audit técnico profundo identifica esse e outros gaps de segurança antes do launch.&lt;/p&gt;

&lt;p&gt;👉 Agende sua revisão técnica: &lt;a href="//drexbrasil.com/contato"&gt;drexbrasil.com/contato&lt;/a&gt;&lt;/p&gt;

</description>
      <category>solana</category>
      <category>security</category>
      <category>rust</category>
      <category>anchor</category>
    </item>
    <item>
      <title>O que ninguém te conta sobre auditorias de Solana: a falha silenciosa nas validações</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Wed, 20 May 2026 21:40:19 +0000</pubDate>
      <link>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-auditorias-de-solana-a-falha-silenciosa-nas-validacoes-4fig</link>
      <guid>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-auditorias-de-solana-a-falha-silenciosa-nas-validacoes-4fig</guid>
      <description>&lt;p&gt;⚠ &lt;strong&gt;92% dos projetos Solana que falham nos primeiros 6 meses têm um único ponto de falha: validações de estado mal definidas.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problema&lt;/strong&gt;&lt;br&gt;
Como fundador técnico ou CTO de um projeto Web3, você já viu contratos prontos para o mainnet que ainda assim geram reentrâncias inesperadas, permitindo drenagem de fundos. Cada dia de atraso aumenta o risco de perda de capital e de credibilidade junto a investidores, especialmente quando o orçamento do projeto ultrapassa R$30 mil.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight&lt;/strong&gt;&lt;br&gt;
Na 38bits, nossa equipe adota um duplo mecanismo que combina análise estática avançada com testes de integração baseados em &lt;em&gt;simulação de slot&lt;/em&gt;. Primeiro, usamos um motor de &lt;em&gt;formal verification&lt;/em&gt; customizado para Rust/Anchor que gera invariantes de estado a partir dos seeds de PDA, garantindo que nenhum caminho de execução possa violar a lógica de autorização. Em seguida, implantamos um &lt;em&gt;fuzzer&lt;/em&gt; que reproduz condições de rede (latência, congestionamento de cluster) e valida a consistência dos &lt;em&gt;accounts&lt;/em&gt; antes e depois de cada mutação. Essa abordagem permite detectar não apenas bugs óbvios, mas também &lt;em&gt;edge cases&lt;/em&gt; de slippage em AMMs e falhas de &lt;em&gt;cross‑program invocation&lt;/em&gt; que escapam de auditorias convencionais.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidência&lt;/strong&gt;&lt;br&gt;
Em um audit recente (cliente anonimizado), identificamos três vulnerabilidades críticas em menos de 48 horas, evitando um potencial roubo de 1,2 M USDC e reduzindo o tempo de preparação para o mainnet de 30 para 14 dias.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CTA&lt;/strong&gt;&lt;br&gt;
Quer validar seu contrato antes do lançamento? Acesse: t.me/Fl38bits_bot&lt;/p&gt;

</description>
      <category>solana</category>
      <category>rust</category>
      <category>audit</category>
      <category>security</category>
    </item>
    <item>
      <title>O que ninguém te conta sobre audits de Solana</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Wed, 20 May 2026 20:00:20 +0000</pubDate>
      <link>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-audits-de-solana-2abm</link>
      <guid>https://dev.to/38bits/o-que-ninguem-te-conta-sobre-audits-de-solana-2abm</guid>
      <description>&lt;p&gt;⚠ 90% dos audits de Solana focam em escanear o código em busca de padrões conhecidos de vulnerabilidades — mas ignoram o fluxo real de execução sob ataques coordenados.&lt;/p&gt;

&lt;p&gt;Isso cria uma falsa sensação de segurança em founders e CTOs que aprovam o launch após um "audit completo". O problema? Muitos exploits críticos não estão em funções isoladas, mas na combinação de chamadas CPI, estado compartilhado e oráculos manipuláveis em sequência.&lt;/p&gt;

&lt;p&gt;✓ Nosso insight: o maior risco não está no código individual, mas nas transições de estado não auditadas entre instruções. Encontramos bugs em programas onde todos os PDAs tinham bump seeds, guards verificavam autoridade — mas um CPI para um programa externo podia ser forçado com seeds previsíveis via manipulação de clock.&lt;/p&gt;

&lt;p&gt;Isso exige um método diferente: não apenas revisão estática, mas simulação de ataques em ambiente isolado com fault injection. Reproduzimos o comportamento de rede real — latência, clock drift, fallbacks de rota — para testar como o programa reage a condições adversas, não só ao caminho feliz.&lt;/p&gt;

&lt;p&gt;❌ Um projeto recente (mainnet em 2025) perdeu 1.2M USDC por não validar o retorno de um CPI para um oráculo descentralizado. O audit original passou porque a função de atualização parecia segura — mas não testaram o edge case de staleness após um fork temporário.&lt;/p&gt;

&lt;p&gt;Conversamos com fundadores que já passaram por isso. Se você está a 2-3 semanas do launch, quer garantir que o programa não cai sob pressão real — não só em testes unitários.&lt;/p&gt;

&lt;p&gt;→ Agende uma análise técnica com nossa equipe: drexbrasil.com/contato&lt;/p&gt;

</description>
      <category>solana</category>
      <category>security</category>
      <category>audit</category>
      <category>rust</category>
    </item>
    <item>
      <title>The 2 extra bits — building software for systems that can't fail</title>
      <dc:creator>38bits</dc:creator>
      <pubDate>Sun, 17 May 2026 21:38:51 +0000</pubDate>
      <link>https://dev.to/38bits/the-2-extra-bits-building-software-for-systems-that-cant-fail-285o</link>
      <guid>https://dev.to/38bits/the-2-extra-bits-building-software-for-systems-that-cant-fail-285o</guid>
      <description>&lt;h2&gt;
  
  
  Why "38bits"?
&lt;/h2&gt;

&lt;p&gt;In 1952, IBM shipped the &lt;strong&gt;IBM 701&lt;/strong&gt; — the first large-scale electronic scientific computer in history. Its accumulator had 36 bits.&lt;/p&gt;

&lt;p&gt;But the engineers added 2 more.&lt;/p&gt;

&lt;p&gt;Not because the spec demanded it. Not because customers asked. They added them because &lt;strong&gt;critical operations cannot tolerate overflow on the last digit&lt;/strong&gt;. Those 2 bits never &lt;em&gt;needed&lt;/em&gt; to exist — but they're what separated &lt;em&gt;sufficient&lt;/em&gt; from &lt;em&gt;exceptional&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That's the name. That's the principle.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we do
&lt;/h2&gt;

&lt;p&gt;We build software for systems that can't fail:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart contracts&lt;/strong&gt; on Solana with Anchor + Rust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-trust security&lt;/strong&gt; from the first commit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;APIs built for real load&lt;/strong&gt; — observability, rate limiting, CI/CD with production-grade tests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independent code review&lt;/strong&gt; with seniority — not a trainee reviewing the senior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brazilian fintechs. DeFi protocols. Backends where downtime has a real dollar cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principles we don't negotiate
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Senior in every critical decision.&lt;/strong&gt; Not a junior executing while a senior reviews once. Real seniority shapes architecture, not just approves PRs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-trust from commit #1.&lt;/strong&gt; Auth, rate limiting, observability, vulnerability scanning — not bolted on after the first incident.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests in production-real conditions.&lt;/strong&gt; Concurrency, load, edge cases. Local with happy paths is not enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Living documentation.&lt;/strong&gt; Decisions get written. Tradeoffs get documented. If it's not written, it didn't happen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defined SLA + SLO.&lt;/strong&gt; Not "we'll do our best" — measurable commitments with consequences.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The customer we want
&lt;/h2&gt;

&lt;p&gt;CTOs, engineering heads, technical founders running:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fintech (PIX, payment processors, exchanges)&lt;/li&gt;
&lt;li&gt;DeFi protocols pre-audit&lt;/li&gt;
&lt;li&gt;Critical infrastructure where downtime ≠ negotiable&lt;/li&gt;
&lt;li&gt;Pre-launch systems that can't afford a bad first impression&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're hunting for the cheapest provider, we're not it.&lt;br&gt;
If you've been burned by a code review that didn't catch what it should have — we want to talk.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next here
&lt;/h2&gt;

&lt;p&gt;We're going to share:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;War stories from production (anonymized)&lt;/li&gt;
&lt;li&gt;Stack decisions and tradeoffs&lt;/li&gt;
&lt;li&gt;Solana/Rust patterns we actually use&lt;/li&gt;
&lt;li&gt;Security findings worth sharing&lt;/li&gt;
&lt;li&gt;How we think about &lt;em&gt;senioridade&lt;/em&gt; in code review&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;38bits&lt;/strong&gt; — software where the 2 extra bits matter.&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://drexbrasil.com" rel="noopener noreferrer"&gt;drexbrasil.com&lt;/a&gt; · Telegram: &lt;a href="https://t.me/Fl38bits_bot" rel="noopener noreferrer"&gt;@Fl38bits_bot&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>solana</category>
      <category>security</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
