<?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: Binayak Jha</title>
    <description>The latest articles on DEV Community by Binayak Jha (@binayak_jha).</description>
    <link>https://dev.to/binayak_jha</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%2F1923802%2Ff851fe21-1a06-401e-afa8-0e5133d1b1f3.jpg</url>
      <title>DEV Community: Binayak Jha</title>
      <link>https://dev.to/binayak_jha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/binayak_jha"/>
    <language>en</language>
    <item>
      <title>SecAPI: Secure, AI-Driven API Key Management &amp; Leak Prevention</title>
      <dc:creator>Binayak Jha</dc:creator>
      <pubDate>Sat, 30 May 2026 03:32:09 +0000</pubDate>
      <link>https://dev.to/binayak_jha/secapi-secure-ai-driven-api-key-management-leak-prevention-2o13</link>
      <guid>https://dev.to/binayak_jha/secapi-secure-ai-driven-api-key-management-leak-prevention-2o13</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SecAPI&lt;/strong&gt; is a local-first, zero-trust CLI utility and key manager designed to make code security the easiest developer path. &lt;/p&gt;

&lt;p&gt;Exposing secrets (like Stripe, OpenAI, or AWS keys) in repository files is one of the most common causes of credential leaks. Often, developers resort to plaintext &lt;code&gt;.env&lt;/code&gt; files that can be accidentally staged and pushed, or struggle with complex vault set-ups. &lt;/p&gt;

&lt;p&gt;SecAPI solves this with a seamless three-step command line workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scans&lt;/strong&gt; codebases for exposed API keys using fast regex rules or advanced AI analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vaults&lt;/strong&gt; secrets locally using strong AES-256 encryption derived via PBKDF2-HMAC (completely offline).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replaces&lt;/strong&gt; raw hardcoded strings in code with secure, runtime references (&lt;code&gt;load_key("key_name")&lt;/code&gt;)—preserving variable names, indentation, and comments.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;It can be installed globally or run natively as a GitHub CLI (&lt;code&gt;gh&lt;/code&gt;) extension, bringing secure vault operations directly into standard Git workflows.&lt;/strong&gt; It means we can keep our code secure, separate environments easily, and prevent pushes with unencrypted credentials—all without relying on cloud-based vault hosts.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Web Showcase&lt;/strong&gt;: &lt;a href="https://secapi.netlify.app/" rel="noopener noreferrer"&gt;secapi.netlify.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/BinayakJha/SecAPI" rel="noopener noreferrer"&gt;github.com/BinayakJha/SecAPI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Scrolling CLI Showcase in Action
&lt;/h3&gt;

&lt;p&gt;Check out the interactive scrollytelling page on &lt;a href="https://secapi.netlify.app/" rel="noopener noreferrer"&gt;secapi.netlify.app&lt;/a&gt; to see the simulator type out and execute the CLI commands (scanning, setting up vaults, applying smart code rewrites, checking the status board, running the git pre-commit hook, &lt;strong&gt;and installing/running the tool as a native GitHub CLI extension&lt;/strong&gt;) in real-time as you scroll!&lt;/p&gt;




&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Where It Started
&lt;/h3&gt;

&lt;p&gt;SecAPI was an abandoned CLI prototype. It was un-installable due to file packaging typos, suffered from weak vault security (a custom padding scheme instead of a standard key derivation function), had no recovery options if the master password was lost, and used a basic console print command to list keys. Furthermore, the AI scanner relied on outdated OpenAI package versions, creating environment conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I Changed, Fixed, and Added
&lt;/h3&gt;

