<?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: Ishween Kaur</title>
    <description>The latest articles on DEV Community by Ishween Kaur (@ishween).</description>
    <link>https://dev.to/ishween</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%2F393065%2Fbef46830-96d3-49eb-87d6-1ffee6de5301.jpeg</url>
      <title>DEV Community: Ishween Kaur</title>
      <link>https://dev.to/ishween</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ishween"/>
    <language>en</language>
    <item>
      <title>Your Agent Paid. That Does Not Mean It Should Have.</title>
      <dc:creator>Ishween Kaur</dc:creator>
      <pubDate>Sun, 11 Oct 2026 19:43:36 +0000</pubDate>
      <link>https://dev.to/dailycontext/your-agent-paid-that-does-not-mean-it-should-have-2dnd</link>
      <guid>https://dev.to/dailycontext/your-agent-paid-that-does-not-mean-it-should-have-2dnd</guid>
      <description>&lt;p&gt;An AI agent is writing a report and needs one data point. The API answers: this costs five cents. The agent signs, the payment settles, and the data arrives.&lt;/p&gt;

&lt;p&gt;The payment succeeded. &lt;strong&gt;That does not mean it was correct.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Protocols like x402 make machine-to-machine payments possible over ordinary HTTP. A client requests a resource and receives a 402 with a &lt;code&gt;PAYMENT-REQUIRED&lt;/code&gt; header. It selects a payment option, signs it, and retries with a &lt;code&gt;PAYMENT-SIGNATURE&lt;/code&gt; header. A facilitator verifies and settles the payment before the resource is delivered. No human needs to approve each transaction.&lt;/p&gt;

&lt;p&gt;That is what makes the protocol interesting, and it is also what moves the security boundary. Enabling an agent to pay is the easy half. &lt;strong&gt;The harder problem is deciding what the agent is actually authorized to pay for, and enforcing that decision without asking another model for permission.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3od4i8r6gpcg2y1swz4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3od4i8r6gpcg2y1swz4o.png" alt=" " width="503" height="512"&gt;&lt;/a&gt;&lt;/p&gt;
Where each failure enters the x402 flow, and the two places a deterministic check can stop it.



&lt;h2&gt;
  
  
  A successful transaction can still be a bad transaction
&lt;/h2&gt;

&lt;p&gt;I ran the official x402 client against test sellers on Base Sepolia, a public testnet, using the public facilitator. Six failures stood out. In each one, the payment machinery behaved as designed. The problem was the decision or outcome around it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price manipulation.&lt;/strong&gt; The directory listed a lookup at five cents. The actual payment request arrived later and asked for fifty. With no buyer-side guard, the payment settled. The facilitator verified the signature; it had no reason to know the agent expected five cents. The client's default one-dollar cap did not help, because fifty cents is under a dollar. My first guard checked only the amount, and half the attacks still got through by changing the wallet or the coin. With every field checked, none of 240 did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One payment, more than one outcome.&lt;/strong&gt; Send the same signed payment five times at once. Every copy can pass verification, so the seller delivers five times before the chain settles one and rejects four. The chain prevented double-spending. It did not prevent double-delivery. The buyer has a mirror problem: a timeout triggers a retry with a fresh payment, and one intended purchase becomes several charges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free shopping.&lt;/strong&gt; Verification is not settlement. A payment can look valid during verification while settlement later fails. If the seller has already delivered, the resource is gone. Other paths lead to the same place: a paywall protects &lt;code&gt;/report&lt;/code&gt; while the same resource sits at &lt;code&gt;/download&lt;/code&gt;, or a CDN caches a paid response and serves it to the next requester. In my lab, 30,000 unpaid requests produced 30,000 leaks. The rule: &lt;strong&gt;every delivery needs a payment behind it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Right payment, wrong item.&lt;/strong&gt; A payment identifies who gets paid and how much, but the application still has to establish what that payment authorizes. The exact fields depend on the scheme and version, and current x402 specifications include resource information in the flow. In my test, two resources had the same price and seller, and one payment was accepted for both. The buyer paid once and received two products.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Malicious discovery.&lt;/strong&gt; Agents can discover services instead of receiving a trusted endpoint from a human. A directory can establish that a service works without establishing who runs it. I created a lookalike seller with its own domain and wallet. The agent selected it and paid. The transaction was valid. It was simply paid to the wrong seller.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt injection.&lt;/strong&gt; The seller's response is also content the model reads. A malicious seller does not need to say "pay me." It can plant a suggestion. The agent's task was to get a Q2 summary for no more than five cents. The seller returned the summary and mentioned a fuller version at another path. The agent, Llama 3.2 running locally, followed the hint and bought it for fifty cents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do not solve a probabilistic problem with another probabilistic decision
&lt;/h2&gt;

