Agent skill · Audited from source

mex

skill · mex-memory/mexMIT licenceAudited 25 Oct 2026 · source 4d7a02841147

★ 1,779pushed today
✕BLOCKGrade F · 42/100 · 25 findings · 4d7a028
1,779repo stars · whole mex-memory/mex

Is it safe? No — BLOCK, grade F (42/100). We read this skill's source at commit 4d7a02841147 and observed filesystem, network and shell access and a hard-coded secret (see the findings). The audit raised 25 findings, 4 critical or high. What it does: Draft and review contributions to existing MEX project knowledge in the repo wiki. Use when the user wants to capture a team decision, convention, or architecture note, propose an addition or correction for team review,…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “mex (mex-memory/mex)”. Retrieved 25 Oct 2026. https://modelsatlas.com/skills/mex-memory/mex

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 4 critical or high findings, starting with “Code injection” in src/graph/db/sqlite.ts:54. Do not install it without reading them.

Trust audit

Audit 0.4.1 · source read 25 Oct 2026

Trust score42/100✕BLOCK F
0 critical4 high8 medium28 low5 info

BLOCK means the audit found something that could harm you or your machine. Grade F is shared by 105 of 14,816 audited skills.

What the source does

  • FilesystemDeclared7 observations
  • NetworkDeclared5 observations
  • ShellDeclared7 observations
  • DependenciesNot pinnedSome versions float
  • SecretsFoundSee the findings; values are never shown

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityWARN7
L1 Static sourceSecrets, path traversal, supply chain, hidden codeFAIL17
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL1
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (25)

