<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ofriperetz.dev</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://ofriperetz.dev/stats</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://ofriperetz.dev/analytics</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<priority>0.4</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/100-owasp-llm-top-10-coverage-for-vercel-ai-sdk</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/3-lines-of-code-to-hack-your-vercel-ai-app-and-1-line-to-fix-it-jo</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/aggregate-benchmarks-lie-heres-what-700-ai-functions-look-like-by-security-domain</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/benchmark-17-eslint-security-plugins-compared</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/benchmark-microsoft-sdl-vs-interlace</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/benchmark-sonarjs-vs-interlace</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/database-connection-leak-production-outage</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/eslint-plugin-import-vs-eslint-plugin-import-next-up-to-100x-faster</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/eslint-plugin-security-abandoned</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/eslint-plugin-security-is-unmaintained-heres-what-nobody-tells-you-96h</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/eslint-security-fn-fp-benchmark</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-browser-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-jwt</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-nestjs-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-node-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-pg</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-secure-coding</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-eslint-plugin-vercel-ai-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-with-eslint-plugin-express-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-with-eslint-plugin-import-next</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/getting-started-with-eslint-plugin-lambda-security</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/hardcoded-secrets-ai-agents-autofix</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/i-let-claude-write-60-functions-65-75-had-security-vulnerabilities</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/mapping-your-codebase-to-owasp-top-10-with-247-eslint-rules</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/microsofts-eslint-security-plugin-catches-10-of-vulnerabilities-heres-what-it-misses</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/n-plus-1-insert-loop-api-performance</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/no-cycle-cache-poisoning-at-scale</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/no-hardcoded-credentials-entropy-isnt-enough</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/postgresql-copy-from-exploit-filesystem-access</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/searchpath-hijacking-postgresql-attack</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/securing-ai-agents-in-the-vercel-ai-sdk</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/sonarjs-has-269-rules-it-still-misses-65-of-security-vulnerabilities-3jh</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/sql-injection-node-postgres-pattern</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/the-30-minute-security-audit-onboarding-a-new-codebase</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/the-ai-hydra-problem-fix-one-ai-bug-get-two-more</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/the-ai-hydra-problem</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/the-jwt-algorithm-none-attack-the-vulnerability-in-1-line-of-code-d9g</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/the-security-engineer-interview-cheat-sheet-for-javascript-developers-pgn</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/transaction-race-conditions-begin-on-pool</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/vercel-ai-sdk-prompt-injection-vulnerability</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/we-ranked-5-ai-models-by-security-the-leaderboard-is-wrong</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/what-ground-truth-caught-that-unit-tests-missed</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/why-eslint-plugin-import-slow-fix</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ofriperetz.dev/articles/your-eslint-security-plugin-is-missing-80-of-vulnerabilities-i-have-proof</loc>
<lastmod>2026-05-18T06:09:27.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