&lt;p&gt;The instinctive response to prompt injection is another model: tell the agent not to trust seller content, or classify responses as suspicious. I tried both. They caught the obvious attacks, but a quiet hint with no trigger words slipped through, and a third of the attacks still moved money.&lt;/p&gt;

&lt;p&gt;What worked was taking the authorization decision away from the model. Before reading anything from the seller, the agent writes a plan, &lt;strong&gt;buy the summary, for up to five cents&lt;/strong&gt;, and code locks it. Before signing, a deterministic guard asks one question: &lt;strong&gt;is this purchase on the plan?&lt;/strong&gt; It does not need to understand the seller's words or judge whether a suggestion is malicious. It stopped all 90 attacks.&lt;/p&gt;

&lt;p&gt;The model can still discover services, interpret responses, and decide what it wants to accomplish. &lt;strong&gt;It just does not get the final authority to move money.&lt;/strong&gt; A seller can tell you the price. It cannot give you permission to buy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the controls belong
&lt;/h2&gt;

&lt;p&gt;The six failures fall into two control points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The buyer, before signing.&lt;/strong&gt; Compare the payment request with what the agent selected: amount, recipient, asset, network, and every other relevant field. Restrict which sellers can be paid. Enforce budgets and locked plans. If a payment times out, check its status and retry the same payment rather than creating a new one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The seller, before delivering.&lt;/strong&gt; Require the appropriate settlement state before releasing paid resources. Claim each payment once and bind it to the resource it authorizes. Protect every route that serves the resource, and keep paid responses out of shared caches.&lt;/p&gt;

&lt;p&gt;None of these controls is clever. They are comparisons, lookups, state checks, and limits, and the buyer-side check ran in about 25 microseconds. That is the point: &lt;strong&gt;the control that decides whether money moves should be deterministic wherever possible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a cost. Pinning sellers stopped every lookalike, but it also blocked legitimate sellers when they rotated wallets, and the agent completed only 17 percent of its purchases. A probation state for new or changed sellers, reviewed by a human, kept the protection without stalling the agent. Security that breaks the workflow gets turned off.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question is no longer "Did the payment succeed?"
&lt;/h2&gt;

&lt;p&gt;We have spent a lot of energy asking how much agents can do. Payments make the other question unavoidable:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What must an agent never be allowed to do, even when the model decides otherwise?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A successful transaction tells us the payment system executed. It does not tell us whether the agent paid the intended amount, to the intended seller, for the intended resource or whether untrusted content changed what the agent decided to buy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Those are different questions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And as agents delegate to other agents through protocols like MCP and A2A, authorization has to hold across every hop. It has to become a boundary around autonomy, not another decision left to the model.&lt;/p&gt;

&lt;p&gt;Because when an AI agent can move money, &lt;strong&gt;"the payment succeeded" is not the end of the transaction. It is the beginning of the security question.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aie</category>
      <category>fintech</category>
      <category>agents</category>
    </item>
    <item>
      <title>Women Arise: A female empowerment platform </title>
      <dc:creator>Ishween Kaur</dc:creator>
      <pubDate>Fri, 22 May 2020 18:50:44 +0000</pubDate>
      <link>https://dev.to/ishween/women-arise-a-female-empowerment-platform-5c3l</link>
      <guid>https://dev.to/ishween/women-arise-a-female-empowerment-platform-5c3l</guid>
      <description>&lt;p&gt;Women Arise is a women's community platform, offering support, resources and interactions. It is a safe and trusted space, where members discuss health, careers, relationships and share their life stories, achievements and moments. The application also offers a dedicated chat system where community members can talk to counsellors on all aspects of their health and growth journeys.&lt;/p&gt;

