<?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: Alvaro Paçó</title>
    <description>The latest articles on DEV Community by Alvaro Paçó (@alvaropaco).</description>
    <link>https://dev.to/alvaropaco</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%2F1076120%2Fb847b496-c26b-4897-bb63-e199214f56f3.jpeg</url>
      <title>DEV Community: Alvaro Paçó</title>
      <link>https://dev.to/alvaropaco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alvaropaco"/>
    <language>en</language>
    <item>
      <title>Crypto Project Hidden Trojan</title>
      <dc:creator>Alvaro Paçó</dc:creator>
      <pubDate>Tue, 22 Apr 2025 15:25:38 +0000</pubDate>
      <link>https://dev.to/alvaropaco/crypto-project-hidden-trojan-29d0</link>
      <guid>https://dev.to/alvaropaco/crypto-project-hidden-trojan-29d0</guid>
      <description>&lt;p&gt;Running a piece of code should feel safe—but what if that code hides a secret backdoor? Recently, we audited a JavaScript/TypeScript Node.js codebase and uncovered a cleverly disguised trojan. Here’s a plain‑language breakdown of what we found and how you can protect your own projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. How We got Suspicious
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;We spotted odd dependencies&lt;/strong&gt; in the &lt;code&gt;package.json&lt;/code&gt; file: tiny, pointless packages like &lt;code&gt;execp&lt;/code&gt;, &lt;code&gt;winson&lt;/code&gt;, and even fake core modules named &lt;code&gt;fs&lt;/code&gt;, &lt;code&gt;http&lt;/code&gt;, and &lt;code&gt;path&lt;/code&gt;. Attackers often use these “typosquat” modules to slip malware into your project.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A particular file stood out:&lt;/strong&gt; &lt;code&gt;routes/web.js&lt;/code&gt; contained unreadable, obfuscated code—an immediate red flag.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Key Findings Explained
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Obfuscated Code = Hidden Intent
&lt;/h3&gt;

&lt;p&gt;Inside &lt;code&gt;routes/web.js&lt;/code&gt;, most strings and module names were scrambled with Base64 and hexadecimal. Only at runtime does the code decode itself to reveal real instructions. This is like hiding a secret message in invisible ink.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stealthy System Inspection
&lt;/h3&gt;

&lt;p&gt;Once decoded, the script quietly gathers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your operating system details&lt;/li&gt;
&lt;li&gt;Your username and home-folder path
With this information, attackers can fingerprint your machine and decide whether it’s worth compromising further.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Contacting a Remote Server
&lt;/h3&gt;

