AgentSweep: جاروی سکرتها از تاریخچهٔ ایجنتهای کدنویسی
خلاصهٔ کاملتر
تو مستندات این پروژه اومده که Claude Code و بقیهٔ ایجنتهای کدنویسی، کل تاریخچهٔ گفتگو رو به شکل متن ساده روی دیسک نگه میدارن: برای Claude Code زیر ~/.claude/projects/ و برای Codex زیر ~/.codex/sessions/. یعنی هر کلید AWS، هر فایل .env و هر connection string دیتابیس که یه بار برای دیباگ پیست کردی، بدون تاریخ انقضا همونجا میمونه. AgentSweep همین فایلها رو میگرده، میگه چی لو رفته و میتونه مقدارها رو سر جاشون redact کنه.
پشتیبانی از ۳۱ ایجنت داره (از Cursor و Windsurf و Aider تا Gemini CLI و Goose) و ۲۰۶ قاعدهٔ regex برای توکنهای AWS، GitHub، Stripe، OpenAI، Anthropic، JWT، کلیدهای PEM و آدرسهای دیتابیس با پسورد. کنارش یه تشخیصدهندهٔ seed phrase داره که BIP-39 رو با checksum تأیید میکنه، پس یه متن انگلیسی معمولی که اتفاقی چندتا از کلمات کیف پول توش باشه، الکی فلگ نمیشه. کل کار آفلاینه و هیچ درخواست شبکهای نمیفرسته. نصبش هم سادهست:
uv tool install agentsweep
asweepبخش قابل اعتمادش همون قسمت نوشتنه، چون یه ابزاری که تاریخچهت رو خراب کنه بدتر از خود نشتیه. جایگزینی روی ساختار JSON پارسشده انجام میشه نه روی بایت خام، نوشتن atomic هست (فایل موقت، بعد os.replace)، و قبل از نهایی شدن یه اعتبارسنجی اجرا میشه: تو JSONL باید همهٔ خطها پارس بشن و تعدادشون با قبل یکی باشه و تو SQLite باید PRAGMA integrity_check رد بشه. یه بکاپ .bak با دسترسی فقط مالک ساخته میشه و agentsweep undo همهچیزو برمیگردونه.
چندتا گیت محافظهکارانه هم داره: سیملینکها رد میشن، فایلی که تو ۶۰ ثانیهٔ اخیر تغییر کرده دست نمیخوره، اگه پروسهٔ Claude Code در حال اجرا باشه کار متوقف میشه، و چون پروژه هنوز alpha هست برای دست زدن به مسیر پیشفرض باید صراحتاً --allow-production بدی. هر نوشتن هم با هش SHA256 قبل و بعد تو ~/.agentsweep/audit.jsonl لاگ میشه.
برای CI هم خروجی SARIF 2.1.0 میده تا نتایج بهجای پارس دستی، مستقیم به GitHub code scanning برن (فقط پیشنمایش ماسکشده میره تو گزارش، نه خود کلید). یه هوک pre-commit هم داره که قبل از هر کامیت، تاریخچهٔ ایجنتهای نصبشده رو اسکن میکنه:
repos:
- repo: https://github.com/Ishannaik/agent-sweep
rev: v0.1.9
hooks:
- id: agentsweepنویسنده خودش تأکید میکنه این ابزار معجزه نمیکنه: کلیدی که تو یه ایجنت ابری پیست شده، قبل از رسیدن به دیسک از سرورهای ارائهدهنده رد شده و AgentSweep فقط بردار حملهٔ محلی رو میبنده، یعنی بدافزارها و پکیجهای آلودهای که دیسک رو دنبال credential میگردن. ضمناً فایلهای .bak هنوز نسخهٔ اصلی و سکرتهای خام رو دارن، پس کار وقتی تموم میشه که کلیدها rotate بشن و بعدش با agentsweep purge بکاپها پاک بشن.
نکات کلیدی:
- ابزار CLI پایتونی (نیازمند Python 3.11+)، کاملاً آفلاین و بدون هیچ درخواست شبکهای
- پشتیبانی از ۳۱ ایجنت و ۲۰۶ قاعدهٔ تشخیص، بهعلاوهٔ تشخیص BIP-39 با تأیید checksum
- بکاپ .bak با مود ۰۶۰۰، agentsweep undo برای برگشت و agentsweep purge بعد از rotate
- گیت ۶۰ ثانیهای mtime، رد کردن سیملینک و توقف موقع اجرای Claude Code
- خروجی SARIF 2.1.0 برای GitHub code scanning و هوک pre-commit




