yichen-wechat-local-vault

Pass

Audited by Gen Agent Trust Hub on Oct 29, 2026

Risk Level: SAFEDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATION
Full Analysis
  • [DYNAMIC_EXECUTION]: The script extract_keys.py utilizes the Frida framework to perform dynamic instrumentation of a local WeChat process copy to capture database encryption keys. It generates a temporary Python host script and associated JavaScript hooks at runtime to manage the instrumentation session.
  • [EXTERNAL_DOWNLOADS]: extract_keys.py automatically installs the frida, frida-tools, and pycryptodome packages from the standard PyPI registry using pip if they are not detected in the environment. This is performed via subprocess.run and is limited to these specific well-known libraries.
  • [COMMAND_EXECUTION]: The skill uses subprocess.run to call the system codesign utility on a local copy of the WeChat application. This ad-hoc signing is used to enable the application to be instrumented by Frida on macOS.
  • [INDIRECT_PROMPT_INJECTION]: As the skill processes untrusted chat data, it implements several architectural safeguards. These include using explicit safety markers in its output (e.g., untrusted_snapshot_data) and providing a workflow that saves large volumes of message data to local files before analysis to prevent an agent from directly executing adversarial instructions found in chat logs.
  • [DATA_EXFILTRATION]: During the key extraction process, captured cryptographic material (PBKDF2 keys and salts) is temporarily stored in /tmp/wechat_frida_keys.log. While this data is used only locally to decrypt the databases and the skill correctly protects its permanent configuration files in ~/.config/ with 0o600 permissions, the use of a shared directory like /tmp/ without explicit permission tightening represents a minor local data exposure risk in multi-user environments.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 29, 2026, 06:19 PM