&lt;p&gt;This platform is a web application which focuses on female empowerment. The project aims to help female students, enhance their understanding of issues related to women and to make the college campus a safe place for girls and women and to address the practical issues related to the welfare and equal opportunities for them. It also provides a platform for women to share their experiences and views regarding their status in the society and includes many other features which help them in day to day life. &lt;/p&gt;

&lt;h4&gt;
  
  
  The main concern of the platform is on two things:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Safe and trusted space for women to discuss various issues &lt;/li&gt;
&lt;li&gt;Provide several features to make everyday life easier&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  The project includes the following:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Authentication based access to the portal.&lt;/li&gt;
&lt;li&gt;Provision of online chat system with a counsellor&lt;/li&gt;
&lt;li&gt;Vaccination Tracker&lt;/li&gt;
&lt;li&gt;Online Portal for discussions&lt;/li&gt;
&lt;li&gt;Menstruation Cycle Tracker&lt;/li&gt;
&lt;li&gt;The creative section containing blogs &amp;amp; videos&lt;/li&gt;
&lt;li&gt;Self Defence informative tips&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  The project is made using:
&lt;/h4&gt;

&lt;p&gt;HTML, CSS, React, Python, Flask, REST API, SQLAlchemy&lt;/p&gt;

&lt;h4&gt;
  
  
  The application consist of the following pages:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Home Page&lt;/strong&gt;- This root route does not require the user to be logged in, it is the landing page of our application. A user should be able to access this page to log in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Login/Signup&lt;/strong&gt;- SignUp allows the user to make an account if the user is visiting for the first time. Login allows user to use an existing account.
Online Chat - Seeking help is often the first step towards getting and staying well, but it can be hard to know how to start or where to turn to.  But it's always ok to ask for help, even if you're not sure you are experiencing a specific problem. Keeping this in mind we have our online chat system. The tawk.to API is used for the online chat facility. It helps the users to discuss with counsellors issues related to health and career. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discussion Portal&lt;/strong&gt;- Sometimes, our peers can help in some tough times better than the experts. Our online forum serves the very purpose of peer to peer education and discussions. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Information Section&lt;/strong&gt;- Being aware is the first step to safety. If a person is aware of their surroundings or basic rights, they are already in an advantageous position and are less prone to accidents. The videos, blogs and podcasts we have included in our website help prepare women for these situations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Menstrual Calendar&lt;/strong&gt;- Menstrual health and hygiene are one of the most important aspects of a woman's life. So the period tracker helps women to keep track of their periods to prepare them in advance. The user can store their cycle duration and time of flow each month. This database can be used later to track the period cycle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vaccination Tracker&lt;/strong&gt;- It will allow the user to keep track of vaccinations that are necessary to be taken by her. In this, the user selects the Month and year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative Section&lt;/strong&gt;- This feature is full of inspiration and hope. It is a place where the blogs, videos and podcasts of inspirational personalities are shared discussing what they've been through and what they've learned to help themselves and others.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The view of various sections:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Home, log in/Sign-Up Page and online chat page:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fP6G1XG9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9y57z48clx87r273w9kh.png" alt="home"&gt;
&lt;/li&gt;
&lt;li&gt;Creative Page:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZE4xRirG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wm5z9ml7gcxs9cbvknnv.png" alt="creative"&gt;
&lt;/li&gt;
&lt;li&gt;Information Section
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cBqVTphq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bsz6usuhqqrynv35n7wg.png" alt="information"&gt;
&lt;/li&gt;
&lt;li&gt;Menstrual Calendar
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5R1TEqfq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cjwl38zcpmsno73d7qwp.png" alt="Menstrual"&gt;
&lt;/li&gt;
&lt;li&gt;Vaccination Tracker
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--buW7bHef--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aq7p3cfo7ilkmtsaj1co.png" alt="Vaccination"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I am still working on this project with enhancements like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhancing the menstrual calendar to a period tracker.&lt;/li&gt;
&lt;li&gt;Implement other features like online donation, chatbot and career development opportunities platform. &lt;/li&gt;
&lt;li&gt;Adopting the site into an app format which will be faster, can exploit device features, have push notifications and provide personalized content.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>womenintech</category>
      <category>octograd2020</category>
      <category>devgrad2020</category>
    </item>
  </channel>
</rss>