&lt;p&gt;The backdoor builds a hidden URL (e.g., &lt;code&gt;http://&amp;lt;attacker-ip&amp;gt;:1244&lt;/code&gt;) and sends out system info. It then waits for instructions—classic &lt;strong&gt;Command‑and‑Control&lt;/strong&gt; behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  Download &amp;amp; Execute
&lt;/h3&gt;

&lt;p&gt;Based on those instructions, it downloads a secondary payload to your disk and executes it via &lt;code&gt;child_process.exec&lt;/code&gt;. This is how it can install additional malware, steal files, or take over your computer—completely behind your back.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Why This Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No user prompt&lt;/strong&gt;: Simply launching the app triggers the backdoor.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full access&lt;/strong&gt;: It runs with the same permissions as your Node process, so it can read/write any file you could.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credential theft risk&lt;/strong&gt;: If you store API keys, database credentials, or crypto wallets in your project, a backdoor like this can steal them in seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Protecting Your Projects
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Vet your dependencies.&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avoid obscure or typo‑squat packages.
&lt;/li&gt;
&lt;li&gt;Use tools like &lt;code&gt;npm audit&lt;/code&gt; or third‑party scanners to flag low‑quality or newly published modules.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Read new code carefully.&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be wary of any file with heavy obfuscation or unusual import patterns.
&lt;/li&gt;
&lt;li&gt;Search for dynamic &lt;code&gt;require()&lt;/code&gt; calls or hidden Base64 strings.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lock down your environment.&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run new or untrusted code in isolated containers or VMs.
&lt;/li&gt;
&lt;li&gt;Never run random test projects on your main development machine.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monitor network activity.&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a process monitor or firewall rules to catch unexpected outbound requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  5. Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Malicious code is growing more sophisticated—and it often arrives disguised as a “helpful” project or test assignment. By staying vigilant, validating every dependency, and isolating untrusted code, you can keep your development environment—and your secrets—safe.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>cryptocurrency</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Introducing HTTP/3: The Future of Internet Protocols</title>
      <dc:creator>Alvaro Paçó</dc:creator>
      <pubDate>Mon, 08 May 2023 16:48:19 +0000</pubDate>
      <link>https://dev.to/alvaropaco/introducing-http3-the-future-of-internet-protocols-13ma</link>
      <guid>https://dev.to/alvaropaco/introducing-http3-the-future-of-internet-protocols-13ma</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ekYY00HC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdy98hmjzpglu6qh7eij.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ekYY00HC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdy98hmjzpglu6qh7eij.jpeg" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The internet has come a long way since the early days of dial-up connections and slow-loading web pages. Today, we take for granted the lightning-fast speeds and seamless connectivity that allow us to browse, stream, and communicate in real-time. However, as technology evolves, so too must the underlying protocols that power our online experiences. That's where HTTP/3 comes in.&lt;/p&gt;

&lt;p&gt;HTTP/3 is the latest iteration of the Hypertext Transfer Protocol, the foundation of the World Wide Web. Developed by the Internet Engineering Task Force (IETF), HTTP/3 represents a significant departure from its predecessor, HTTP/2, by replacing the Transmission Control Protocol (TCP) with a new transport protocol called Quick UDP Internet Connections, or QUIC.&lt;/p&gt;

&lt;p&gt;QUIC is a variation of the User Datagram Protocol (UDP) that offers several key advantages over TCP. For one, it incorporates Transport Layer Security (TLS) 1.3 by default, which provides built-in encryption and improves connection establishment time by eliminating the need for a separate TLS handshake. This reduces latency and enhances security, which is especially important in today's world of ubiquitous data breaches and cyberattacks.&lt;/p&gt;

&lt;p&gt;Another major benefit of QUIC is its ability to handle packet loss at the individual stream level, rather than blocking the entire connection like TCP. This reduces head-of-line blocking, which occurs when packets are delayed or lost, leading to slower data transfer and increased latency. With QUIC, a lost packet on one stream does not affect other streams, resulting in faster and more reliable connections.&lt;/p&gt;

&lt;p&gt;QUIC also supports connection migration, which means that clients can change IP addresses without losing connectivity or incurring additional latency. This is particularly useful for mobile and cellular networks, where connections can be spotty and unstable.&lt;/p&gt;

&lt;p&gt;Perhaps most impressive of all, QUIC enables 0-RTT (zero round trip time) connection establishment in certain situations. This means that if you're connecting to a server that you've visited before, your browser can establish a connection without any delay, resulting in significantly reduced latency and faster page loads.&lt;/p&gt;

&lt;p&gt;Of course, all of these benefits are only possible if HTTP/3 and QUIC are widely adopted by browsers and internet providers. Unfortunately, this is easier said than done. Many large networks do not support UDP at all, and implementing a new protocol on top of UDP can be challenging. There are also compatibility issues to consider, as older hardware and software may not be able to handle the new protocol.&lt;/p&gt;

&lt;p&gt;Despite these challenges, HTTP/3 and QUIC represent an exciting step forward for internet protocols. By incorporating the latest encryption, congestion control, and connection management technologies, they offer the potential for faster, more secure, and more reliable online experiences. As more and more providers and networks adopt these new standards, we can look forward to a faster, safer, and more connected future for the internet.&lt;/p&gt;

</description>
      <category>http3</category>
      <category>http</category>
      <category>network</category>
      <category>internet</category>
    </item>
    <item>
      <title>Protect your patrimony with Btc. Avoid gold!</title>
      <dc:creator>Alvaro Paçó</dc:creator>
      <pubDate>Wed, 03 May 2023 14:17:11 +0000</pubDate>
      <link>https://dev.to/alvaropaco/protect-your-patrimony-with-btc-avoid-gold-3fa2</link>
      <guid>https://dev.to/alvaropaco/protect-your-patrimony-with-btc-avoid-gold-3fa2</guid>
      <description>&lt;p&gt;While I appreciate the numerous advantages that cryptocurrency offers, I am hesitant to fully embrace the idea that protecting one's patrimony with BTC is superior to using gold. There are several factors to consider when it comes to choosing a reliable asset for wealth preservation.&lt;/p&gt;

&lt;p&gt;First and foremost, gold has been known for its value and durability for thousands of years. It has stood the test of time and proved to be a reliable store of value in times of economic turbulence. On the contrary, the history of Bitcoin and other cryptocurrencies is relatively short, and it remains to be seen how well they will hold up over the long term.&lt;/p&gt;

&lt;p&gt;Second, gold is a tangible asset that you can physically hold and possess. While BTC is a digital currency, it relies on complex technology that is highly vulnerable to hacking, loss, and theft. While innovative solutions have been proposed to address these issues, the risk remains significant.&lt;/p&gt;

&lt;p&gt;Lastly, gold is widely accepted and recognized as a form of currency across the world. While the adoption of BTC is increasing, it still faces significant resistance and regulatory complexities in many countries.&lt;/p&gt;

&lt;p&gt;In the past, governments have confiscated gold holdings from their citizens to address economic crises or fund wars. For example, in the United States in 1933, President Roosevelt signed Executive Order 6102, which required citizens to turn in their gold holdings to the government in exchange for paper money.&lt;/p&gt;

&lt;p&gt;While it is unlikely that a similar situation will happen again, it is not impossible. Governments have the power to seize assets in the name of national security, and gold holdings may be a target if the government deems it necessary.&lt;/p&gt;

&lt;p&gt;On the other hand, Bitcoin is a decentralized digital currency that is not subject to government control. Bitcoin operates on a decentralized network, which means that it is not controlled by a central authority like a government or bank. The transactions are recorded on a public ledger called the blockchain, and each transaction is verified by a network of computers called nodes.&lt;/p&gt;

&lt;p&gt;Bitcoin is designed to be a deflationary currency, meaning that there is a limited supply of coins. Unlike gold, which can be mined indefinitely, Bitcoin has a maximum supply of 21 million coins, which is expected to be reached in the year 2140. This limited supply makes Bitcoin a scarce asset, which can increase its value over time.&lt;/p&gt;

&lt;p&gt;In addition to its scarcity, Bitcoin offers other advantages over physical gold. It is easy to transport and store, as it can be stored on a hardware wallet or even in your memory. It is also easy to divide and use for small transactions, which makes it a more practical currency for daily use than gold.&lt;/p&gt;

&lt;p&gt;In conclusion, while the possibility of government confiscation of physical gold holdings may be remote, it is not impossible. Bitcoin, on the other hand, offers many advantages over gold as a financial reserve, including its decentralized nature, scarcity, ease of transport and storage, and practicality for daily use. As always, it's important to conduct your own research and make an informed decision before making any financial investments.&lt;/p&gt;

</description>
      <category>btc</category>
      <category>crypto</category>
      <category>gold</category>
    </item>
  </channel>
</rss>
