<?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: Haris Peter</title>
    <description>The latest articles on DEV Community by Haris Peter (@harispeter13).</description>
    <link>https://dev.to/harispeter13</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%2F1067915%2Ff6fd9aff-7fc2-45a0-980b-f148427e8dc8.jpg</url>
      <title>DEV Community: Haris Peter</title>
      <link>https://dev.to/harispeter13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harispeter13"/>
    <language>en</language>
    <item>
      <title>Discovering Hidden Easter Eggs in Linux Package Managers 🐧🥚</title>
      <dc:creator>Haris Peter</dc:creator>
      <pubDate>Thu, 12 Mar 2026 14:42:11 +0000</pubDate>
      <link>https://dev.to/harispeter13/discovering-hidden-easter-eggs-in-linux-package-managers-41di</link>
      <guid>https://dev.to/harispeter13/discovering-hidden-easter-eggs-in-linux-package-managers-41di</guid>
      <description>&lt;p&gt;As developers, we often interact with package managers daily—installing libraries, updating systems, and managing dependencies. But sometimes, hidden surprises are tucked away inside these tools. Recently, I discovered something fun while working in the terminal: &lt;strong&gt;Easter eggs inside Linux package tools and &lt;code&gt;sudo&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This was my first time encountering them, and it reminded me that even serious system tools have a playful side.&lt;/p&gt;




&lt;h2&gt;
  
  
  🐄 The &lt;code&gt;apt moo&lt;/code&gt; Easter Egg
&lt;/h2&gt;

&lt;p&gt;While experimenting with &lt;code&gt;apt&lt;/code&gt;, I tried the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt moo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of an error, the terminal printed a small ASCII cow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(__)
(oo)
/------\/
/ |    ||
*  /\---/\
   ~~   ~~
..."Have you mooed today?"...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a classic hidden feature inside the &lt;strong&gt;APT package manager&lt;/strong&gt; used in Debian-based distributions like Ubuntu.&lt;/p&gt;

&lt;p&gt;It doesn’t do anything useful—it's purely for fun. The developers added it as a lighthearted Easter egg. The command literally makes APT "moo".&lt;/p&gt;

&lt;p&gt;It’s a small reminder that even the most serious software projects have developers who enjoy adding personality to their work.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 The &lt;code&gt;sudo&lt;/code&gt; Hidden Message
&lt;/h2&gt;

&lt;p&gt;I also discovered another interesting Easter egg inside &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If you enter the wrong password &lt;strong&gt;three times&lt;/strong&gt;, &lt;code&gt;sudo&lt;/code&gt; sometimes prints a reference to the movie &lt;em&gt;2001: A Space Odyssey&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;There’s a lot of it about, you know.
This mission is too important for me to allow you to jeopardize it.
sudo: 3 incorrect password attempts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a famous line inspired by &lt;strong&gt;HAL 9000&lt;/strong&gt;, the AI from the movie.&lt;/p&gt;

&lt;p&gt;The idea is humorous: the system acts like an AI refusing to give you access because you might “jeopardize the mission”.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why Developers Add Easter Eggs
&lt;/h2&gt;

&lt;p&gt;Easter eggs are hidden messages, jokes, or features that developers place inside software. They serve a few purposes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Celebrate developer culture&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reward curious users&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add personality to tools&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create memorable experiences&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In open-source communities especially, these little details reflect the creativity and humor of contributors.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 My Takeaway
&lt;/h2&gt;

&lt;p&gt;Discovering this was surprisingly exciting. As developers, we usually treat system tools as purely functional, but moments like this remind us that &lt;strong&gt;software is created by humans with humor and creativity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It also reinforces an important habit for developers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Stay curious. Sometimes the best discoveries come from experimenting in the terminal.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧪 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;If you're using Ubuntu or another Debian-based Linux distribution, open your terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt moo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then intentionally enter a wrong password with &lt;code&gt;sudo&lt;/code&gt; a few times and see what happens.&lt;/p&gt;