&lt;p&gt;I gave the project a complete, ground-up overhaul to turn it into a premium, production-ready tool:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Packaging &amp;amp; Installation&lt;/strong&gt;: Fixed filename bugs (removed a rogue leading space on configuration files) and created a &lt;strong&gt;one-command installer script&lt;/strong&gt; (&lt;code&gt;install.sh&lt;/code&gt;) that auto-detects &lt;code&gt;pipx&lt;/code&gt; or &lt;code&gt;pip&lt;/code&gt; to set up the CLI globally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vault Cryptography Upgrade&lt;/strong&gt;: Replaced the weak padding scheme in &lt;code&gt;secure.py&lt;/code&gt; with standard &lt;strong&gt;PBKDF2-HMAC (100,000 iterations of SHA-256)&lt;/strong&gt; and a random salt to derive vault keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emergency Mnemonic Recovery Key&lt;/strong&gt;: Added an automatic &lt;strong&gt;24-character recovery mnemonic&lt;/strong&gt; during vault initialization. Users can safely reset their master password via &lt;code&gt;secapi recover&lt;/code&gt; without losing stored secrets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Schema Migration&lt;/strong&gt;: Implemented a helper that detects older flat JSON vaults and automatically migrates them to the new dual-encrypted schema upon execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart LHS-Preserving Fixer&lt;/strong&gt;: Rewrote the replacement engine in &lt;code&gt;fixer.py&lt;/code&gt; to target only the string literal (RHS) of leaked assignments, leaving variable names (LHS), indentation, and comments untouched.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Dependency Gemini 2.5 Flash Audit&lt;/strong&gt;: Replaced the conflict-prone OpenAI module with a zero-dependency Gemini API client built using Python's standard &lt;code&gt;urllib&lt;/code&gt; library. Implemented &lt;strong&gt;line-aware chunking&lt;/strong&gt; to scan massive files without hitting token limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git Pre-Commit Hook Integration&lt;/strong&gt;: Built &lt;code&gt;secapi init-hook&lt;/code&gt; to install an executable git hook. It scans staged changes in a non-interactive mode and blocks commits if unencrypted secrets are introduced.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ANSI TUI Dashboard&lt;/strong&gt;: Upgraded the simple text listing to a responsive status board showing key names, ages in days, and colorful status badges (🟢 &lt;code&gt;Active&lt;/code&gt;, 🟡 &lt;code&gt;Rotate Soon&lt;/code&gt;, 🔴 &lt;code&gt;Expired&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Environment Profiles&lt;/strong&gt;: Support for &lt;code&gt;dev&lt;/code&gt;, &lt;code&gt;staging&lt;/code&gt;, and &lt;code&gt;prod&lt;/code&gt; vaults via CLI flags (&lt;code&gt;--env&lt;/code&gt;) and environment variables (&lt;code&gt;SECAPI_ENV&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing&lt;/strong&gt;: Wrote a complete test suite of &lt;strong&gt;12 automated unit tests&lt;/strong&gt; verifying cryptography, migrations, hook installations, and chunking, achieving 100% green status on &lt;code&gt;pytest&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native GitHub CLI (gh) Extension&lt;/strong&gt;: Packaged SecAPI as an interpreted GitHub CLI extension. Implemented a self-bootstrapping script (&lt;code&gt;gh-secapi&lt;/code&gt;) that isolates python dependencies in a local virtual environment upon installation, enabling developers to run &lt;code&gt;gh secapi&lt;/code&gt; natively with zero global package conflicts.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot was an invaluable partner in reviving this codebase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Refactoring Cryptography&lt;/strong&gt;: Copilot helped write clean, standard PBKDF2-HMAC and AES GCM code using the &lt;code&gt;cryptography&lt;/code&gt; library, ensuring the migration path was mathematically sound and didn't lose any legacy keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creating the Zero-Dependency Client&lt;/strong&gt;: Writing standard library &lt;code&gt;urllib.request&lt;/code&gt; code for multi-part JSON API calls can be verbose. Copilot sped up the creation of the Gemini client, making it clean and robust against empty API responses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Design Iterations&lt;/strong&gt;: Copilot generated the Vanilla CSS styling and the intersection observers for the scrolling landing page, giving the project a modern, glassmorphic layout that immediately captures attention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Bootstrapping CLI Extension&lt;/strong&gt;: Copilot helped design a lightweight shell wrapper script that dynamically builds isolated python virtual environments inside the extension folder upon first run, preventing global environment pollution for users.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;dev_to_username: binayak_jha&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
    <item>
      <title>My Journey as an AI Intern at Xuno</title>
      <dc:creator>Binayak Jha</dc:creator>
      <pubDate>Tue, 13 Aug 2024 14:33:35 +0000</pubDate>
      <link>https://dev.to/binayak_jha/my-journey-as-an-ai-intern-at-xuno-4e7j</link>
      <guid>https://dev.to/binayak_jha/my-journey-as-an-ai-intern-at-xuno-4e7j</guid>
      <description>&lt;p&gt;Hey everyone! I am Binayak Jha, currently a rising sophomore at Franklin &amp;amp; Marshall College, pursuing a double degree in Computer Science &amp;amp; Mathematics, with a minor in Music. Originally from Nepal, I have spent the past year studying in the U.S., but this summer, I got the opportunity to return back to Nepal and work as an Artificial Intelligence (AI) Intern at Xuno, and it was really a transformative experience for me!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Xuno?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choosing to intern at Xuno was a decision driven by both personal and professional motivations. As someone deeply connected to Nepal, having grown up immersed in its rich culture and traditions, getting a chance to work in my own country was not just a professional journey but also a personal journey. It allowed me to reconnect with my roots, spend time with my family, and immerse myself once again in the vibrant life of Kathmandu.&lt;/p&gt;