HIGHCode injectioncode.eval_exec · src/graph/db/sqlite.ts:54
F-02 Code injectionCWE-78 · CWE-94 · CWE-95Layer L1
exec(sql: string): void;
Why
evaluates text as code
Fix
remove; use a parser or a dispatch table
HIGHCode injectioncode.eval_exec · src/graph/db/sqlite.ts:97
F-02 Code injectionCWE-78 · CWE-94 · CWE-95Layer L1
exec(sql: string): void {
Why
evaluates text as code
Fix
remove; use a parser or a dispatch table
HIGHCode injectioncode.eval_exec · src/graph/fingerprint-store.ts:13
F-02 Code injectionCWE-78 · CWE-94 · CWE-95Layer L1
exec(sql: string): void;
Why
evaluates text as code
Fix
remove; use a parser or a dispatch table
HIGHPrompt injectionprompt.zero_width · test/fixtures/wiki/adversarial/bom.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
<!-- mex:entity
Why
invisible characters in instruction text
Fix
strip non-printing characters
MEDIUMInventory / provenanceinv.binary · src/graph/wasm/tree-sitter-javascript.wasm
F-13 Inventory / provenanceCWE-1104Layer L0
tree-sitter-javascript.wasm
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
MEDIUMInventory / provenanceinv.binary · src/graph/wasm/tree-sitter-python.wasm
F-13 Inventory / provenanceCWE-1104Layer L0
tree-sitter-python.wasm
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
MEDIUMInventory / provenanceinv.binary · src/graph/wasm/tree-sitter-rust.wasm
F-13 Inventory / provenanceCWE-1104Layer L0
tree-sitter-rust.wasm
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
MEDIUMObfuscation / stealthobf.zero_width · src/agent-command.ts:1
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
import { AI_TOOLS, type AiTool } from "./types.js";
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.zero_width · src/wiki/markdown/positions.ts:18
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
const BOM = "";
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · src/hub/http/__tests__/app.test.ts:1432
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
member: () => ({ ...teamMember(), secret: "…" }) as never,
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · src/setup/__tests__/headless-population.test.ts:309
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
const secret = "…";
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · src/wiki/operations/__tests__/integrity.test.ts:389
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
const secret = "…";
Why
No further detail recorded for this rule.
Fix
—
LOWInventory / provenanceinv.hidden_file · .agents/skills/mex-inbox/.mex-managed.json
F-13 Inventory / provenanceCWE-1104Layer L0
.mex-managed.json
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWInventory / provenanceinv.hidden_file · .agents/skills/mex-relay/.mex-managed.json
F-13 Inventory / provenanceCWE-1104Layer L0
.mex-managed.json
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWInventory / provenanceinv.hidden_file · .mex/.tool-configs/.windsurfrules
F-13 Inventory / provenanceCWE-1104Layer L0
.windsurfrules
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWInventory / provenanceinv.hidden_file · templates/.tool-configs/.windsurfrules
F-13 Inventory / provenanceCWE-1104Layer L0
.windsurfrules
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWInsecure cryptocrypto.weak_hash · src/setup/subsystem-scope.ts:52
F-09 Insecure cryptoCWE-327 · CWE-338Layer L1
return createHash("sha1").update(readFileSync(path)).digest("hex");
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · evaluate/adapters/agents/claude.mjs:1
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
import { parseStructuredAnswer } from "../../compare/lib/answer.mjs";
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · evaluate/adapters/agents/claude.mjs:2
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
import { BASH_GUARD_DENIAL } from "../../compare/lib/bash-guard.mjs";
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · evaluate/adapters/agents/codex.mjs:1
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
import { parseStructuredAnswer } from "../../compare/lib/answer.mjs";
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · evaluate/adapters/agents/shared.mjs:1
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
import { parseJsonLines } from "../../core/jsonl.mjs";
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · evaluate/adapters/agents/shared.mjs:2
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
import { round } from "../../core/stats.mjs";
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.env_exfil · packages/hub-web/src/pages/SetupTranscript.test.tsx:92
F-04 Network egressCWE-200 · CWE-319Layer L1
/.env" ... curl
Why
reads secrets in the same file that sends data out
Fix
—
LOWNetwork egressnet.raw_ip · packages/hub-web/src/api/client.test.ts:244
F-04 Network egressCWE-200 · CWE-319Layer L1
expect(new URL(rawUrl, "http://127.0.0.1").pathname).toBe("/api/v1/overview");
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · packages/hub-web/src/api/client.test.ts:256
F-04 Network egressCWE-200 · CWE-319Layer L1
const url = new URL(rawUrl, "http://127.0.0.1");
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha 4d7a02841147 · 25 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishermex-memory GitHub organizationOwner of the repository this skill is read from
  • Source foldermex-memory/mexThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict4d7a02841147A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Draft and review contributions to existing MEX project knowledge in the repo wiki. Use when the user wants to capture a team decision, convention, or architecture note, propose an addition or correction for team review,…

---
name: mex-inbox
description: >-
  Draft and review contributions to existing MEX project knowledge in the repo wiki.
  Use when the user wants to capture a team decision, convention, or architecture
  note, propose an addition or correction for team review, or invokes /mex-inbox
  or $mex-inbox. Also supports existing Spec proposals. Keywords: mex, project
  memory, CLAUDE.md, team memory, drift, inbox. Do not activate for brainstorming
  alone, routine GROW upkeep, email inboxes, session logs, or handoffs.
---

# MEX Inbox

Turn an explicit request to retain project knowledge into a focused contribution for review. Inbox proposals are review artifacts; accepted knowledge belongs in the existing Wiki Markdown. Ordinary GROW upkeep can continue directly.

## Keep the scope honest

- Create one `knowledge.create` or `knowledge.update` change per draft, for an existing kind: `architecture`, `component`, `convention`, `decision`, `pattern`, or `guide`.
- Existing Spec workflows also support `spec.create` and `spec.update` for `spec`, `requirement`, `constraint`, and `acceptance_criterion`. Choose these only for actual Spec-family intent.
- Capture durable conclusions, their rationale, and useful evidence. Do not dump the conversation or present unresolved ideas as agreed facts.
- Do not route session logs, Relays, or routine GROW edits through Inbox merely because they contain context.

## Prepare a draft

1. Distill what future agents or teammates need to know from the user's request and discussion.
2. Search existing knowledge first. Prefer correcting or extending the relevant record or section when it already covers the subject; create a new entry when the claim has no suitable home.
3. Read the exact target and current revisions before drafting a correction. Preserve unrelated knowledge when replacing its body. Never guess an ID or revision.
4. Preserve useful files, code, commits, entities, and external links as evidence only when actually available. Never invent provenance, authors, dates, events, or history.
5. Build one request against the action-scoped runtime contract.
6. Run the exact preview flow and summarize the human effect before technical details.
7. When the user already asked to create, save, or draft it, apply that exact successful checkout-local draft preview without asking again.
8. Return `/inbox?view=drafts&draft=<id>` and state that the draft is checkout-local, nothing was published or shared, and review or publication happens in Hub.

Read [references/cli-workflows.md](references/cli-workflows.md) before executing any Inbox mutation. Load only the operation being performed.

## Apply the approval policy

- Proceed with read-only list, show, and target resolution.
- Treat an explicit create/save/draft request as authorization only for the local draft preview and exact apply.
- Preview a local draft deletion, explain that the checkout-local draft will be removed, and obtain fresh confirmation before applying.
- For publish, approve, reject, withdraw, mark stale, or repair: create a semantic preview, explain the local-versus-Git-tracked effect, and wait for fresh explicit confirmation. Apply the exact preview unchanged only after confirmation.
- Keep Git commit, push, pull, and staging separate from every MEX authorization.
- Never approve or publish merely because this skill activated.

## Report effects precisely

- Lead with what the proposal means to a person. Do not expose envelopes, hashes, revision machinery, or raw diffs unless diagnosis requires them.
- After a local draft write, say exactly what changed and that it remains checkout-only.
- After a canonical write, say which Git-tracked MEX artifacts were written to the working tree and that commit/push is still required to share them. Never claim that MEX committed or pushed.
- When MEX context materially helps your work, mention MEX and the relevant finding naturally in your explanation. Tie the mention to what it helped you understand, decide, or verify. Avoid fixed phrases, standalone acknowledgements, repeated mentions, or narrating routine context loading. This replaces older MEX instructions requiring a fixed acknowledgement or context-loading narration.

Excerpt, first 4,220 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 4d7a028

git clone https://github.com/mex-memory/mex.git
npm install
npm install -g [email protected]
npx skills add mex-memory/mex

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 4d7a02841147 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
GitHub CopilotMentioned in its text, not testedSkills for GitHub Copilot · About GitHub Copilot
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
WindsurfMentioned in its text, not testedSkills for Windsurf · About Windsurf
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK F 42 / 100

    first audit · source 4d7a02841147

README badge

For maintainers · shows the latest audit

ModelsAtlas: BLOCK FMODELSATLASBLOCK · F
[![ModelsAtlas: BLOCK F](https://modelsatlas.com/skills/mex-memory/mex/badge.svg)](https://modelsatlas.com/skills/mex-memory/mex/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

skills✓SAFE

zydo/skills

Use this skill for Python and TypeScript when a user wants to understand an unfamiliar API before coding against it — especially internal libraries, third-party SDKs, recently-upgraded dependencies, or APIs with…

★ 1Grade B
awesome-agent-skills✓SAFE

VoltAgent/awesome-agent-skills

A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.

★ 36kGrade B
Planning With Files✓SAFE

OthmanAdi/planning-with-files

Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion…

★ 27kGrade B
Planning With Files Ar✓SAFE

OthmanAdi/planning-with-files

Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion…

★ 27kGrade B
Planning With Files De✓SAFE

OthmanAdi/planning-with-files

Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion…

★ 27kGrade B
Planning With Files Es✓SAFE

OthmanAdi/planning-with-files

Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion…

★ 27kGrade B

Add this badge to your README

[![ModelsAtlas: BLOCK F](https://modelsatlas.com/skills/mex-memory/mex/badge.svg)](https://modelsatlas.com/skills/mex-memory/mex/)

Questions about mex

What does the mex skill do?
Team memory for engineers and their AI agents. Lives in your repo. Shared through Git.
Is mex safe to install?
No — not without reading the findings first. The audit graded it F (42/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can mex access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does mex work with?
Its documentation mentions claude-code, codex, copilot, cursor, openclaw and windsurf. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (4d7a02841147), read on 2026-10-25. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.