
قم بتجريد المحتوى الشبيه بالبيانات الاعتمادية من السلاسل النصية الحرة قبل وصولها إلى السجلات أو بيانات القياس عن بُعد. جزء من مجموعة أدوات phpboyscout Go. · https://redact.go.phpboyscout.uk
إزالة المحتوى الشبيه ببيانات الاعتماد من النصوص الحرة قبل وصولها إلى السجلات أو القياسات عن بُعد أو أي واجهة خارجية
جزء من phpboyscout Go toolkit: وحدات Go صغيرة بلا إطار عمل، مستخرجة من go-tool-base. التوثيق: redact.go.phpboyscout.uk
يقوم gitlab.com/phpboyscout/go/redact بإزالة المحتوى الشبيه ببيانات الاعتماد من النصوص
الحرة عند الحدود بين أسطح المراقبة الموثوقة وغير الموثوقة، مثل
موردي القياسات عن بُعد، ومجمّعات السجلات، ومخازن المقاييس. فغالبًا ما تحمل رسائل
الأخطاء، ومعطيات الأوامر، وقيم ترويسات HTTP أسرارًا عن غير قصد (رابط يحتوي على
معلومات مستخدم مضمّنة، أو علامة --api-key=sk-… في os.Args، أو ترويسة
Authorization مقتبسة في خطأ تصدير). مرّر هذه عبر redact.String عند
الخروج ولن تغادر العملية أبدًا بصورة مكشوفة.
regexp، strings)، فلا يدخل شيء سوى
الوحدة نفسها إلى مخططك. ويفرض ذلك حارس depfootprint_test.go،
ويُبقي الاختبارات على testify وgo/errors الخاصة بالمشروع.go get gitlab.com/phpboyscout/go/redact
import "gitlab.com/phpboyscout/go/redact"
safe := redact.String("failed calling https://user:[email protected]?api_key=sk-abc123…")
// → credentials in the URL userinfo, the api_key query param, and the sk- token are masked
msg := redact.Error(err) // redact.String applied to err.Error() (nil-safe)
if redact.IsSensitiveHeaderKey("Authorization") { /* … redact this header's value … */ }
يزيل redact.String معلومات المستخدم من الروابط لأي مخطط (https://، postgres://،
redis://، …)، وإسنادات بيانات الاعتماد بصيغة name=value، وحقول بيانات الاعتماد في JSON
مثل "access_token" و"client_secret"، ورموز ترويسة Authorization، وJWTs،
وبادئات المزوّدين المعروفة (sk-، ghp_، glpat-، AIza، AKIA، Slack)،
والرموز المعتمة الطويلة. ويحدّد SensitiveHeaderKeys / IsSensitiveHeaderKey
الترويسات التي ينبغي إزالة قيمها.
لا تبلغ فهارس الأنماط استرجاعًا بنسبة 100% أبدًا، وهذا الفهرس متحفّظ عن قصد:
String قيم الترويسات العشوائية. فهو يعرف Authorization:
ولا شيء غيرها؛ أما X-API-Key: … فيمرّ دون تغيير. وهذا هو الغرض من رموز
الترويسات.توضّح ما لا يفعله redact الحدود الكاملة.
أدلة كاملة ومرجع ونموذج تهديد: redact.go.phpboyscout.uk. توثيق API المُولّد وأمثلة قابلة للتشغيل: pkg.go.dev.
انظر LICENSE.