&lt;p&gt;Nepal's tech scene is evolving rapidly, and Xuno is at the forefront of this transformation. With a focus on innovative solutions to real-world challenges, particularly in the fintech domain, Xuno's mission—&lt;em&gt;“Driven by the mission of shepherding the world into an equitable and borderless economy”&lt;/em&gt;—resonated deeply with me. The company’s emphasis on using AI to solve complex problems in a developing country like Nepal aligned perfectly with my passion for leveraging technology to create tangible impacts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personal Connection with my work&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the most compelling reasons I chose to intern at Xuno was their commitment to solving the challenges of cross-border payments. Having experienced firsthand the difficulties my family and I faced with international money transfers, working on a solution to this issue felt deeply personal and meaningful. The opportunity to contribute to a project that directly addresses a problem affecting so many people in Nepal and around the world was incredibly fulfilling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diving into AI at Xuno&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During my internship, I was particularly drawn to Xuno's innovative approach to integrating AI into their projects. This aligned perfectly with my academic interests and provided me with the opportunity to apply my own skills in a real-world context. I worked on projects such as USD to NPR exchange rate analysis and the development of Xuno Matrix, a new infrastructure project. The experience was both challenging and rewarding, as I worked with a talented team of professionals who brought over more than 10+ years of expertise in this field and shared a collective passion for making a difference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Transformative Experiences and Mentorship&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The two months I spent at Xuno were nothing short of transformative. I honed my existing skills, acquired new ones, and gained invaluable insights into the tech and fintech industries within the context of a developing country. This experience not only increased my understanding of AI and its applications but also reinforced my commitment to using technology to drive positive change. Having been interested in the fintech field long before this internship, I was fortunate to have mentors like Bal Dai (Founder) and Rupesh Dai (COO). Their unique perspectives and guidance were instrumental in shaping my approach to problem-solving and innovation in this dynamic industry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Looking Ahead&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Interning at Xuno has been a great moment in my academic and professional journey. It has provided me with experiences that will undoubtedly shape my future career in data science and technology. I am immensely grateful for the opportunity to work with such an inspiring team and to contribute to a company that is making a significant impact in Nepal.&lt;/p&gt;

&lt;p&gt;This experience has left me more committed than ever to using technology as a force for good, particularly in contexts where it can have a meaningful and lasting impact.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>xuno</category>
      <category>fintech</category>
    </item>
  </channel>
</rss>
