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.pyutilizes 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.pyautomatically installs thefrida,frida-tools, andpycryptodomepackages from the standard PyPI registry usingpipif they are not detected in the environment. This is performed viasubprocess.runand is limited to these specific well-known libraries. - [COMMAND_EXECUTION]: The skill uses
subprocess.runto call the systemcodesignutility 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/with0o600permissions, 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