<?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: sahaj srivastava</title>
    <description>The latest articles on DEV Community by sahaj srivastava (@sahajsrivastava044spec).</description>
    <link>https://dev.to/sahajsrivastava044spec</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4165589%2Fe9a4da34-da8d-41d7-b341-157c6d234070.jpg</url>
      <title>DEV Community: sahaj srivastava</title>
      <link>https://dev.to/sahajsrivastava044spec</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sahajsrivastava044spec"/>
    <language>en</language>
    <item>
      <title>My open-source experience</title>
      <dc:creator>sahaj srivastava</dc:creator>
      <pubDate>Tue, 06 Oct 2026 07:03:46 +0000</pubDate>
      <link>https://dev.to/sahajsrivastava044spec/my-open-source-experience-1nj6</link>
      <guid>https://dev.to/sahajsrivastava044spec/my-open-source-experience-1nj6</guid>
      <description>&lt;p&gt;When I first entered the college I head of the word Github and open-source contribution. It sounded strange at first that how solo developers can make a contribution to major software which people use in their daily lives. When I entered the field of open source development I understood that there is more to it that meets the I. Open-source development is actually about developers find potential bugs and enhancements and how to work on them thoroughly and making sure that out work is recognized. This makes a good developer portfolio or what I am told by the way. &lt;/p&gt;

&lt;p&gt;Well here are the three learnings that I faced and reflected over my first official open source contribution through kalvium Ed-tech organization:-&lt;/p&gt;

&lt;p&gt;=&amp;gt; The problem and the work: This week I worked on BookCars (aelassas/bookcars), a TypeScript-based car-rental platform, and investigated a possible authorization issue in the booking system. I focused on the updateStatus() endpoint, where a supplier can update booking statuses after passing authentication and the supplier-role check. While tracing the code, I noticed that the endpoint looks up bookings only by their IDs and does not verify that the booking actually belongs to the supplier making the request, unlike the existing deleteBookings() logic which explicitly checks supplier ownership. I compared the relevant route, controller, and authorization code instead of assuming that the issue existed from the endpoint name alone. My work was therefore mainly code investigation and evidence gathering, with the potential issue being that one supplier could change another supplier's booking status if they obtained its booking ID.&lt;/p&gt;

&lt;p&gt;Issue: &lt;a href="https://github.com/aelassas/bookcars?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;Github Issue link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=&amp;gt; How you used and verified AI: I used AI mainly as a second pair of eyes for code exploration and reasoning, rather than treating its answers as proof. For example, AI helped me identify that I should compare the updateStatus() controller with other booking operations and inspect how supplier authorization was implemented. I then opened the actual repository code myself and verified that the route uses authJwt.verifyToken and authJwt.authSupplier, while updateStatus() queries bookings by ID without checking the supplier ID. I also checked deleteBookings(), where an explicit comparison between the logged-in supplier and the booking's supplier already exists. This comparison was important because it showed that the concern was based on an actual difference in the code rather than simply trusting AI's claim that the endpoint was vulnerable.&lt;/p&gt;

&lt;p&gt;=&amp;gt; Reflection: The hardest part this week was not finding something that looked suspicious, but proving that it was actually worth reporting. I had to trace the request from the route through the authentication middleware into the controller and then compare it with another endpoint before I could understand the authorization gap properly. I learned that good open-source work requires much more than spotting a possible bug: I need to understand the surrounding architecture, existing security patterns, expected behavior, and potential impact before making a claim to maintainers. Next week, I will spend more time creating a minimal local reproduction or regression test before proposing an issue, so that my reports contain executable evidence rather than only static code analysis.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