&lt;p&gt;Just make sure you eventually type the correct password 😄&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Little Easter eggs like these make the developer experience more enjoyable. Whether it's ASCII cows in package managers or movie references in system utilities, they add character to the tools we use every day.&lt;/p&gt;

&lt;p&gt;And who knows? The next time you're exploring a command-line tool, you might stumble upon another hidden surprise.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have you discovered any fun Linux Easter eggs? Let me know — I’d love to explore more of them.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>cli</category>
    </item>
    <item>
      <title>Developers Beware: This Fake LinkedIn Interview Campaign is Targeting YOU (And Your SSH Keys)</title>
      <dc:creator>Haris Peter</dc:creator>
      <pubDate>Wed, 11 Mar 2026 13:03:32 +0000</pubDate>
      <link>https://dev.to/harispeter13/developers-beware-this-fake-linkedin-interview-campaign-is-targeting-you-and-your-ssh-keys-5545</link>
      <guid>https://dev.to/harispeter13/developers-beware-this-fake-linkedin-interview-campaign-is-targeting-you-and-your-ssh-keys-5545</guid>
      <description>&lt;p&gt;If you are a backend developer, DevOps engineer, or work in the Web3/Crypto space, you need to read this immediately.&lt;/p&gt;

&lt;p&gt;There is a sophisticated, ongoing cyberattack campaign targeting developers on LinkedIn. The attackers pose as enthusiastic co-founders or recruiters, lure you through a fake vetting process, and then deploy devastating malware by convincing you to download and run their "company MVP" code.&lt;/p&gt;

&lt;p&gt;I recently encountered this exact scenario, and thanks to a healthy dose of suspicion, I avoided a massive security breach. Here is exactly how the scam works, the anatomy of the conversation, and the red flags you must look out for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Anatomy of the Scam
&lt;/h2&gt;

&lt;p&gt;The "Contagious Interview" campaign, as security researchers call it, is a masterclass in social engineering. It follows a distinct pattern designed to build trust before the final payload.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: The Initial Hook
&lt;/h3&gt;

&lt;p&gt;It starts with a connection request or a cold InMail from someone who appears to be a legitimate founder or technical recruiter (often with a polished profile and shared connections).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The conversation starter:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hi, It’s a pleasure to meet you. We’re developing an exciting project and would be happy to explore potential collaboration with you."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s generic, positive, and flattering. They often target people who look like ambitious "go-getters" on GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 2: Building Legitimacy and the "Vetting" Process
&lt;/h3&gt;

&lt;p&gt;When you show interest, the attacker moves quickly to make the process seem structured. In my case, they immediately shared a generic Google Doc containing job descriptions and asked me to review it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Please find the job description below for your review: [Google Doc Link] I’d appreciate it if you could let me know which role best aligns with your skills."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This achieves two things for the attacker:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It looks like a real HR process.&lt;/li&gt;
&lt;li&gt;It narrows down exactly what kind of tools and languages you use (e.g., if you choose the Backend role, they know you likely have NPM, Python, or Docker installed).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In my scenario, once I expressed preference for a backend role, they continued the standard interview dance, asking for my resume. I provided my GitHub resume link.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 3: The "MVP Review" Trap
&lt;/h3&gt;

&lt;p&gt;This is the critical turning point. Once they have engaged you and "accepted" your resume, they spring the trap. They offer to share their project’s Minimum Viable Product (MVP) and ask you to review the code before the interview.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here is the MVP version of the project: &lt;a href="https://github%5B.%5Dcom/metabyte-org/NitroGem" rel="noopener noreferrer"&gt;https://github[.]com/metabyte-org/NitroGem&lt;/a&gt;"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The accompanying request sounds like a standard take-home test, but it’s a setup:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Before our meeting, I’d appreciate it if you could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review the current MVP implementation&lt;/li&gt;
&lt;li&gt;Understand how project listing, voting, and featured promotions function&lt;/li&gt;
&lt;li&gt;Consider opportunities to improve UX...&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;STOP RIGHT HERE.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No legitimate company will share their entire, proprietary source code repository with an unvetted candidate before a single preliminary phone screen. This is the moment I knew something was wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happens If You Clone the Repository?
&lt;/h2&gt;

