[{"data":1,"prerenderedAt":403},["ShallowReactive",2],{"article-semgrep-sast-devsecops":3,"related-article":31,"header-services":328},{"id":4,"title":5,"slug":-1,"excerpt":6,"content":7,"categoryId":8,"categorySlug":9,"categoryTitle":10,"categoryImage":11,"author":12,"publishedAt":15,"readTime":16,"image":17,"tags":18,"tagsFa":22,"views":4},0,"Semgrep چیست؟ ابزار سریع SAST برای امنیت کد و DevSecOps","ابزار Semgrep با اسکن سریع کد، باگ‌ها، آسیب‌پذیری‌ها و secrets را قبل از اجرا پیدا می‌کند و امنیت را وارد جریان توسعه می‌کند.","\u003Cp>اگر بخواهیم صادق باشیم، دنیای توسعه نرم‌افزار در سال‌های اخیر دیگر شبیه گذشته نیست. روزی بود که تیم‌ها یک نسخه را می‌ساختند، تست می‌کردند، به‌دقت deploy می‌کردند و بعد از انتشار، تازه به فکر امنیت می‌افتادند. اما امروز همه‌چیز با سرعت بسیار بالاتری پیش می‌رود: releaseهای مداوم، microserviceها، cloudnative architecture، CI/CD، GitOps و البته رشد خیره‌کننده ابزارهای AI برای تولید کد. این سرعت، اگرچه بهره‌وری را بالا برده، اما یک مشکل جدی هم به‌وجود آورده است: آسیب‌پذیری‌ها هم سریع‌تر از قبل تولید می‌شوند.\u003C/p>\u003Cp>در چنین فضایی، دیگر نمی‌شود امنیت را به‌عنوان یک مرحله‌ی جداگانه در انتهای پروژه دید. اگر امنیت را بعد از merge، بعد از test و بعد از deploy بررسی کنیم، عملاً داریم با تاخیر به‌دنبال مشکلی می‌گردیم که قبلاً وارد سیستم شده است. این همان نقطه‌ای است که ابزارهای مدرن SAST وارد می‌شوند. اما همه ابزارهای SAST یکسان نیستند. بعضی از آن‌ها بسیار سنگین‌اند، بعضی دیگر rulewriting پیچیده‌ای دارند، بعضی‌ها false positive زیادی تولید می‌کنند و برخی هم آن‌قدر کند هستند که در عمل، تیم توسعه آن‌ها را دور می‌زند.\u003C/p>\u003Cblockquote>\u003Cp>اگر هنوز با مفهوم DevOps و نقش آن در سرعت و کیفیت توسعه آشنا نیستید، پیشنهاد می‌کنیم مقاله «\u003Ca href=\"https://new.dornadevops.com/blog/devops/what-is-devops-complete-guide-2026\">DevOps چیست\u003C/a>» را مطالعه کنید تا درک بهتری از جایگاه امنیت در این چرخه داشته باشید.\u003C/p>\u003C/blockquote>\u003Cp>\u003Cstrong>Semgrep \u003C/strong>دقیقاً در همین نقطه درخشیده است. Semgrep یک ابزار \u003Cstrong>تحلیل استاتیک کد \u003C/strong>است که با رویکردی متفاوت از ابزارهای سنتی کار می‌کند. به‌جای اینکه شما را وادار کند درگیر query languageهای پیچیده، AST patternهای دشوار یا تنظیمات سنگین شوید، Semgrep ruleهایی به شما می‌دهد که بسیار شبیه خود کد هستند. همین سادگی ظاهری، در واقع یکی از بزرگ‌ترین قدرت‌های آن است. توسعه‌دهنده می‌تواند rule را بخواند، بفهمد، بنویسد و در repository نگهداری کند؛ درست مثل هر فایل کد دیگری. مستندات رسمی Semgrep هم تأکید می‌کنند که این پلتفرم امروز فقط SAST نیست، بلکه SCA و secrets detection را هم در یک جریان واحد ارائه می‌دهد. semgrep.dev1\u003C/p>\u003Cp>اما Semgrep در سال ۲۰۲۶ فقط یک scanner هوشمند نیست؛ \u003Cstrong>به یک لایه‌ی جدی AppSec تبدیل شده است. \u003C/strong>نسخه Community Edition برای اسکن سریع و سبک مناسب است، اما Semgrep AppSec Platform و Semgrep Code قابلیت‌های عمیق‌تری دارند: \u003Cstrong>crossfile analysis، crossfunction analysis، triage و remediation، AIpowered detection برای باگ‌های پیچیده مثل IDOR و broken authorization، Autofix برای ساخت PR اصلاحی، و حتی MCP plugin برای ابزارهای AI coding مانند Cursor و Claude Code.\u003C/strong> این یعنی Semgrep تلاش کرده امنیت را از یک ابزار جداگانه، به بخشی از فرایند روزمره‌ی توسعه تبدیل کند.&nbsp;\u003C/p>\u003Cp>این تغییر، از نظر فرهنگی هم مهم است. چون مشکل امنیت در تیم‌های توسعه معمولاً «\u003Cstrong>نبود ابزار\u003C/strong>» نیست؛ مشکل، «فرآیند» است. خیلی از تیم‌ها ابزار دارند، اما ابزار آن‌قدر سخت یا مزاحم است که کسی واقعاً از آن استفاده نمی‌کند. Semgrep سعی کرده این مانع را بردارد. هم سریع است، هم قابل‌فهم، هم قابل‌اتوماسیون، و هم برای توسعه‌دهنده آزاردهنده نیست. از طرف دیگر، برای تیم امنیت هم مناسب است، چون ruleها قابل نسخه‌سازی، قابل بازبینی و قابل گسترش هستند. این ترکیبِ سادگی و قدرت، دلیل اصلی محبوبیت آن در تیم‌های DevSecOps است.&nbsp;\u003C/p>\u003Cp>داشبورد Semgrep – تحلیل استاتیک کد SAST با Semgrep Code برای امنیت و کیفیت در DevSecOps👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:2054/1267;\" src=\"https://api.dornadevops.com/media/articles/posts/%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF%20Semgrep%20%E2%80%93%20%D8%AA%D8%AD%D9%84%DB%8C%D9%84%20%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9%20%DA%A9%D8%AF%20SAST%20%D8%A8%D8%A7%20Semgrep%20Code%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D8%A7%D9%85%D9%86%DB%8C%D8%AA%20%D9%88%20%DA%A9%DB%8C%D9%81%DB%8C%D8%AA%20%D8%AF%D8%B1%20DevSecOps.png\" alt=\"داشبورد Semgrep – تحلیل استاتیک کد SAST با Semgrep Code برای امنیت و کیفیت در DevSecOps\" width=\"2054\" height=\"1267\">\u003C/figure>\u003Cblockquote>\u003Cp>در این مقاله، Semgrep را از صفر تا سطح حرفه‌ای بررسی می‌کنیم: اینکه دقیقاً چیست، چطور کار می‌کند، چطور نصب می‌شود، چطور rule می‌نویسیم، چطور آن را در CI/CD و IDE استفاده می‌کنیم، چطور با SCA و secrets کار می‌کند، چه تفاوتی بین CE و Platform وجود دارد، و در نهایت چطور می‌شود آن را به یک بخش واقعی از pipeline امنیتی پروژه تبدیل کرد. برای اینکه مقاله فقط «تعریف» نباشد، در هر بخش مثال عملی هم آورده شده تا متن هم آموزشی باشد و هم جذاب.&nbsp;\u003C/p>\u003C/blockquote>\u003Chr>\u003Ch3>۱ Semgrep چیست؟\u003C/h3>\u003Cp>Semgrep یک ابزار تحلیل استاتیک کد است که برای پیدا کردن باگ‌ها، الگوهای ناامن، نقض استانداردهای کدنویسی، secrets لو رفته و برخی ضعف‌های منطقی امنیتی به کار می‌رود. تفاوت اصلی Semgrep با بسیاری از ابزارهای سنتی این است که ruleهای آن شبیه خود کد نوشته می‌شوند و همین باعث می‌شود هم برای انسان قابل‌خواندن باشد و هم برای ماشین قابل‌تحلیل. مستندات رسمی Semgrep صریحاً می‌گویند که این پلتفرم SAST، SCA و secrets scanning را از یک نقطه مرکزی ارائه می‌کند.&nbsp;\u003C/p>\u003Cp>فرض کن در یک پروژه Python کسی به‌جای logging از `print` برای debug استفاده کرده است. از نظر امنیتی شاید این مورد همیشه بحرانی نباشد، اما از نظر کیفیت و maintenance مشکل‌ساز است. Semgrep می‌تواند این الگو را تشخیص دهد و به تیم هشدار بدهد.\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nrules:\r\n  id: noprint\r\n   languages: python\r\n   message: \"استفاده از print به جای logging توصیه نمی‌شود\"\r\n   severity: WARNING\r\n   pattern: print...\u003C/code>\u003C/pre>\u003Cp>این rule ساده، نمونه‌ی خوبی است از فلسفه Semgrep: rule باید آن‌قدر \u003Cstrong>ساده \u003C/strong>باشد که \u003Cstrong>تیم توسعه\u003C/strong> بتواند آن را \u003Cstrong>بخواند \u003C/strong>و آن‌قدر \u003Cstrong>قدرتمند \u003C/strong>که در \u003Cstrong>پروژه \u003C/strong>واقعی \u003Cstrong>ارزش \u003C/strong>داشته باشد.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۲ چرا Semgrep مهم است؟\u003C/h3>\u003Cp>ابزارهای SAST سنتی معمولاً سه مشکل دارند: \u003Cstrong>کند هستند\u003C/strong>، \u003Cstrong>false positive زیادی می‌دهند\u003C/strong> یا \u003Cstrong>rule نوشتن در آن‌ها سخت است\u003C/strong>. Semgrep سعی کرده این سه مشکل را هم‌زمان حل کند. نسخه CE سبک است و برای اسکن محلی و یک‌باره مناسب است، در حالی که Semgrep Platform برای تیم‌هایی ساخته شده که به crossfile analysis، triage و remediation نیاز دارند.&nbsp;\u003C/p>\u003Cp>\u003Cstrong>Semgrep برای DevSecOps مهم است\u003C/strong> چون امنیت را نزدیک به لحظه توسعه می‌آورد. وقتی توسعه‌دهنده همان‌جا در IDE یا PR هشدار می‌گیرد، هزینه‌ی اصلاح بسیار کمتر می‌شود. این مدل، کیفیت کد را بالا می‌برد، سرعت تیم را کم نمی‌کند و جلوی ورود بخشی از خطاها را قبل از production می‌گیرد. Semgrep دقیقاً برای همین نوع workflow طراحی شده است.&nbsp;\u003C/p>\u003Cblockquote>\u003Cp>اگر می‌خواهید بدانید DevSecOps دقیقاً چیست و چرا امنیت باید بخشی از فرآیند توسعه باشد، پیشنهاد می‌کنیم \u003Ca href=\"https://new.dornadevops.com/blog/devops/devsecops-2026-security-in-ci-cd-cloud\">مقاله مرتبط\u003C/a> را مطالعه کنید.\u003C/p>\u003C/blockquote>\u003Cp>اگر یک تیم، هر PR را با Semgrep اسکن کند، احتمال اینکه یک hardcoded secret یا یک antipattern ساده قبل از merge کشف شود بسیار بیشتر است. به‌جای اینکه بعداً در production یا audit به آن برسند، همان موقع جلوی ورودش گرفته می‌شود. همین تغییر کوچک در نقطه‌ی کشف، در مقیاس یک تیم یا سازمان، بسیار بزرگ است.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۳ Semgrep چگونه کار می‌کند؟\u003C/h3>\u003Cp>Semgrep بر پایه \u003Cstrong>rule\u003C/strong> و \u003Cstrong>pattern matching\u003C/strong> کار می‌کند. ruleها در YAML نوشته می‌شوند و شامل بخش‌هایی مثل id، languages، message و severity هستند. مستندات رسمی تأکید می‌کنند که Semgrep فقط یک grep ساده نیست؛ بلکه از semantic analysis، constant propagation و در برخی موارد dataflow/taint analysis استفاده می‌کند. به همین دلیل، الگوهایی را تشخیص می‌دهد که در سطح syntactic ساده، به‌راحتی دیده نمی‌شوند.&nbsp;\u003C/p>\u003Cp>فرض کن در JavaScript یا Python یک مقدار حساس به‌صورت hardcoded تعریف شده باشد. Semgrep می‌تواند آن را پیدا کند:\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nrules:\r\n  id: hardcodedpassword\r\n   languages: python, javascript\r\n   message: \"رمز عبور hardcoded شناسایی شد\"\r\n   severity: ERROR\r\n   pattern: |\r\n     $PASSWORD = \"...\"\r\n\u003C/code>\u003C/pre>\u003Cp>اگرچه این rule ساده به نظر می‌رسد، اما در پروژه واقعی \u003Cstrong>می‌تواند جلوی نشت credentialهای بسیار خطرناک را بگیرد.\u003C/strong> همین‌جا \u003Cstrong>تفاوت Semgrep با regex\u003C/strong> مشخص می‌شود: در Semgrep، context کد مهم است، نه فقط متن خام.\u003C/p>\u003Chr>\u003Ch3>۴ نصب و شروع سریع\u003C/h3>\u003Cp>شروع کار با Semgrep عمداً ساده طراحی شده است. در quickstart رسمی، پیش‌نیاز CLI \u003Cstrong>داشتن Python 3.10\u003C/strong> یا بالاتر است و Semgrep را می‌توان از طریق روش‌هایی مثل نصب محلی یا استفاده در CI راه‌اندازی کرد. برای نخستین اسکن، خود مستندات Semgrep یک مسیر بسیار کوتاه و روشن پیشنهاد می‌کنند.&nbsp;\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">bash\r\nsemgrep scan config=auto .\r\n```\r\nاین فرمان برای شروع عالی است، چون بدون اینکه rule خاصی بنویسی، می‌توانی از configهای آماده استفاده کنی و خروجی اولیه بگیری. برای pipeline هم:\r\n```bash\r\nsemgrep ci\u003C/code>\u003C/pre>\u003Cp>استفاده می‌شود تا اسکن در جریان CI اجرا شود.&nbsp;\u003C/p>\u003Cp>نصب و استفاده از Semgrep – نوشتن rule و اجرای اسکن محلی👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:836/582;\" src=\"https://api.dornadevops.com/media/articles/posts/%D9%86%D8%B5%D8%A8%20%D9%88%20%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87%20%D8%A7%D8%B2%20Semgrep%20%E2%80%93%20%D9%86%D9%88%D8%B4%D8%AA%D9%86%20rule%20%D9%88%20%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%20%D8%A7%D8%B3%DA%A9%D9%86%20%D9%85%D8%AD%D9%84%DB%8C.png\" alt=\"نصب و استفاده از Semgrep – نوشتن rule و اجرای اسکن محلی\" width=\"836\" height=\"582\">\u003C/figure>\u003Chr>\u003Ch3>۵ نوشتن rule سفارشی\u003C/h3>\u003Cp>یکی از بخش‌های جذاب Semgrep، rule نویسی است. \u003Cstrong>ruleها YAML\u003C/strong> هستند، در \u003Cstrong>Git قابل نگهداری‌اند \u003C/strong>و می‌توانند برای code style، security policy یا antipatternها استفاده شوند. Semgrep rule syntax و glossary رسمی دارد که pattern syntax، semantic search، taint ruleها و fixها را توضیح می‌دهد. این باعث می‌شود rulewriting فقط برای تیم امنیت نباشد؛ توسعه‌دهنده هم بتواند در آن مشارکت کند.&nbsp;\u003C/p>\u003Cp>\u003Cstrong>&nbsp;جلوگیری از print در Python\u003C/strong>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nrules:\r\n  id: noprint\r\n   languages: python\r\n   message: \"استفاده از print به جای logging توصیه نمی‌شود\"\r\n   severity: WARNING\r\n   pattern: print...\u003C/code>\u003C/pre>\u003Cp>\u003Cbr>\u003Cstrong>تشخیص SQL injection بالقوه\u003C/strong>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nrules:\r\n  id: unsafesqlconcat\r\n   languages: python\r\n   message: \"ساخت query به‌صورت رشته‌ای خطر SQL injection دارد\"\r\n   severity: ERROR\r\n   pattern: cursor.execute\"...\" + $X\r\n\u003C/code>\u003C/pre>\u003Cp>این rule ساده است، اما برای آموزش تیم و جلوگیری از یک دسته اشتباه رایج فوق‌العاده مفید است. در پروژه‌های واقعی، ruleهای taint دقیق‌تر از این هم نوشته می‌شوند.&nbsp;\u003C/p>\u003Cp>نوشتن rule سفارشی در Semgrep – الگوهای شبیه کد برای تحلیل استاتیک👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:761/421;\" src=\"https://api.dornadevops.com/media/articles/posts/%D9%86%D9%88%D8%B4%D8%AA%D9%86%20rule%20%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C%20%D8%AF%D8%B1%20Semgrep%20%E2%80%93%20%D8%A7%D9%84%DA%AF%D9%88%D9%87%D8%A7%DB%8C%20%D8%B4%D8%A8%DB%8C%D9%87%20%DA%A9%D8%AF%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D8%AA%D8%AD%D9%84%DB%8C%D9%84%20%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9.png\" alt=\"نوشتن rule سفارشی در Semgrep – الگوهای شبیه کد برای تحلیل استاتیک\" width=\"761\" height=\"421\">\u003C/figure>\u003Chr>\u003Ch3>۶ Taint Analysis و مثال‌های امنیتی واقعی\u003C/h3>\u003Cp>یکی از مهم‌ترین قابلیت‌های Semgrep در بخش rule نویسی، \u003Cstrong>taint analysis\u003C/strong> است. در این مدل، می‌توانی منبع داده‌ی ناامن source، محل خطرناک مصرف داده sink و مسیرهای بین آن‌ها را تعریف کنی. این دقیقاً برای سناریوهایی مثل command injection، SQL injection، XSS و authorization mistakes بسیار مفید است. مستندات رسمی Semgrep هم crossfile و crossfunction analysis را برای نسخه‌های پیشرفته‌تر توضیح می‌دهند.&nbsp;\u003C/p>\u003Cp>فرض کن در یک برنامه، داده‌ی کاربر از request گرفته می‌شود و به `eval` می‌رسد. Semgrep می‌تواند این مسیر خطرناک را به‌عنوان یک finding گزارش کند.\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nrules:\r\n  id: userinputtoeval\r\n   languages: python\r\n   message: \"ورودی کاربر نباید مستقیم به eval برسد\"\r\n   severity: ERROR\r\n   mode: taint\r\n   patternsources:\r\n      pattern: request.get_json...\r\n   patternsinks:\r\n      pattern: eval...\u003C/code>\u003C/pre>\u003Cp>این نوع ruleها برای کشف یک رفتار واقعی خطرناک بسیار ارزشمندند، چون فقط دنبال یک عبارت خاص نمی‌گردند؛ \u003Cstrong>مسیر انتقال داده را هم بررسی می‌کنند\u003C/strong>.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۷ Semgrep Code و تحلیل عمیق‌تر\u003C/h3>\u003Cp>Semgrep Code نسخه‌ای است که برای \u003Cstrong>codebaseهای جدی‌تر و پیچیده‌تر\u003C/strong> ساخته شده است. تفاوت اصلی آن با CE در همین‌جاست: CE perfile است، اما Semgrep Code crossfunction و crossfile analysis را ارائه می‌دهد. این یعنی Semgrep Code می‌تواند context بیشتری ببیند و در نتیجه true positiveهای بهتری بدهد.&nbsp;\u003C/p>\u003Cp>\u003Cstrong>مثال عملی :\u003C/strong>فرض کن یک تابع داده را sanitize می‌کند، اما تابع دیگر در فایل دیگری آن را مصرف می‌کند. در CE ممکن است این رابطه به‌طور کامل دیده نشود، اما در Semgrep Code، crossfile analysis می‌تواند این مسیر را دنبال کند و نتیجه دقیق‌تری بدهد. این موضوع مخصوصاً در monorepoها و پروژه‌های چندلایه مهم است.&nbsp;\u003C/p>\u003Cp>Semgrep در release notes رسمی ۲۰۲۶ اعلام کرده که AIpowered detection برای پیدا کردن باگ‌های پیچیده مثل IDOR و broken authorization به‌صورت beta اضافه شده است. این قابلیت اهمیت زیادی دارد، چون این دسته از باگ‌ها معمولاً با ruleهای ساده pattern matching پیدا نمی‌شوند و به تحلیل semantic بیشتری نیاز دارند.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۸ Semgrep Supply Chain و Secrets Detection\u003C/h3>\u003Cp>Semgrep فقط کد خودت را نمی‌بیند؛ وابستگی‌ها و secrets را هم بررسی می‌کند. \u003Cstrong>Semgrep Supply Chain\u003C/strong> برای تحلیل dependencyها، شناسایی آسیب‌پذیری‌های قابل‌دسترسی و تولید SBOM طراحی شده است. مستندات رسمی توضیح می‌دهند که reachability analysis در این بخش کمک می‌کند فقط vulnerabilityهایی flag شوند که واقعاً به کد شما می‌رسند و قابل بهره‌برداری‌اند.&nbsp;\u003C/p>\u003Cp>مثال عملی :فرض کن پروژه‌ای از یک کتابخانه آسیب‌پذیر استفاده می‌کند، اما آن کد خطرناک هیچ‌وقت در مسیر اجرا قرار نمی‌گیرد. Semgrep Supply Chain با reachability analysis تلاش می‌کند این موارد را از آسیب‌پذیری‌هایی که واقعاً قابل بهره‌برداری‌اند جدا کند. نتیجه این است که تیم امنیت، وقتش را روی یافته‌های مهم‌تر می‌گذارد.&nbsp;\u003C/p>\u003Cp>Semgrep Secrets هم برای پیدا کردن credential، token، password و API key لو رفته است. مستندات رسمی و blogهای معرفی این محصول توضیح می‌دهند که این سیستم فقط از الگوهای سطحی استفاده نمی‌کند، بلکه از semantic analysis و validation هم بهره می‌گیرد تا false positive کمتر شود.&nbsp;\u003C/p>\u003Cp>\u003Cstrong>اگر کسی اشتباهاً این را در repository commit کند:\u003C/strong>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">python\r\nAPI_KEY = \"sk_live_123456789\"\u003C/code>\u003C/pre>\u003Cp>Semgrep Secrets می‌تواند چنین موردی را تشخیص دهد و جلوی انتشار آن را بگیرد. در تیم‌های واقعی، همین یک کشف ممکن است از یک incident بزرگ جلوگیری کند.&nbsp;\u003C/p>\u003Cp>Semgrep Secrets Scanning – تشخیص و جلوگیری از نشت کلیدهای محرمانه و credentials👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:800/465;\" src=\"https://api.dornadevops.com/media/articles/posts/Semgrep%20Secrets%20Scanning%20%E2%80%93%20%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5%20%D9%88%20%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C%20%D8%A7%D8%B2%20%D9%86%D8%B4%D8%AA%20%DA%A9%D9%84%DB%8C%D8%AF%D9%87%D8%A7%DB%8C%20%D9%85%D8%AD%D8%B1%D9%85%D8%A7%D9%86%D9%87%20%D9%88%20credentials_KEGJlO1.png\" alt=\"Semgrep Secrets Scanning – تشخیص و جلوگیری از نشت کلیدهای محرمانه و credentials\" width=\"800\" height=\"465\">\u003C/figure>\u003Chr>\u003Ch3>۹ Semgrep در CI/CD و PR Workflow\u003C/h3>\u003Cp>Semgrep برای ادغام در CI/CD ساخته شده است. مستندات deployment نشان می‌دهند که برای GitHub Actions، GitLab CI/CD، Jenkins، Bitbucket، CircleCI، Buildkite، Azure Pipelines و سایر runnerها راهنمای رسمی دارد. این یعنی می‌توانی Semgrep را به‌عنوان یک security gate واقعی در pipeline قرار بدهی.&nbsp;\u003C/p>\u003Cp>\u003Cstrong>مثال عملی GitLab CI\u003C/strong>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">yaml\r\nsemgrep:\r\n image: semgrep/semgrep\r\n script:\r\n    semgrep ci config=auto\u003C/code>\u003C/pre>\u003Cp>این سناریو خیلی ارزشمند است، چون به محض ایجاد یک merge request، اسکن امنیتی انجام می‌شود و اگر rule مهمی نقض شده باشد، همان‌جا visible می‌شود. این مدل، هم سرعت توسعه را حفظ می‌کند و هم جلوی ورود کد ناامن را می‌گیرد.&nbsp;\u003C/p>\u003Cp>در GitHub Actions هم می‌توان Semgrep را به عنوان بخشی از workflow اضافه کرد تا قبل از merge، اسکن خودکار انجام شود. این یکی از رایج‌ترین روش‌های استفاده از Semgrep در تیم‌های مدرن است.&nbsp;\u003C/p>\u003Cblockquote>\u003Cp>اگر می‌خواهید دقیق‌تر با فرآیند CI/CD و نقش آن در اتوماسیون توسعه آشنا شوید، حتماً مقاله «\u003Ca href=\"https://new.dornadevops.com/blog/devops/ci-cd-2026-zero-downtime-deployment\">CI/CD چیست\u003C/a>» را بخوانید، چون Semgrep معمولاً در همین مرحله استفاده می‌شود.\u003C/p>\u003C/blockquote>\u003Cp>ادغام Semgrep در CI/CD Pipeline – اسکن خودکار کد در GitLab CI و GitHub Actions👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1400/933;\" src=\"https://api.dornadevops.com/media/articles/posts/%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%20Semgrep%20%D8%AF%D8%B1%20CICD%20Pipeline%20%E2%80%93%20%D8%A7%D8%B3%DA%A9%D9%86%20%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1%20%DA%A9%D8%AF%20%D8%AF%D8%B1%20GitLab%20CI%20%D9%88%20GitHub%20Actions.png\" alt=\"Semgrep در CI/CD Pipeline – اسکن خودکار کد در GitLab CI و GitHub Actions\" width=\"1400\" height=\"933\">\u003C/figure>\u003Chr>\u003Ch3>۱۰ Semgrep در IDE و دنیای AI coding\u003C/h3>\u003Cp>Semgrep فقط برای CI نیست؛ \u003Cstrong>به دنیای IDE و ابزارهای AI هم وارد شده است. \u003C/strong>مستندات MCP نشان می‌دهند که Semgrep Plugin با Claude Code، Cursor، Windsurf و Codex سازگار است و به‌عنوان MCP client یا plugin کار می‌کند. این یعنی Semgrep می‌تواند در جریان تولید کد توسط agentها هم حضور داشته باشد.&nbsp;\u003C/p>\u003Cp>فرض کن یک توسعه‌دهنده با Cursor یا Claude Code در حال ساخت یک endpoint است. اگر agent کدی تولید کند که شامل الگوی ناامن باشد، Semgrep plugin می‌تواند همان‌جا هشدار بدهد یا حتی مسیر اصلاح را پیشنهاد کند. این دقیقاً همان چیزی است که Semgrep از آن به‌عنوان secure vibe coding یاد می‌کند.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۱۱ Autofix و remediation\u003C/h3>\u003Cp>Semgrep Autofix یکی از جذاب‌ترین قابلیت‌های نسخه جدید است. در \u003Cstrong>release notes\u003C/strong> رسمی ۲۰۲۶ آمده که Autofix برای Semgrep Code به beta رسیده و برای findingهای Code هم draft pull request می‌سازد. این قابلیت زمان فاصله بین «کشف مشکل» و «رفع مشکل» را کم می‌کند.&nbsp;\u003C/p>\u003Cp>اگر Semgrep تشخیص دهد که query به‌صورت unsafe ساخته شده، Autofix می‌تواند یک تغییر پیشنهادی ایجاد کند تا developer سریع‌تر آن را بازبینی و merge کند. این یعنی ابزار فقط هشدار نمی‌دهد؛ در مسیر remediation هم کمک می‌کند. semgrep.dev10\u003C/p>\u003Chr>\u003Ch3>۱۲ Semgrep CE یا Platform؟\u003C/h3>\u003Cp>\u003Cstrong>Semgrep CE\u003C/strong> نسخه متن‌باز، سبک و سریع است و برای اسکن‌های یک‌باره، استفاده محلی و تیم‌هایی که می‌خواهند شروع کم‌هزینه داشته باشند، بسیار مناسب است. مستندات رسمی می‌گویند CE برای افرادی مثل security auditorها، pentesterها و کسانی که اسکن‌های adhoc دارند، گزینه خوبی است.&nbsp;\u003C/p>\u003Cp>Semgrep Platform و Semgrep Code برای تیم‌هایی مناسب‌اند که به \u003Cstrong>تحلیل عمیق‌تر\u003C/strong>، \u003Cstrong>مدیریت findings، crossfile analysis، SCA\u003C/strong> و secrets به‌صورت یکپارچه نیاز دارند. در واقع انتخاب بین CE و Platform فقط انتخاب بین «رایگان» و «پولی» نیست؛ انتخاب بین «اسکن ساده» و «پلتفرم امنیتی کامل» است.&nbsp;\u003C/p>\u003Chr>\u003Ch3>۱۳ بهترین شیوه‌های استفاده\u003C/h3>\u003Cp>بهترین راه استفاده از Semgrep این است که آن را در سه سطح به‌کار ببری:&nbsp;\u003C/p>\u003Col>\u003Cli data-list-item-id=\"e9c3a5686a6a65d7469868043b15faf56\">روی لپ‌تاپ توسعه‌دهنده\u003C/li>\u003Cli data-list-item-id=\"e9073f204b705fc4cb23fbbae0f7291d7\">روی PR/MR&nbsp;\u003C/li>\u003Cli data-list-item-id=\"e94340bf9ca7c51ad5a058a78e810f0fd\">داخل CI/CD\u003C/li>\u003C/ol>\u003Cp>\u003Cstrong>این روش باعث می‌شود امنیت به‌جای اینکه یک مرحله‌ی انتهایی باشد، بخشی طبیعی از workflow شود.&nbsp;\u003C/strong>\u003C/p>\u003Cp>\u003Cstrong>مثال عملی :\u003C/strong>توسعه‌دهنده قبل از commit، local scan می‌زند.\u003Cbr>هنگام PR، pipeline اجرا می‌شود.\u003Cbr>اگر finding مهمی باشد، merge block می‌شود.\u003Cbr>اگر finding قابل اصلاح باشد، Autofix یا rule fix پیشنهاد می‌دهد.\u003C/p>\u003Cp>این چرخه باعث می‌شود هم سرعت تیم حفظ شود و هم امنیت به‌صورت سیستماتیک بالا برود.&nbsp;\u003C/p>\u003Cp>Semgrep در DevSecOps – از اسکن محلی تا پلتفرم کامل امنیتی کد در سرور ابری👇\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1920/1080;\" src=\"https://api.dornadevops.com/media/articles/posts/Semgrep%20%D8%AF%D8%B1%20DevSecOps%20%E2%80%93%20%D8%A7%D8%B2%20%D8%A7%D8%B3%DA%A9%D9%86%20%D9%85%D8%AD%D9%84%DB%8C%20%D8%AA%D8%A7%20%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85%20%DA%A9%D8%A7%D9%85%D9%84%20%D8%A7%D9%85%D9%86%DB%8C%D8%AA%DB%8C%20%DA%A9%D8%AF%20%D8%AF%D8%B1%20%D8%B3%D8%B1%D9%88%D8%B1%20%D8%A7%D8%A8%D8%B1%DB%8C.png\" alt=\"Semgrep در DevSecOps – از اسکن محلی تا پلتفرم کامل امنیتی کد در سرور ابری\" width=\"1920\" height=\"1080\">\u003C/figure>\u003Chr>\u003Ch3>\u003Cstrong>سوالات متداول &amp; FAQ Schema\u003C/strong>\u003C/h3>\u003Cp>\u003Cstrong>Semgrep چیست و چه تفاوتی با ابزارهای سنتی SAST دارد؟\u003C/strong>\u003C/p>\u003Cp>Semgrep یک ابزار تحلیل استاتیک کد است که با استفاده از الگوهای شبیه کد (نه regexهای پیچیده یا AST سنگین)، باگ‌ها و آسیب‌پذیری‌ها را شناسایی می‌کند. برخلاف ابزارهای سنتی SAST که معمولاً کند و پیچیده هستند، Semgrep سریع‌تر، سبک‌تر و برای توسعه‌دهندگان قابل‌فهم‌تر است.\u003C/p>\u003Cp>\u003Cstrong>آیا Semgrep فقط برای امنیت استفاده می‌شود؟\u003C/strong>\u003C/p>\u003Cp>خیر، Semgrep علاوه بر امنیت، برای بهبود کیفیت کد، enforce کردن coding standardها و جلوگیری از anti-patternها هم استفاده می‌شود. در واقع می‌توان از آن به‌عنوان یک quality gate در pipeline استفاده کرد.\u003C/p>\u003Cp>\u003Cstrong>تفاوت Semgrep Community Edition و Semgrep Code چیست؟\u003C/strong>\u003C/p>\u003Cp>نسخه Community Edition رایگان و متن‌باز است و بیشتر برای اسکن‌های ساده و محلی استفاده می‌شود. در مقابل، Semgrep Code قابلیت‌های پیشرفته‌تری مثل تحلیل cross-file، تشخیص دقیق‌تر آسیب‌پذیری‌ها و ویژگی‌های AI-based را ارائه می‌دهد.\u003C/p>\u003Cp>\u003Cstrong>آیا Semgrep برای پروژه‌های کوچک هم مناسب است؟\u003C/strong>\u003C/p>\u003Cp>بله، حتی پروژه‌های کوچک هم می‌توانند از Semgrep بهره ببرند. در واقع، استفاده زودهنگام از این ابزار باعث می‌شود از همان ابتدا استانداردهای امنیتی در پروژه رعایت شوند و در آینده هزینه‌های اصلاح کاهش یابد.\u003C/p>\u003Cp>\u003Cstrong>آیا استفاده از Semgrep باعث کند شدن CI/CD می‌شود؟\u003C/strong>\u003C/p>\u003Cp>اگر به‌درستی پیاده‌سازی شود، خیر. Semgrep بسیار سریع است و می‌توان اسکن‌ها را به‌صورت مرحله‌ای در pipeline توزیع کرد تا هم امنیت حفظ شود و هم سرعت توسعه کاهش پیدا نکند.\u003C/p>\u003Cp>\u003Cstrong>آیا می‌توان Semgrep را با Docker و Kubernetes استفاده کرد؟\u003C/strong>\u003C/p>\u003Cp>بله، Semgrep به‌راحتی در محیط‌های کانتینری اجرا می‌شود و می‌توان آن را در pipelineهای مبتنی بر Docker و Kubernetes ادغام کرد. این موضوع برای تیم‌هایی که روی سرورهای ابری کار می‌کنند بسیار مهم است.\u003C/p>\u003Cp>\u003Cstrong>Semgrep چگونه secrets را شناسایی می‌کند؟\u003C/strong>\u003C/p>\u003Cp>Semgrep با استفاده از ترکیبی از pattern matching، entropy analysis و validation تلاش می‌کند secrets واقعی را تشخیص دهد و از false positive جلوگیری کند.\u003C/p>\u003Cp>\u003Cstrong>چرا اسکن dependencyها (Supply Chain) اهمیت دارد؟\u003C/strong>\u003C/p>\u003Cp>زیرا بسیاری از حملات از طریق کتابخانه‌های شخص ثالث انجام می‌شوند. یک dependency آسیب‌پذیر می‌تواند بدون اطلاع شما وارد پروژه شود و ریسک جدی ایجاد کند. Semgrep با reachability analysis کمک می‌کند فقط موارد واقعاً خطرناک شناسایی شوند.\u003C/p>\u003Cp>\u003Cstrong>آیا Semgrep جایگزین Code Review می‌شود؟\u003C/strong>\u003C/p>\u003Cp>خیر، Semgrep مکمل Code Review است. این ابزار کارهای تکراری و قابل اتوماسیون را انجام می‌دهد تا تیم توسعه بتواند روی منطق و طراحی تمرکز کند.\u003C/p>\u003Cp>\u003Cstrong>آیا Semgrep در دنیای AI coding هم کاربرد دارد؟\u003C/strong>\u003C/p>\u003Cp>بله، Semgrep با ابزارهایی مانند Cursor و Claude Code ادغام شده و می‌تواند در همان لحظه تولید کد توسط AI، مشکلات امنیتی را شناسایی کند.\u003C/p>\u003Chr>\u003Ch3>\u003Cstrong>نتیجه‌گیری &amp; Call To Action\u003C/strong>\u003C/h3>\u003Cul>\u003Cli data-list-item-id=\"e621e1be3e07ebb9a6284e411e0bab197\">در دنیای امروز، نوشتن کد بدون در نظر گرفتن امنیت، مثل ساختن یک ساختمان بدون فونداسیون است. شاید در ابتدا همه‌چیز خوب به‌نظر برسد، اما دیر یا زود، یک مشکل کوچک می‌تواند به یک بحران بزرگ تبدیل شود.\u003C/li>\u003Cli data-list-item-id=\"e2fa051c28772803784bb07699c13cd3d\">Semgrep دقیقاً برای جلوگیری از همین سناریو ساخته شده است.\u003C/li>\u003Cli data-list-item-id=\"e5aaefd485fd2ce54f0f7567934386fa7\">این ابزار به شما کمک می‌کند امنیت را از یک فرآیند دیرهنگام و واکنشی، به یک بخش طبیعی و همیشگی از توسعه تبدیل کنید. با استفاده از Semgrep، می‌توانید قبل از اینکه کد به production برسد، مشکلات را شناسایی کنید، هزینه‌های اصلاح را کاهش دهید و کیفیت کلی پروژه را به‌طور محسوسی افزایش دهید.\u003C/li>\u003Cli data-list-item-id=\"ec5c6952471f0c3709d611d7d6e0c6925\">تیم‌هایی که از Semgrep استفاده می‌کنند، فقط امنیت بیشتری ندارند؛ بلکه سریع‌تر توسعه می‌دهند، خطاهای کمتری دارند و pipelineهای پایدارتر و حرفه‌ای‌تری می‌سازند. آن‌ها به‌جای اینکه منتظر وقوع مشکل باشند، آن را از ابتدا متوقف می‌کنند.\u003C/li>\u003Cli data-list-item-id=\"edd5e10822d4746e99bebc877ea497c55\">اما یک نکته مهم وجود دارد:\u003C/li>\u003Cli class=\"ck-list-marker-bold\" data-list-item-id=\"e897c60d8b5cb2878bf9d382370b28683\">\u003Cstrong>Semgrep به‌تنهایی کافی نیست.\u003C/strong>\u003C/li>\u003Cli data-list-item-id=\"ed9bf78d980068e0095618898a87b5f6c\">برای اینکه بهترین نتیجه را بگیرید، باید آن را در یک زیرساخت مناسب اجرا کنید. اجرای اسکن‌های مداوم، pipelineهای CI/CD، پروژه‌های کانتینری و تحلیل dependencyها نیاز به سرورهای پایدار، سریع و امن دارد. اگر زیرساخت شما ضعیف باشد، حتی بهترین ابزارها هم نمی‌توانند عملکرد واقعی خود را نشان دهند.\u003C/li>\u003C/ul>\u003Cblockquote>\u003Cp>\u003Cstrong>اگر می‌خواهی از رقبا جلو بزنی، باید همین امروز شروع کنی😁\u003C/strong>\u003C/p>\u003Cp>امنیت را به pipeline خود اضافه کن، کدهایت را هوشمندانه بررسی کن و Semgrep را به بخشی از DNA تیم توسعه‌ات تبدیل کن.\u003C/p>\u003Cp>&nbsp;\u003C/p>\u003C/blockquote>\u003Cp>&nbsp;\u003C/p>",7,"devsecops","DevSecOps","https://api.dornadevops.com/media/articles/category/images/devsecops.jpeg",{"name":13,"avatar":14,"firstName":15,"lastName":15},"الیاس پوررجب","👤","",10,"https://api.dornadevops.com/media/articles/images/semgrep-sast-code-security-devsecops.jpg.png",[9,19,20,21],"security","vulnerability","Static_Analysis",[23,25,27,29],{"name":24,"name_en":9},"دوسیلوپس (DevSecOps)",{"name":26,"name_en":19},"امنیت",{"name":28,"name_en":20},"آسیبـپذیری",{"name":30,"name_en":21},"تحلیل ایستا",{"articles":32,"count":34,"next":327,"previous":327},[33,50,61,73,83,93,107,117,128,138,147,160,169,182,192,198,207,216,224,233,245,253,262,270,279,287,298,308,318],{"id":34,"title":35,"slug":36,"excerpt":37,"content":37,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":42,"publishedAt":45,"readTime":46,"image":47,"tags":48,"tagsFa":49,"views":4},29,"طراحی سیستم‌های Highly Available چیست؟ راهنمای کامل معماری‌های در دسترس‌پذیر","highly-available-system-design-guide-2026","طراحی سیستم‌های Highly Available یعنی ساخت معماری‌هایی که در برابر خرابی‌های روزمره، outage و failover مقاوم باشند. در این مقاله HA را عمیق بررسی می‌کنیم.",5,"devops","دواپس","https://api.dornadevops.com/media/articles/category/images/devops.png",{"name":13,"avatar":14,"firstName":43,"lastName":44},"الیاس","پوررجب","1405-02-26",20,"https://api.dornadevops.com/media/articles/images/highly-available-system-design-2026.jpg.png",[],[],{"id":51,"title":52,"slug":53,"excerpt":54,"content":54,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":55,"publishedAt":56,"readTime":57,"image":58,"tags":59,"tagsFa":60,"views":4},28,"SRE چیست؟ راهنمای کامل Site Reliability Engineering در سیستم‌های مدرن","sre-site-reliability-engineering-guide-2026","SRE یا Site Reliability Engineering رویکردی مهندسی برای ساخت و نگهداری سیستم‌های قابل‌اعتماد، مقیاس‌پذیر و پایدار است. در این مقاله SRE را کامل بررسی می‌کنیم.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-25",18,"https://api.dornadevops.com/media/articles/images/sre-site-reliability-engineering-2026.jpg.png",[],[],{"id":62,"title":63,"slug":64,"excerpt":65,"content":65,"categoryId":66,"categorySlug":19,"categoryTitle":26,"categoryImage":67,"author":68,"publishedAt":56,"readTime":69,"image":70,"tags":71,"tagsFa":72,"views":4},27,"SLA چیست؟ راهنمای کامل Service Level Agreement در خدمات ابری","what-is-sla-cloud-service-level-agreement-2026","SLA یا Service Level Agreement قرارداد سطح خدمت در cloud است که uptime، service credit، scope و مسئولیت‌ها را مشخص می‌کند. در این مقاله SLA را کامل بررسی می‌کنیم.",8,"https://api.dornadevops.com/media/articles/category/images/security.jpeg",{"name":13,"avatar":14,"firstName":43,"lastName":44},15,"https://api.dornadevops.com/media/articles/images/sla-cloud-service-level-agreement-2026.jpg.png",[],[],{"id":74,"title":75,"slug":76,"excerpt":77,"content":77,"categoryId":66,"categorySlug":19,"categoryTitle":26,"categoryImage":67,"author":78,"publishedAt":79,"readTime":46,"image":80,"tags":81,"tagsFa":82,"views":4},26,"Network Firewall چیست؟ معرفی کامل فایروال شبکه و بهترین فایروال‌های جهان در ۲۰۲۶","what-is-network-firewall-best-firewalls-2026","Network Firewall لایه‌ای کلیدی برای کنترل ترافیک بین شبکه‌های قابل‌اعتماد و غیرقابل‌اعتماد است. در این مقاله، فایروال شبکه را عمیق بررسی می‌کنیم و بهترین گزینه‌های جهان را معرفی می‌کنیم.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-24","https://api.dornadevops.com/media/articles/images/network-firewall-best-firewalls-2026.jpg.png",[],[],{"id":84,"title":85,"slug":86,"excerpt":87,"content":87,"categoryId":66,"categorySlug":19,"categoryTitle":26,"categoryImage":67,"author":88,"publishedAt":79,"readTime":89,"image":90,"tags":91,"tagsFa":92,"views":4},25,"WAF چیست؟ معرفی کامل Web Application Firewall و بهترین WAFهای جهان","what-is-waf-best-waf-2026","WAF یا Web Application Firewall لایه‌ای امنیتی برای محافظت از وب‌اپلیکیشن‌ها در برابر حملات HTTP و HTTPS است. در این مقاله، WAF را کامل بررسی می‌کنیم و بهترین WAFهای جهان را معرفی می‌کنیم.",{"name":13,"avatar":14,"firstName":43,"lastName":44},17,"https://api.dornadevops.com/media/articles/images/what-is-waf-web-application-firewall-best-waf-2026.jpg.png",[],[],{"id":94,"title":95,"slug":96,"excerpt":97,"content":97,"categoryId":98,"categorySlug":99,"categoryTitle":100,"categoryImage":101,"author":102,"publishedAt":79,"readTime":103,"image":104,"tags":105,"tagsFa":106,"views":4},24,"گارد قرمز چیست؟ راهکار حرفه‌ای برای انسداد درخواست‌های خارجی وردپرس و افزایش سرعت پیشخوان","red-guard-wordpress-external-requests","افزونه گارد قرمز برای انسداد درخواست‌های خارجی وردپرس و افزایش سرعت پیشخوان سایت",9,"wordpress","وردپرس","https://api.dornadevops.com/media/articles/category/images/wordpress.jpeg",{"name":13,"avatar":14,"firstName":43,"lastName":44},12,"https://api.dornadevops.com/media/articles/images/red-guard-wordpress-external-requests-2026.jpg.png",[],[],{"id":108,"title":109,"slug":110,"excerpt":111,"content":111,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":112,"publishedAt":79,"readTime":113,"image":114,"tags":115,"tagsFa":116,"views":4},23,"GitLab چیست؟ ستون فقرات DevOps و CI/CD مدرن برای تیم‌های ایرانی","gitlab-devops-ci-cd-platform-iran","GitLab یک پلتفرم کامل DevOps برای مدیریت repository، CI/CD، Container Registry و Platform Engineering است که با زیرساخت داخلی، سرعت و پایداری بیشتری برای تیم‌های ایرانی فراهم می‌کند.",{"name":13,"avatar":14,"firstName":43,"lastName":44},14,"https://api.dornadevops.com/media/articles/images/gitlab-devops-platform-cloudnative-ci-cd-iran.jpg.png",[],[],{"id":118,"title":119,"slug":120,"excerpt":121,"content":121,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":122,"publishedAt":123,"readTime":124,"image":125,"tags":126,"tagsFa":127,"views":4},22,"آینده DevOps در عصر هوش مصنوعی ۲۰۲۶","future-of-devops-ai-agentic-2026","آینده DevOps به سمت AI-Native Delivery، agentic workflows، observability هوشمند و عملیات نیمه‌خودمختار مبتنی بر AI و Platform Engineering حرکت می‌کند.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-22",16,"https://api.dornadevops.com/media/articles/images/future-devops-ai-agentic-cloud-native-2026.jpg.png",[],[],{"id":129,"title":130,"slug":131,"excerpt":132,"content":132,"categoryId":66,"categorySlug":19,"categoryTitle":26,"categoryImage":67,"author":133,"publishedAt":134,"readTime":57,"image":135,"tags":136,"tagsFa":137,"views":4},21,"OS Hardening چیست؟ راهنمای جامع امن‌سازی سیستم‌عامل در ۲۰۲۶","os-hardening-guide-2026","OS Hardening مجموعه‌ای از تکنیک‌های چندلایه برای کاهش سطح حمله، محدودسازی دسترسی‌ها و مقاوم‌سازی سیستم‌عامل در برابر نفوذ است.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-18","https://api.dornadevops.com/media/articles/images/os-hardening-linux-security-cloud-native-2026.jpg.png",[],[],{"id":46,"title":139,"slug":140,"excerpt":141,"content":141,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":142,"publishedAt":143,"readTime":118,"image":144,"tags":145,"tagsFa":146,"views":4},"Prometheus و Grafana چیست؟ راهنمای کامل Observability در Cloud-Native","prometheus-grafana-observability-cloud-native","Prometheus و Grafana ستون‌های اصلی Observability هستند که متریک‌ها را جمع می‌کنند، تحلیل می‌کنند و به داشبوردهای عملیاتی و هشدارهای قابل‌اقدام تبدیل می‌کنند.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-16","https://api.dornadevops.com/media/articles/images/prometheus-grafana-observability-cloud-native-2026.jpg.png",[],[],{"id":148,"title":149,"slug":150,"excerpt":151,"content":151,"categoryId":152,"categorySlug":153,"categoryTitle":154,"categoryImage":155,"author":156,"publishedAt":143,"readTime":46,"image":157,"tags":158,"tagsFa":159,"views":4},19,"cPanel چیست؟ راهنمای کامل مدیریت سرور و هاست","cpanel-server-hosting-management-guide","cPanel همه‌چیز مدیریت هاست و سرور لینوکسی را در یک داشبورد ساده و قدرتمند جمع می‌کند؛ از سایت و ایمیل تا امنیت و اتوماسیون.",6,"cpanel","سیپنل","https://api.dornadevops.com/media/articles/category/images/cpanel.png",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/cpanel-hosting-control-panel-dashboard-2026_vzAoNcZ.jpg.png",[],[],{"id":57,"title":161,"slug":162,"excerpt":163,"content":163,"categoryId":8,"categorySlug":9,"categoryTitle":10,"categoryImage":11,"author":164,"publishedAt":165,"readTime":89,"image":166,"tags":167,"tagsFa":168,"views":4},"DefectDojo چیست؟ راهنمای کامل مدیریت آسیب‌پذیری در DevSecOps","defectdojo-vulnerability-management-devsecops","DefectDojo گزارش‌های امنیتی پراکنده را به یک مرکز فرماندهی واحد تبدیل می‌کند تا آسیب‌پذیری‌ها سریع‌تر، دقیق‌تر و قابل‌ردیابی‌تر مدیریت شوند.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-13","https://api.dornadevops.com/media/articles/images/defectdojo-vulnerability-management-devsecops-2026.jpg.png",[],[],{"id":89,"title":170,"slug":171,"excerpt":172,"content":172,"categoryId":66,"categorySlug":19,"categoryTitle":26,"categoryImage":67,"author":173,"publishedAt":177,"readTime":178,"image":179,"tags":180,"tagsFa":181,"views":4},"آسیب‌پذیری بسیار مهم در cPanel – هشدار امنیتی درباره CVE‑2026‑41940","cpanel-cve-2026-41940-security-alert","با انتشار آسیب‌پذیری CVE‑2026‑41940 برای cPanel، سرورهایی که هنوز روی نسخه‌های قدیمی‌تر از آخرین نسخه امن هستند در معرض تهدید جدی قرار گرفته‌اند. این آسیب‌پذیری می‌تواند امنیت کامل سرویس را به خطر بیندازد.",{"name":174,"avatar":14,"firstName":175,"lastName":176},"درنا ادمین","درنا","ادمین","1405-02-12",1,"https://api.dornadevops.com/media/articles/images/cpanel-vuln.png",[],[],{"id":124,"title":183,"slug":184,"excerpt":185,"content":185,"categoryId":8,"categorySlug":9,"categoryTitle":10,"categoryImage":11,"author":186,"publishedAt":187,"readTime":188,"image":189,"tags":190,"tagsFa":191,"views":4},"GitLeaks چیست؟ ابزار شناسایی Secrets در Git","what-is-gitleaks-sast-secret-detection","GitLeaks ابزار متن‌باز برای شناسایی رمزها و API Keyهای لو رفته در Git است که قبل از انتشار، جلوی نشت اطلاعات حساس را می‌گیرد.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-09",11,"https://api.dornadevops.com/media/articles/images/gitleaks-git-secrets-scanner-security.jpg.png",[],[],{"id":69,"title":5,"slug":193,"excerpt":6,"content":6,"categoryId":8,"categorySlug":9,"categoryTitle":10,"categoryImage":11,"author":194,"publishedAt":195,"readTime":16,"image":17,"tags":196,"tagsFa":197,"views":4},"semgrep-sast-devsecops",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-07",[],[],{"id":113,"title":199,"slug":200,"excerpt":201,"content":201,"categoryId":8,"categorySlug":9,"categoryTitle":10,"categoryImage":11,"author":202,"publishedAt":203,"readTime":46,"image":204,"tags":205,"tagsFa":206,"views":4},"DevSecOps در ۲۰۲۶؛ تزریق امنیت به CI/CD و کلود","devsecops-2026-security-in-ci-cd-cloud","چطور امنیت را از ابتدا وارد CI/CD و زیرساخت ابری کنیم بدون اینکه سرعت توسعه قربانی شود؟",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-02","https://api.dornadevops.com/media/articles/images/devsecops-security-ci-cd-cloud-2026_hnouteW.png",[],[],{"id":208,"title":209,"slug":210,"excerpt":211,"content":211,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":212,"publishedAt":203,"readTime":57,"image":213,"tags":214,"tagsFa":215,"views":4},13,"CI/CD در ۲۰۲۶؛ از صفر تا دیپلوی بدون قطعی","ci-cd-2026-zero-downtime-deployment","از پایه تا حرفه‌ای یاد بگیرید چطور بدون قطعی روی سرور ابری دیپلوی کنید.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/ci-cd-zero-downtime-cloud-deployment.png",[],[],{"id":103,"title":217,"slug":218,"excerpt":219,"content":219,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":220,"publishedAt":203,"readTime":124,"image":221,"tags":222,"tagsFa":223,"views":4},"ابزارهای DevOps در ۲۰۲۶؛ معرفی کامل و کاربردی","devops-tools-2026-complete-guide","بهترین ابزارهای DevOps را بشناسید و بفهمید هرکدام دقیقاً کجا استفاده می‌شوند.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/devops-tools-list-2026-cloud.png",[],[],{"id":188,"title":225,"slug":226,"excerpt":227,"content":227,"categoryId":38,"categorySlug":39,"categoryTitle":40,"categoryImage":41,"author":228,"publishedAt":229,"readTime":57,"image":230,"tags":231,"tagsFa":232,"views":4},"DevOps چیست؟ راهنمای کامل از صفر تا حرفه‌ای (۲۰۲۶)","what-is-devops-complete-guide-2026","از تعریف تا ابزارها و مسیر یادگیری DevOps را یک‌جا و حرفه‌ای یاد بگیرید.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-02-01","https://api.dornadevops.com/media/articles/images/what-is-devops-cloud-architecture-2026.png",[],[],{"id":16,"title":234,"slug":235,"excerpt":236,"content":236,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":241,"publishedAt":229,"readTime":16,"image":242,"tags":243,"tagsFa":244,"views":4},"تغییر دامنه در DirectAdmin؛ سریع و بدون دردسر","change-domain-directadmin-guide","دامنه سایت را در DirectAdmin بدون خطا و از دست رفتن اطلاعات تغییر دهید.",4,"directadmin","دایرکت ادمین","https://api.dornadevops.com/media/articles/category/images/directadmin.jpg",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/directadmin-change-domain-tutorial.jpg",[],[],{"id":98,"title":246,"slug":247,"excerpt":248,"content":248,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":249,"publishedAt":229,"readTime":16,"image":250,"tags":251,"tagsFa":252,"views":4},"نصب SSL رایگان در DirectAdmin؛ امن‌سازی فوری سایت","install-free-ssl-directadmin","در چند دقیقه SSL رایگان نصب کنید و امنیت سایت را تضمین کنید.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/directadmin-free-ssl-install.jpg",[],[],{"id":66,"title":254,"slug":255,"excerpt":256,"content":256,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":257,"publishedAt":258,"readTime":188,"image":259,"tags":260,"tagsFa":261,"views":4},"ساخت DNS اختصاصی برای دامنه؛ راهنمای کامل","create-custom-dns-domain-guide","یاد بگیرید DNS اختصاصی بسازید و کنترل کامل دامنه را در دست بگیرید.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-01-31","https://api.dornadevops.com/media/articles/images/custom-dns-setup-domain.jpg",[],[],{"id":8,"title":263,"slug":264,"excerpt":265,"content":265,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":266,"publishedAt":258,"readTime":124,"image":267,"tags":268,"tagsFa":269,"views":4},"آموزش کامل و قدم‌ به‌ قدم بازگردانی بکاپ در دایرکت ادمین","restore-backup-directadmin-guide","چطور در کمترین زمان سایت را از بکاپ برگردانیم؟",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/directadmin-backup-restore.jpg",[],[],{"id":152,"title":271,"slug":272,"excerpt":273,"content":273,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":274,"publishedAt":275,"readTime":103,"image":276,"tags":277,"tagsFa":278,"views":4},"تغییر دامنه در وردپرس؛ قدم‌به‌قدم و بدون خطا","change-domain-wordpress-step-by-step","تغییر نام، بدون تغییر سرنوشت ، دامنه وردپرس را بدون خراب شدن سایت تغییر دهید.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-01-30","https://api.dornadevops.com/media/articles/images/wordpress-domain-change-guide.jpg",[],[],{"id":38,"title":280,"slug":281,"excerpt":282,"content":282,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":283,"publishedAt":275,"readTime":103,"image":284,"tags":285,"tagsFa":286,"views":4},"بکاپ‌گیری حرفه‌ای در DirectAdmin (Admin Level)","directadmin-admin-backup-guide","چطور از کل سرور بکاپ بگیریم و در بحران نجاتش دهیم؟",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/directadmin-admin-level-backup.jpg",[],[],{"id":237,"title":288,"slug":289,"excerpt":290,"content":290,"categoryId":178,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"author":294,"publishedAt":275,"readTime":208,"image":295,"tags":296,"tagsFa":297,"views":4},"Portainer چیست؟ مدیریت حرفه‌ای Docker و Kubernetes","what-is-portainer-docker-management","Docker و Kubernetes را بدون دردسر و گرافیکی مدیریت کنید.","docker","داکر","https://api.dornadevops.com/media/articles/category/images/Screenshot_from_2026-03-06_15-05-14.png",{"name":13,"avatar":14,"firstName":43,"lastName":44},"https://api.dornadevops.com/media/articles/images/portainer-docker-kubernetes-ui.png",[],[],{"id":299,"title":300,"slug":301,"excerpt":302,"content":302,"categoryId":178,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"author":303,"publishedAt":304,"readTime":16,"image":305,"tags":306,"tagsFa":307,"views":4},3,"۷ اشتباه مرگبار در Docker که باید همین امروز اصلاح کنید","docker-mistakes-developers","اشتباهاتی که پروژه‌ات را نابود می‌کنند و چطور ازشان جلوگیری کنی.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1405-01-29","https://api.dornadevops.com/media/articles/images/docker-common-mistakes.png",[],[],{"id":309,"title":310,"slug":311,"excerpt":312,"content":312,"categoryId":237,"categorySlug":238,"categoryTitle":239,"categoryImage":240,"author":313,"publishedAt":314,"readTime":16,"image":315,"tags":316,"tagsFa":317,"views":4},2,"بکاپ‌گیری در DirectAdmin؛ آموزش کامل و ساده(بیمه عمر سایت شما!)","directadmin-backup-complete-guide","با چند کلیک از سایتت بکاپ بگیر و خیالت را راحت کن.",{"name":13,"avatar":14,"firstName":43,"lastName":44},"1404-12-15","https://api.dornadevops.com/media/articles/images/directadmin-backup-guide.jpg",[],[],{"id":178,"title":319,"slug":320,"excerpt":321,"content":321,"categoryId":178,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"author":322,"publishedAt":323,"readTime":178,"image":324,"tags":325,"tagsFa":326,"views":4},"نصب Docker بدون تحریم","install-docker-in-iran","نصب آفلاین Docker مخصوص سرورهای داخل ایران",{"name":174,"avatar":14,"firstName":175,"lastName":176},"1404-11-30","https://api.dornadevops.com/media/articles/images/install-docker-iran.png",[],[],null,[329,339,347,356,364,372,380,388,396],{"id":16,"name":330,"name_en":331,"image":332,"description":333,"slug":331,"headline":334,"tagline":335,"hidden":336,"group_type":337,"sort_order":338,"services":-1},"پشتیبانی و خدمات دواپس","devops-support","https://api.dornadevops.com/media/service_group_images/devops.png","\u003Cp>خدمات پشتیبانی ماهانه DevOps برای راه‌اندازی، نگهداری و عیب‌یابی زیرساخت‌های استقرار و مانیتورینگ ارائه می‌شود. این سرویس شامل پیاده‌سازی CI/CD، داکرایز کردن پروژه‌ها، راه‌اندازی مانیتورینگ، مدیریت لاگ و بهینه‌سازی فرایندهای استقرار است. هر پلن شامل تعداد ساعت مشخصی پشتیبانی است و در صورت مصرف بیشتر، ساعات مازاد به‌صورت جداگانه محاسبه خواهد شد.\u003C/p>","پشتیبانی و خدمات DevOps","راه‌اندازی، نگهداری و بهینه‌سازی زیرساخت DevOps برای استقرار سریع‌تر و پایدارتر",false,"F",91,{"id":178,"name":340,"name_en":341,"image":342,"description":343,"slug":341,"headline":344,"tagline":345,"hidden":336,"group_type":337,"sort_order":346,"services":-1},"پشتیبانی و مدیریت سرور لینوکسی","support","https://api.dornadevops.com/media/service_group_images/support.png","\u003Cp>خدمات پشتیبانی ماهانه برای مدیریت، عیب‌یابی و نگهداری سرورهای لینوکسی ارائه می‌شود. هر پلن شامل تعداد ساعت مشخصی پشتیبانی است و در صورت مصرف بیشتر، ساعات مازاد به‌صورت جداگانه محاسبه خواهد شد.\u003C/p>","پشتیبانی تخصصی سرور، متناسب با نیاز کسب‌وکار شما","از رفع خطاهای زیرساختی تا مدیریت روزمره سرور، با پلن‌های ماهانه و شفاف",90,{"id":309,"name":348,"name_en":349,"image":350,"description":351,"slug":349,"headline":352,"tagline":353,"hidden":336,"group_type":354,"sort_order":355,"services":-1},"لایسنس نرم‌افزارهای مدیریت سرور","license","https://api.dornadevops.com/media/service_group_images/license.png","\u003Cp>در این بخش می‌توانید لایسنس‌های موردنیاز برای مدیریت، امنیت، مجازی‌سازی و بهینه‌سازی سرور را به‌صورت ماهانه تهیه یا تمدید کنید. تمامی لایسنس‌ها با هدف افزایش کارایی، امنیت و سهولت مدیریت سرور ارائه می‌شوند.\u003C/p>","لایسنس‌های ضروری برای مدیریت حرفه‌ای سرور","از کنترل‌پنل و وب‌سرور تا امنیت و مجازی‌سازی، همه‌چیز برای یک زیرساخت کامل","S",80,{"id":38,"name":357,"name_en":358,"image":359,"description":360,"slug":358,"headline":361,"tagline":362,"hidden":336,"group_type":337,"sort_order":363,"services":-1},"سرور مجازی ایران با منابع اختصاصی","iran-vm","https://api.dornadevops.com/media/service_group_images/servers.png","\u003Cp>سرور مجازی ایران برای کسب‌وکارهایی مناسب است که به منابع اختصاصی‌تر، کنترل بیشتر و عملکرد پایدارتر نسبت به هاست اشتراکی نیاز دارند. این سرویس با پلن‌های متنوع و IP اختصاصی ارائه می‌شود.\u003C/p>","قدرت بیشتر، کنترل کامل‌تر، میزبانی در ایران","از پروژه‌های در حال رشد تا سرویس‌های حرفه‌ای، با منابع اختصاصی و دسترسی پایدار",70,{"id":237,"name":365,"name_en":366,"image":367,"description":368,"slug":366,"headline":369,"tagline":370,"hidden":336,"group_type":337,"sort_order":371,"services":-1},"هاست لینوکس ایران برای میزبانی سایت","linux-host","https://api.dornadevops.com/media/service_group_images/hosts.png","\u003Cp>هاست لینوکس ایران برای میزبانی سایت‌های شرکتی، فروشگاهی و شخصی با منابع متنوع، پهنای باند نامحدود و امکان استفاده از کنترل‌پنل‌های محبوب ارائه می‌شود. این سرویس برای راه‌اندازی سریع و پایدار وب‌سایت در داخل ایران مناسب است.\u003C/p>","میزبانی لینوکسی سریع و پایدار در ایران","انتخابی مناسب برای سایت‌های ایرانی با دسترسی بهتر، منابع متنوع و مدیریت آسان",63,{"id":66,"name":373,"name_en":374,"image":375,"description":376,"slug":374,"headline":377,"tagline":378,"hidden":336,"group_type":337,"sort_order":379,"services":-1},"هاست ایمیل حرفه‌ای","email","https://api.dornadevops.com/media/service_group_images/email.png","\u003Cp>سرویس ایمیل برای راه‌اندازی و مدیریت ایمیل سازمانی با تنظیمات بهینه و کاهش ریسک اسپم‌شدن ارائه می‌شود. این سرویس دارای پنل تحت وب، امکان ساخت حساب‌های متعدد و بکاپ هفتگی است.\u003C/p>","ایمیل سازمانی پایدار و حرفه‌ای برای کسب‌وکار شما","ارسال و دریافت مطمئن ایمیل با تنظیمات بهینه، پنل تحت وب و پشتیبانی مداوم",62,{"id":98,"name":381,"name_en":382,"image":383,"description":384,"slug":382,"headline":385,"tagline":386,"hidden":336,"group_type":337,"sort_order":387,"services":-1},"هاست لینوکس خارج با کیفیت بین‌المللی","linux-host-eu","https://api.dornadevops.com/media/service_group_images/hosts_6NC0r8y.png","\u003Cp>هاست لینوکس خارج برای سایت‌هایی مناسب است که به میزبانی با کیفیت بالا در خارج از کشور نیاز دارند. این سرویس با فضای مناسب، پهنای باند نامحدود، SSL و امکان استفاده از کنترل‌پنل‌های محبوب ارائه می‌شود.\u003C/p>","میزبانی لینوکسی خارج، مناسب پروژه‌های حرفه‌ای‌تر","کیفیت بالا، منابع مناسب و انتخابی مطمئن برای وب‌سایت‌های بین‌المللی یا خاص",61,{"id":299,"name":389,"name_en":390,"image":391,"description":392,"slug":390,"headline":393,"tagline":394,"hidden":336,"group_type":337,"sort_order":395,"services":-1},"فضای بکاپ و نگهداری نسخه پشتیبان","backup","https://api.dornadevops.com/media/service_group_images/backups.png","\u003Cp>هاست بکاپ مناسب ذخیره‌سازی امن فایل‌های پشتیبان سایت و سرور است و با فضای متنوع، ترافیک نامحدود و دسترسی FTP/SFTP ارائه می‌شود. این سرویس برای نگهداری نسخه‌های پشتیبان منظم و دسترسی سریع طراحی شده است\u003C/p>","فضایی مطمئن برای نگهداری بکاپ‌های مهم شما","ذخیره‌سازی سریع، ترافیک نامحدود و دسترسی امن برای مدیریت بهتر نسخه‌های پشتیبان",50,{"id":8,"name":397,"name_en":398,"image":399,"description":400,"slug":398,"headline":401,"tagline":402,"hidden":336,"group_type":337,"sort_order":4,"services":-1},"خدمات مانیتورینگ","monitoring","https://api.dornadevops.com/media/service_group_images/monitoring.png","\u003Cp>این سرویس برای پایش وضعیت دسترس‌پذیری و سلامت سرویس‌ها طراحی شده و با گزارش‌گیری، عیب‌یابی و اطلاع‌رسانی از طریق ایمیل و تلگرام، به شما در شناسایی سریع اختلال‌ها کمک می‌کند.\u003C/p>","همیشه از وضعیت سرویس‌های خود باخبر باشید","پایش لحظه‌ای آپتایم، گزارش دقیق و اطلاع‌رسانی سریع در زمان بروز اختلال",1779615404741]