Loading...
Loading...
Compare original and translation side by side
EditWriteMultiEditEditWriteMultiEdit${{ }}| Pattern | Category | Risk |
|---|---|---|
| GitHub Actions workflow expressions | Path-based | Workflow command injection via untrusted inputs |
| Substring | Node.js command injection |
| Substring | JS code injection |
| Substring | JS code injection |
| Substring | React XSS |
| Substring | DOM XSS |
| Substring | DOM XSS |
| Substring | Python deserialization RCE |
| Substring | Python command injection |
| Substring | Python command injection |
f-string SQL or | Substring | SQL injection |
| Substring | YAML deserialization RCE |
${{ }}| 模式 | 类别 | 风险 |
|---|---|---|
| GitHub Actions workflow expressions | 基于路径 | 通过不可信输入进行工作流命令注入 |
| 子字符串 | Node.js命令注入 |
| 子字符串 | JS代码注入 |
| 子字符串 | JS代码注入 |
| 子字符串 | React XSS |
| 子字符串 | DOM XSS |
| 子字符串 | DOM XSS |
| 子字符串 | Python反序列化远程代码执行(RCE) |
| 子字符串 | Python命令注入 |
| 子字符串 | Python命令注入 |
f-string SQL或 | 子字符串 | SQL注入 |
| 子字符串 | YAML反序列化远程代码执行(RCE) |
EditWriteMultiEditsecurity_reminder_hook.py~/.claude/security_warnings_state_<session>.jsonEditWriteMultiEditsecurity_reminder_hook.py~/.claude/security_warnings_state_<session>.jsonhooks.jsonundefinedhooks.jsonundefined
Once installed, no further configuration needed — the hook runs automatically.
安装完成后无需进一步配置——钩子会自动运行。ENABLE_SECURITY_REMINDER=0 claudeENABLE_SECURITY_REMINDER=0 claude
Use sparingly — the hook is most useful exactly when you're tempted to disable it (because you're under deadline pressure to ship something you know is sketchy).
请谨慎使用——当你因截止日期压力想要交付明知存在风险的代码时,正是该钩子发挥最大作用的时候。eval()pickleundefinedeval()pickleundefined
The hook will still warn on first edit per session. After acknowledging, subsequent edits in the same session are allowed (session-state caching).
钩子仍会在会话中首次编辑时发出警告。确认后,本次会话中的后续编辑将被允许(会话状态缓存)。~/.claude/security_warnings_state_<session_id>.json<file_path>-<rule_name>~/.claude/security_warnings_state_*.json~/.claude/security_warnings_state_<session_id>.json<file_path>-<rule_name>~/.claude/security_warnings_state_*.json~/.claude/security-warnings-log.txttail -f ~/.claude/security-warnings-log.txt~/.claude/security-warnings-log.txttail -f ~/.claude/security-warnings-log.txt
(Upstream version wrote to `/tmp/security-warnings-log.txt` — we moved it to `~/.claude/` for persistence across reboots.)
(上游版本写入`/tmp/security-warnings-log.txt`——我们将其移至`~/.claude/`以实现跨重启持久化。)alirezarezvani/aeo-boxsubprocess shell=True.formatyaml.unsafe_load/tmp/security-warnings-log.txt~/.claude/security-warnings-log.txtattributionplugin.jsonalirezarezvani/aeo-boxsubprocess shell=True.formatyaml.unsafe_load/tmp/security-warnings-log.txt~/.claude/security-warnings-log.txtplugin.jsonattributionENABLE_SECURITY_REMINDER=0ENABLE_SECURITY_REMINDER=0engineering-team/skills/red-teamengineering-team/skills/threat-detectionengineering-team/skills/ai-securityengineering/ship-gateengineering/skill-security-auditorengineering-team/skills/red-teamengineering-team/skills/threat-detectionengineering-team/skills/ai-securityengineering/ship-gateengineering/skill-security-auditoralirezarezvani/aeo-box.claude/plugins/security-guidance/alirezarezvani/aeo-box.claude/plugins/security-guidance/