跳到主要内容
知仓学习社ZHICANG

engagement-memory

Use when recalling prior techniques at recon/weaponize, or recording a confirmed finding at report — cross-engagement pattern memory ranked by impact

读凭据读文件写文件严重 0 · 高危 5hypnguyen1209/offensive-claude

它会碰到什么

扫了多少4 个文本文件,48 KB
它会碰到什么读凭据读文件写文件
命中总数15 处
命中统计严重 0 · 高 5 · 中 10 · 低 0
逐条看命中(5 条严重或高危)
  • scripts/pattern_db.py:90cred-envread
    return os.environ.get("ENGAGEMENT_DB") or os.path.join(
  • scripts/pattern_db.py:97cred-envread
    return os.environ.get("ENGAGEMENT_GLOBAL_DB") or os.path.join(
  • scripts/pattern_db.py:169cred-envread
    return os.environ.get("ENGAGEMENT_AUDIT") or _sibling(db, "audit.jsonl")
  • scripts/pattern_db.py:394cred-envread
    mode = os.environ.get("ENGAGEMENT_MEMORY_MODE", "auto").lower()
  • scripts/rotation.py:62cred-envread
    max_records = int(os.environ.get("ENGAGEMENT_DB_MAX_RECORDS", "5000"))

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Engagement Memory (cross-engagement learning)

When to Activate

  • At recon/weaponize: recall what already worked against this target class / tech stack.
  • At report: persist each [CONFIRMED] finding as a reusable pattern (ranked by impact).
  • Periodic housekeeping: compact the pattern DB / rotate the audit log.

Model

Append-only JSONL store (~/.claude/engagement-memory/patterns.jsonl, override $ENGAGEMENT_DB).

Three record types in their own files so they never mix: patterns (patterns.jsonl),

target profiles (profiles.jsonl), audit log (audit.jsonl, disposable). A pattern is keyed

by (target, vuln_class, technique), ranked by severity / CVSS / confidence (real impact, never

payout), and carries a lifecycle status (proposed/active/stale/deprecated/...). Recall is an

explicit top-N query (anti-context-bloat). Duplicates merge (count bumped, most-recent status

wins), never blind-discarded; compact runs automatically over a size threshold and stays lossless.

TTL stale patterns and deprecated/rejected ones drop out of default recall but are kept.

Commands

# RECALL — relevance-ranked (stdlib BM25 + aliases), active-only by default
python skills/engagement-memory/scripts/pattern_db.py match --vuln-class ssrf --query "imds metadata" --tech-stack aws
# INJECT — budgeted prior-intel card for a phase (top-N, byte-capped; $ENGAGEMENT_MEMORY_MODE=auto|debug|off)
python skills/engagement-memory/scripts/pattern_db.py inject --vuln-class ssrf --query imds --max-bytes 1500

# RECORD a confirmed finding (flags or finding JSON). A key collision needs --resolve update|merge|reject|force.
python skills/engagement-memory/scripts/pattern_db.py record --target acme.com --vuln-class ssrf \
    --cwe CWE-918 --attack-id T1190 --severity high --cvss 9.1 --tech-stack nginx,aws --technique "metadata theft"
python skills/engagement-memory/scripts/pattern_db.py record --json '<finding json from validate_findings>'

# LIFECYCLE + cross-client
python skills/engagement-memory/scripts/pattern_db.py promote   --target acme.com --vuln-class ssrf --technique "metadata theft" [--global]
python skills/engagement-memory/scripts/pattern_db.py deprecate --target acme.com --vuln-class ssrf --technique "metadata theft"
python skills/engagement-memory/scripts/pattern_db.py match --vuln-class ssrf --include-global   # add sanitized cross-client TTPs

# PROFILES + housekeeping + observability
python skills/engagement-memory/scripts/pattern_db.py profile --target acme.com --tech-stack nginx,aws --endpoints /api,/admin
python skills/engagement-memory/scripts/pattern_db.py recall-profile --target acme.com
python skills/engagement-memory/scripts/pattern_db.py compact         # manual lossless dedup-merge
python skills/engagement-memory/scripts/pattern_db.py stats           # patterns by class + profile count
python skills/engagement-memory/scripts/pattern_db.py audit-stats     # action log: by tool/action/outcome

Or use the /engage.memory command (recall | inject | record | promote | deprecate | gc | stats).

OPSEC & Detection

| Concern | Note |

|---------|------|

| Secrets at rest | Stores technique + CWE/CVSS + an evidence reference, never loot. A secret-input guard rejects evidence_ref/source that look like inline secrets (private keys, password=, AKIA, JWTs, tokens) — store a path; rotate the exposed credential, don't just delete. |

| Cross-client bleed | Per-client isolation is the default ($ENGAGEMENT_DB). The shared global store is opt-in (promote --global / record --global) and sanitized (target + evidence blanked); recall it only with --include-global. |

| Trust | New auto-captures can be proposed; only confirmed/reviewed findings are active. A key collision is review-gated (--resolve), not silently merged. |

| Auditability | Every record/match/compact/promote — and every refused line (denial) — is written to audit.jsonl (rotated by discard, with a retention-gap marker). The append-only patterns journal + audit log ARE the history. |

| Integrity | Records carry schema_version; malformed/type-poisoned/foreign lines are skipped on read, never trusted. |

Deep Dives

  • scripts/schemas.py — record types (pattern/audit/target_profile/retention_gap), validation + secret guard, pattern_key/pattern_id, impact+confidence rank_score, recency-resolving merge.
  • scripts/pattern_db.py — typed routing, merge-on-read with TTL staleness, BM25 relevance recall, inject, lifecycle verbs, global scope, CLI.
  • scripts/rotation.pycompact/maybe_gc (lossless dedup-merge, auto-triggered) vs rotate_audit (discard the disposable log + write a retention-gap marker).

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。