#15794: docs(security): comprehensive security audit report
docs
stale
size: XS
Cluster:
OpenClaw Plugin Enhancements
## Summary
- Adds a full security audit report (`docs/security/AUDIT-2026-02-13.md`) produced by 6 specialized agents scanning in parallel
- Links the report from `docs/security/README.md`
### Findings: 43 total
| Severity | Count | Primary Domains |
|----------|-------|----------------|
| **CRITICAL** | 7 | Chinese AI data sovereignty — 8 providers with zero warnings/opt-out/controls |
| **HIGH** | 10 | Plugin in-process execution, hook injection, supply chain (GH Actions pinning), browser eval |
| **MEDIUM** | 15 | Rate limiter off by default, prototype pollution, sandbox defaults, no `pnpm audit` in CI |
| **LOW** | 11 | Timing oracles, SSRF edge cases, Unicode bypasses |
### Top 5 Remediation Priorities
1. **Data sovereignty controls** — provider jurisdiction metadata, `blockChineseProviders` config, consent prompts, doc warnings
2. **Plugin capability model** — permission declarations, scoped runtime API, TOFU for workspace plugins
3. **Cross-channel isolation** — default `dmScope` to `per-channel-peer`
4. **Supply chain hardening** — pin GH Actions by SHA, pin Bun/Docker base image, add `pnpm audit` to CI
5. **Auth & sandbox defaults** — enable rate limiting by default, validate sandbox bind mounts
### Positive Findings
Strong security engineering in SSRF protection, timing-safe auth, external content wrapping, config redaction, exec approval system, Docker sandbox hardening, and pre-commit hooks.
## Test plan
- [ ] Verify report renders correctly on GitHub and Mintlify docs
- [ ] Verify `docs/security/README.md` link resolves
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR adds a new security audit report (`docs/security/AUDIT-2026-02-13.md`) and links it from `docs/security/README.md`.
The docs link looks correct, and the audit report is generally well-structured (TOC, tables, remediation sections). One merge-blocking issue: the report states that `session.dmScope` “defaults to `"main"`”, but the referenced code indicates a fallback when config is unset, not necessarily a defined default. This should be reworded or backed by a source for the default value so the report remains accurate.
<h3>Confidence Score: 4/5</h3>
- This PR is safe to merge after fixing a small documentation accuracy issue.
- Changes are docs-only and the README link is correct. The main risk is factual correctness: at least one claim (dmScope “defaults to main”) is misleading based on the referenced source and should be corrected to avoid spreading incorrect security guidance.
- docs/security/AUDIT-2026-02-13.md
<sub>Last reviewed commit: a1ee766</sub>
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#15757: feat(security): add hardening gap audit checks
by saurabhsh5 · 2026-02-13
81.6%
#7487: docs: add code review for recent security commits (b796f6e..411d5fd)
by INTEGRITY2077 · 2026-02-02
80.9%
#19690: fix: security audit suppression, MoE false positive, and hook prefi...
by adityuhkapoor · 2026-02-18
79.6%
#11048: fix: address repository issues (env, author, CI comments, security ...
by cavula · 2026-02-07
79.5%
#14871: Claude/audit codebase architecture 8a ql2
by MagnoliaLex · 2026-02-12
79.5%
#10514: Security: harden AGENTS.md with gateway, prompt injection, and supp...
by catpilothq · 2026-02-06
79.4%
#22070: docs: add minimal public safety checklist for template sharing
by MinwooKim1990 · 2026-02-20
78.6%
#18924: fix(security): tighten permissions on cron/, browser/, settings/ dirs…
by rexlunae · 2026-02-17
77.3%
#21964: Security: harden gateway and plugin trust boundaries
by Elormyevu · 2026-02-20
77.2%
#23165: fix(security): detect plaintext credentials in security audit
by ihsanmokhlisse · 2026-02-22
77.1%