.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "BANDIT" "1" "Feb 25, 2026" "" "Bandit" .SH "نام (NAME)" bandit \- ابزار بررسی امنیتی و تحلیل ایستای کد پایتون .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .TP .B bandit [\-h] [\-r] [\-a {file,vuln}] [\-n CONTEXT_LINES] [\-c CONFIG_FILE] [\-p PROFILE] [\-t TESTS] [\-s SKIPS] [\-l] [\-i] [\-f {csv,custom,html,json,screen,txt,xml,yaml}] [\-\-msg\-template MSG_TEMPLATE] [\-o [OUTPUT_FILE]] [\-v] [\-d] [\-q] [\-\-ignore\-nosec] [\-x EXCLUDED_PATHS] [\-b BASELINE] [\-\-ini INI_PATH] [\-\-exit\-zero] [\-\-version] [\fItargets\fR [\fItargets\fR ...]] .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp \fBbandit\fP ابزاری است که برای یافتن مشکلات امنیتی رایج در کدهای پایتون طراحی شده است. برای انجام این کار، بندیت هر فایل را پردازش کرده، از روی آن یک درخت نحو انتزاعی (AST) ایجاد می‌کند و افزونه‌های مناسب را روی گره‌های AST به اجرا درمی‌آورد. پس از پایان پایش تمام فایل‌ها، بندیت گزارش نهایی را تولید می‌کند. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B \-h\fP,\fB \-\-help نمایش این پیام راهنما و خروج .TP .B \-r\fP,\fB \-\-recursive یافتن و پردازش بازگشتی فایل‌ها در زیرشاخه‌ها .UNINDENT .INDENT 0.0 .TP .B \-a {file,vuln}, \-\-aggregate {file,vuln} تجمیع خروجی بر پایه نوع آسیب‌پذیری (پیش‌فرض) یا نام فایل .UNINDENT .INDENT 0.0 .TP .BI \-n \ CONTEXT_LINES\fR,\fB \ \-\-number \ CONTEXT_LINES حداکثر تعداد خطوط کد نمایشی پیرامون هر مشکل امنیتی .TP .BI \-c \ CONFIG_FILE\fR,\fB \ \-\-configfile \ CONFIG_FILE فایل پیکربندی اختیاری جهت انتخاب افزونه‌ها و بازنویسی مقادیر پیش‌فرض .TP .BI \-p \ PROFILE\fR,\fB \ \-\-profile \ PROFILE پروفایل مورد استفاده (پیش‌فرض: اجرای تمام آزمون‌ها) .TP .BI \-t \ TESTS\fR,\fB \ \-\-tests \ TESTS فهرستی از شناسه‌های آزمون (جداشده با کاما) برای اجرا .TP .BI \-s \ SKIPS\fR,\fB \ \-\-skip \ SKIPS فهرستی از شناسه‌های آزمون (جداشده با کاما) جهت نادیده گرفتن .TP .B \-l\fP,\fB \-\-level گزارش مواردی با سطح شدت مشخص‌شده یا بالاتر (برای سطح پایین: .BR \-l , برای سطح متوسط: .BR \-ll , برای سطح بالا: .BR \-lll ) .UNINDENT .INDENT 0.0 .TP .B \-l, \-\-severity\-level={all,high,medium,low} گزارش تنها مواردی با سطح شدت معین یا بالاتر. مقادیر \(dqall\(dq و \(dqlow\(dq احتمالاً خروجی یکسانی ایجاد می‌کنند، اما ممکن است قواعد تعریف‌نشده‌ای وجود داشته باشد که در \(dqlow\(dq فهرست نشوند. .UNINDENT .INDENT 0.0 .TP .B \-i\fP,\fB \-\-confidence گزارش مواردی با سطح اطمینان مشخص‌شده یا بالاتر (برای سطح پایین: .BR \-i , برای سطح متوسط: .BR \-ii , برای سطح بالا: .BR \-iii ) .UNINDENT .INDENT 0.0 .TP .B \-l, \-\-confidence\-level={all,high,medium,low} گزارش تنها مواردی با سطح اطمینان معین یا بالاتر. مقادیر \(dqall\(dq و \(dqlow\(dq احتمالاً خروجی یکسانی ایجاد می‌کنند، اما ممکن است قواعد تعریف‌نشده‌ای وجود داشته باشد که در \(dqlow\(dq فهرست نشوند. .TP .B \-f {csv,custom,html,json,sarif,screen,txt,xml,yaml}, \-\-format {csv,custom,html,json,sarif,screen,txt,xml,yaml} تعیین قالب‌بندی خروجی .UNINDENT .INDENT 0.0 .TP .BI \-\-msg\-template \ MSG_TEMPLATE تعیین الگوی پیام خروجی (فقط هنگام استفاده از .B \-\-format custom قابل استفاده است)؛ برای مشاهده مقادیر در دسترس بخش «قالب‌بندی سفارشی» را بررسی کنید. .TP .BI \-o \ OUTPUT_FILE\fR,\fB \ \-\-output \ OUTPUT_FILE نوشتن گزارش در فایل مشخص‌شده .TP .B \-v\fP,\fB \-\-verbose نمایش اطلاعات اضافی مانند فایل‌های مستثنی‌شده و واردشده .TP .B \-d\fP,\fB \-\-debug فعال کردن حالت اشکال‌زدایی .TP .B \-q\fP,\fB \-\-quiet\fP,\fB \-\-silent تنها نمایش خروجی در صورت وقوع خطا .TP .B \-\-ignore\-nosec صرف‌نظر نکردن از خطوط دارای توضیح # nosec .TP .BI \-x \ EXCLUDED_PATHS\fR,\fB \ \-\-exclude \ EXCLUDED_PATHS فهرستی از مسیرهای جداشده با کاما (با پشتیبانی از الگوهای glob) جهت نادیده گرفتن در پویش (توجه داشته باشید که این مسیرها علاوه بر مسیرهای مستثنی‌شده در فایل پیکربندی اعمال می‌شوند) (پیش‌فرض: \&.svn,CVS,.bzr,.hg,.git,__pycache__,.tox,.eggs,*.egg) .TP .BI \-b \ BASELINE\fR,\fB \ \-\-baseline \ BASELINE مسیر گزارش مبنا (Baseline) جهت مقایسه نتایج جدید با آن (تنها فایل‌های با قالب JSON پذیرفته می‌شوند) .TP .BI \-\-ini \ INI_PATH مسیر فایل .bandit که آرگومان‌های خط فرمان را تامین می‌کند .TP .B \-\-exit\-zero خروج با کد وضعیت صفر، حتی اگر مواردی کشف شده باشد .TP .B \-\-version نمایش شماره نسخه برنامه و خروج .UNINDENT .UNINDENT .UNINDENT .SS "قالب‌بندی سفارشی (CUSTOM FORMATTING)" .sp برچسب‌های موجود: .INDENT 0.0 .INDENT 3.5 {abspath}, {relpath}, {line}, {test_id}, {severity}, {msg}, {confidence}, {range} .UNINDENT .UNINDENT .sp نمونه کاربرد: .INDENT 0.0 .INDENT 3.5 الگوی پیش‌فرض: .sp bandit \-r examples/ \-\-format custom \-\-msg\-template \(dq{abspath}:{line}: {test_id}[bandit]: {severity}: {msg}\(dq .sp خروجی مشابه دستور زیر فراهم می‌کند: .sp bandit \-r examples/ \-\-format custom .sp برچسب‌ها همچنین می‌توانند به سبک متد string.format() پایتون قالب‌بندی شوند: .sp bandit \-r examples/ \-\-format custom \-\-msg\-template \(dq{relpath:20.20s}: {line:03}: {test_id:^8}: DEFECT: {msg:>20}\(dq .sp برای اطلاعات بیشتر پیرامون روش قالب‌بندی، مستندات پایتون را مشاهده کنید: \fI\%https://docs.python.org/3/library/string.html\fP .UNINDENT .UNINDENT .SH "فایل‌ها (FILES)" .INDENT 0.0 .TP .B \&.bandit فایلی که آرگومان‌های خط فرمان را تعیین می‌کند .TP .B /etc/bandit/bandit.yaml فایل پیکربندی قدیمی بندیت .UNINDENT .SH "مثال‌ها (EXAMPLES)" .sp نمونه استفاده در کل درخت کد: .INDENT 0.0 .INDENT 3.5 .sp .EX bandit \-r ~/your\-repos/project .EE .UNINDENT .UNINDENT .sp نمونه استفاده روی پوشه \fBexamples/\fP با نمایش سه خط زمینه و فقط گزارش مواردی با شدت بالا: .INDENT 0.0 .INDENT 3.5 .sp .EX bandit examples/*.py \-n 3 \-\-severity\-level=high .EE .UNINDENT .UNINDENT .sp بندیت می‌تواند با پروفایل‌ها اجرا شود. جهت اجرای بندیت روی پوشه examples تنها با افزونه‌های موجود در پروفایل ShellInjection: .INDENT 0.0 .INDENT 3.5 .sp .EX bandit examples/*.py \-p ShellInjection .EE .UNINDENT .UNINDENT .sp همچنین بندیت از ارسال خطوط کد برای پویش از طریق ورودی استاندارد پشتیبانی می‌کند. برای اجرای بندیت با ورودی استاندارد: .INDENT 0.0 .INDENT 3.5 .sp .EX cat examples/imports.py | bandit \- .EE .UNINDENT .UNINDENT .SH "همچنین ببینید (SEE ALSO)" .sp pylint(1) .SH "نویسندگان (AUTHORS)" PyCQA .SH "حق نشر (COPYRIGHT)" 2026, Bandit Developers .\" Generated by docutils manpage writer. .