&lt;p&gt;The GitHub repository is a Trojan horse. While it might contain actual code (often stolen from other legitimate projects), it is heavily obfuscated with malware.&lt;/p&gt;

&lt;p&gt;The attacker is relying on your initiative. As a developer, the first thing you are likely to do after cloning the repo is try to build and run it locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm start
&lt;span class="c"&gt;# OR&lt;/span&gt;
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
python setup.py &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The moment you run these commands, you are compromised.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This specific campaign uses malicious code (often named BeaverTail or InvisibleFerret) cleverly hidden within:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;package.json&lt;/code&gt; post-install hooks.&lt;/li&gt;
&lt;li&gt;Hidden dependency files.&lt;/li&gt;
&lt;li&gt;Obfuscated scripts buried within legitimate-looking libraries.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The malware instantly executes in the background and begins aggressively harvesting your machine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It steals &lt;strong&gt;SSH keys&lt;/strong&gt; (&lt;code&gt;~/.ssh/id_rsa&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;It steals &lt;strong&gt;browser cookies and session tokens&lt;/strong&gt; (allowing them to bypass 2FA on your email, banking, and LinkedIn).&lt;/li&gt;
&lt;li&gt;It steals &lt;strong&gt;saved passwords&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It hunts for &lt;strong&gt;crypto wallets and browser-based wallet extensions&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Within seconds, the attackers can have access to your personal life, your professional accounts, and potentially your current employer's infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Red Flags (Your Checklist)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unsolicited Code Access:&lt;/strong&gt; If anyone asks you to review or run an entire GitHub repository before a formal technical interview, &lt;strong&gt;it is a scam.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skipping the Interview Process:&lt;/strong&gt; Moving from "Nice to meet you" to "Here’s our entire source code" in 10 minutes is a massive anomaly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Web3/Crypto/Token Focus:&lt;/strong&gt; While not all Web3 companies are scams, this campaign specifically uses the "Token/Crypto Listing" theme because it attracts developers with potentially valuable crypto assets on their machines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Docs for Job Descriptions:&lt;/strong&gt; Legitimate companies have formal careers pages or use LinkedIn/Indeed’s built-in tools. While a startup &lt;em&gt;might&lt;/em&gt; use a Google Doc, use it as an indicator for extreme caution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Obfuscated Files:&lt;/strong&gt; If you are foolish enough to clone the repo, look at the code before running anything. If you see thousands of lines of base64-encoded garbage or weirdly named dependencies, delete it immediately.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  My Conclusion
&lt;/h2&gt;

&lt;p&gt;Your instincts are your best defense. I knew this process wasn't right, and I didn't run the code. You should do the same.&lt;/p&gt;

&lt;p&gt;If you encounter a message like this on LinkedIn:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Do NOT clone the repository.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Report the LinkedIn profile immediately for fraud.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Block the account.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We are developers. Our tools and our machines are powerful, which makes them prime targets. Don't let your eagerness for a new opportunity make you a victim. Spread the word and keep your environment safe.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>softwareengineering</category>
      <category>linkedinscam</category>
      <category>developeralert</category>
    </item>
    <item>
      <title>Postman API class -by Joel Jaison</title>
      <dc:creator>Haris Peter</dc:creator>
      <pubDate>Wed, 19 Apr 2023 15:59:02 +0000</pubDate>
      <link>https://dev.to/harispeter13/postman-api-class-by-joel-jaison-3khl</link>
      <guid>https://dev.to/harispeter13/postman-api-class-by-joel-jaison-3khl</guid>
      <description>&lt;p&gt;It was an comprehensive and excellent class about the utilisation of API's.&lt;br&gt;
First, there was an introductory section where I could get a proper image about APs. Then the implementation was described . Get,post and put where the main activities discussed&lt;br&gt;
. Get which was used to get info or data from the database, post which is used to post or gives new data to an existing database, and put request which was used to pass data to the server  . Overall it was an interactive and refreshing section. Now I can use APIs in my project.... &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
