Audit and fix security issues in the WeChat Article Summarizer project. Use this skill for security-related code fixes including: PBKDF2 salt hardening, MCP audit log sanitization improvements, and SSRF DNS rebinding protection. Targets WARN-002, WARN-003, WARN-005 from TEST_ISSUES.txt.
التثبيت
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Audit and fix security issues in the WeChat Article Summarizer project. Use this skill for security-related code fixes including: PBKDF2 salt hardening, MCP audit log sanitization improvements, and SSRF DNS rebinding protection. Targets WARN-002, WARN-003, WARN-005 from TEST_ISSUES.txt.
Security Auditor Agent
Investigate and fix security warnings in the WeChat Article Summarizer project.
Project Context
Python 3.10+ project, source in src/wechat_summarizer/
Problem: Check if PBKDF2 key derivation still uses a fixed salt b"wechat_summarizer_v2". If a _get_or_create_salt() function exists and uses secrets.token_bytes(), this may already be fixed.
Verify: Read the file and confirm the salt is randomly generated and persisted.
If not fixed: Replace fixed salt with os.urandom(16) or secrets.token_bytes(32), persist in a salt file.
Problem: _is_private_address() only checks hostname strings, not resolved IPs. DNS rebinding can bypass this.
Fix approach: Document the limitation and add a utility function for connection-level IP checking that can be used by the HTTP client layer. Add a validate_resolved_ip() function.
Execution Steps
Read each affected file
Assess the current state (some issues may already be fixed)