דילוג לתוכן
SECOND OPINION · מאת VIBE CODING ACADEMY

הסוכן שלך אומר שזה מוכן.
ראה מה עדיין צריך בדיקה.

הדבק את שיחת הקודינג-סוכן שלך. קבל סקירה קצרה של טענות נתמכות, בעיות גלויות, והצעדים הבאים המועילים.

סקירה נפרדת המתמקדת בחומר שאתה מספק ובפערים שחשובים. היא אינה מריצה קוד ואינה מאמתת תוצאות באופן עצמאי.

בודק רק את מה שאתה מספק. לא מריץ את הקוד שלך ולא מאמת פריסה.

Open your evidence workspace: saved audits, repair comparisons and practice

Reviews analyze supplied material. They do not independently run your code or verify a deployment.

Paste the session with your agentClaude Code · Codex · Cursor · Lovable · any chat
No session handy? Try
Free, no signup. Keys and tokens are masked before upload; the transcript is audited and not stored.
הקשר מחקרי

סיכום בטוח אינו התמונה המלאה.

מחקרים אלה מתארים סיכוני אבטחה ספציפיים באוכלוסיות שונות. הם אינם מודדים את הדיוק של Second Opinion ואינם צופים את איכות הפרויקט שלך.

10×the rate of security findings
AI-assisted developers commit 3–4× faster than their peers but introduce security findings at 10× the rate, across Fortune 50 codebases.
45%of AI-generated code carries an OWASP Top 10 flaw
Veracode's Spring 2026 GenAI code security study, testing more than 100 models on security-sensitive tasks.
35CVEs traced to AI-generated code in a single month
Georgia Tech's Vibe Security Radar recorded 6 in January 2026, 15 in February and 35 in March — a rising curve, not a plateau.
26%of published agent skills contain a vulnerability
A study of 31,132 AI agent skills found 26.1% contained at least one flaw — prompt injection, data exfiltration or privilege escalation.
The catalog · free reference

The 13 ways agent-written code fails

This is the list the check runs against. It is public because the catalog is more useful to you than it is secret to us — and because you should be able to see exactly what is being looked for before you trust a result.

critical

The lethal trifecta

One agent or request path combines untrusted input, access to private data, and the ability to communicate externally. Any two are usually fine; all three together mean an attacker who controls the input can exfiltrate the data.

Why agents do itAgents wire up whatever tools make the feature work. Nothing in the prompt asks them to notice that the combination is the vulnerability, so they connect a web-fetch tool, a database client, and an outbound HTTP call in the same handler without comment.

A study of 31,132 published AI agent skills found 26.1% contained at least one security vulnerability, including prompt injection, data exfiltration and privilege escalation.

critical

Missing authorization check

An endpoint authenticates the caller but never checks whether that caller is allowed to touch the specific record they asked for. Any logged-in user can read or modify anyone's data by changing an id.

Why agents do itAgents reliably implement 'is the user logged in' because it's a visible requirement. 'Is this user allowed this row' is invisible in the happy-path spec, so it gets skipped — and the feature still works perfectly in testing, because you test with your own data.

critical

Secrets written into code

API keys, tokens, connection strings or webhook signing secrets inlined into source, committed config, or a client-side bundle.

Why agents do itWhen an agent needs a value to make the code run, the shortest path to working code is to inline it. Agents also frequently place a genuinely secret key behind a client-visible env prefix because that's what made the import resolve.

critical

Hallucinated or typosquatted dependency

The code imports a package that does not exist, or whose name is one character from the real one. Attackers register the names agents hallucinate most often and wait.

Why agents do itModels generate plausible package names from pattern, not from a registry lookup. The import reads perfectly and only fails at install — or worse, succeeds, because someone already registered the hallucinated name.

high

Unescaped output (XSS)

User-controlled or model-generated content rendered as markup without escaping or sanitisation.

Why agents do itRendering raw HTML is how an agent makes rich content display correctly on the first try. Escaping breaks the visible result, so the agent removes it.

Veracode's Spring 2026 GenAI code security study tested 100+ models and found 86% of generated samples failed to defend against cross-site scripting.

high

Log injection

Untrusted input written into logs unsanitised, letting an attacker forge log entries, break log parsing, or attack whatever downstream system reads the logs.

Why agents do itAgents add generous logging for debuggability and interpolate the request directly, because that's the most useful thing to print.

Veracode's Spring 2026 study found 88% of generated samples were vulnerable to log injection.

critical

Unparameterised query

User input concatenated into SQL, a raw query builder, or a NoSQL filter object.

Why agents do itAgents reach for string interpolation when a query needs to be dynamic — a variable table name, an optional filter, a sort column — because parameter binding doesn't cover those cases cleanly.

high

Wide-open CORS, RLS or bucket policy

An access boundary set to allow everything — `Access-Control-Allow-Origin: *` on a credentialed route, a `USING (true)` row-level policy, or a public storage bucket holding private files.

Why agents do itA permissions error is the fastest bug for an agent to make disappear, and the widest setting always makes it disappear. The feature works, so the change is never revisited.

high

Unmetered expensive endpoint

A route that costs real money or real compute per call — model inference, email, SMS, image generation, export — reachable with no per-identity budget.

Why agents do itRate limiting is never part of the feature request, and its absence is invisible until the bill arrives. Agents build the capability, not the brake.

medium

Silently swallowed failure

A catch block that returns a success shape, an empty array, or a default — so a real failure looks identical to a legitimate empty result.

Why agents do itAgents are optimising for code that runs without crashing. Returning a safe default achieves that, and it hides exactly the failures you most need to see.

high

Placeholder or mock left in the shipped path

Sample data, a stubbed function, a hardcoded 'success', or a TODO sitting in code that now runs in production.

Why agents do itAgents scaffold with placeholders so the shape compiles and the UI renders, then build the next layer on top. The scaffold is only obviously wrong if you go back and look.

high

Unvalidated path or redirect

A filename, path segment or redirect target taken from input and used without normalising — allowing `../` escapes or open redirects to attacker-controlled hosts.

Why agents do itThe agent implements the useful case (fetch the file the user named, return them where they came from) and treats the input as data rather than as a capability.

medium

Security lost across iterations

A check that existed in an earlier version is gone after several rounds of 'fix this' — the validation, the ownership filter or the escaping was dropped while solving an unrelated bug.

Why agents do itEach iteration rewrites for the goal in front of it. Protections added earlier aren't part of the current instruction, so they get refactored away without anyone noticing.

Published 2026 analysis of iterative AI code generation found security degrades across successive refinement rounds rather than improving.

התחל חינם. העמק עם Builder.

Builder מוסיף בדיקות עמוקות יותר, סשנים ארוכים יותר, ופרומפטי תיקון לשליחה חזרה. הוא אינו מיישם או מאמת תיקון באופן עצמאי.