Back to skill

Security audit

Automate your Job Search

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate Mokaru job-search integration, but it can read, modify, and delete sensitive career and contact records without enough built-in confirmation guidance.

Install only if you are comfortable giving the agent access to your Mokaru account data, including resumes, work history, education, skills, applications, and contacts. Before using write or delete requests, require the agent to show the exact record details and ask for explicit confirmation, especially for resume and profile changes.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (70)

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · README.md (reported line 85)May include surrounding context.

md
| GET | `/v1/skills` | List skills |
| GET | `/v1/skills/:id` | Get skill detail |
| POST | `/v1/skills` | Create skill |
| PATCH | `/v1/skills/:id` | Update skill |
| DELETE | `/v1/skills/:id` | Delete skill |

## Example usage

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

A delete endpoint accepting only an ID is vulnerable to accidental or malicious misuse by an agent if the wrong identifier is selected from context. Because the skill does not require an explicit confirmation flow or identity verification of the target record, a mistaken parameter can irreversibly remove the wrong contact data.

Content

Scanner excerpt · SKILL.md (reported line 574)May include surrounding context.

md
**When to use:** The user wants to remove a contact. They might say "delete that contact" or "remove Sarah from my contacts."

**Method:** `DELETE /v1/contacts/{id}`

**Required scope:** `contacts:write`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

Resume deletion by opaque ID is dangerous in an agent workflow because the wrong resume can be removed through ambiguity or stale context. The consequence is significant since deleting a default resume can trigger linked side effects, including unlinking applications and deleting related autopilot searches.

Content

Scanner excerpt · SKILL.md (reported line 925)May include surrounding context.

md
**When to use:** The user wants to remove a resume. They might say "delete that old resume" or "remove my Backend CV."

**Method:** `DELETE /v1/resume/{id}`

**Required scope:** `resume:write`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

Experience deletion is a destructive action keyed only by ID and can be abused through parameter confusion or incorrect entity selection. This can silently damage the user's employment history and any resumes derived from that profile data.

Content

Scanner excerpt · SKILL.md (reported line 1190)May include surrounding context.

md
**When to use:** The user wants to remove a work experience. They might say "delete that old job" or "remove the internship from my profile."

**Method:** `DELETE /v1/experiences/{id}`

**Required scope:** `experiences:write`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

Education deletion accepts an ID without additional safeguards, making accidental deletion plausible in an automated setting. Loss of academic history can affect resume quality and user trust, especially if the wrong record is targeted.

Content

Scanner excerpt · SKILL.md (reported line 1416)May include surrounding context.

md
**When to use:** The user wants to remove an education entry. They might say "delete that school" or "remove my old degree."

**Method:** `DELETE /v1/education/{id}`

**Required scope:** `education:write`

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · SKILL.md (reported line 1579)May include surrounding context.

md
---

### 32. Update Skill

**When to use:** The user wants to change a skill's details. They might say "change my TypeScript level to expert" or "update that skill's category."

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

Skill deletion is less severe than deleting resumes or contacts, but it is still a destructive modification vulnerable to ID misuse in agent orchestration. Removing the wrong skill may distort the user's profile and downstream resume rendering.

Content

Scanner excerpt · SKILL.md (reported line 1627)May include surrounding context.

md
**When to use:** The user wants to remove a skill. They might say "delete that skill" or "remove TypeScript from my profile."

**Method:** `DELETE /v1/skills/{id}`

**Required scope:** `skills:write`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

Deleting tracked applications by ID is susceptible to parameter mix-ups in a conversational workflow, even if the backend uses soft-delete. Removing the wrong application can disrupt the user's pipeline tracking and lose visibility into notes and status in the active interface.

Content

Scanner excerpt · SKILL.md (reported line 1654)May include surrounding context.

md
**When to use:** The user wants to remove an application from their tracker. They might say "delete that application" or "remove the Acme job from my tracker."

**Method:** `DELETE /v1/tracker/applications/{id}`

**Required scope:** `tracker:write`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The workflow guidance normalizes delete operations without any built-in confirmation or target-validation step, increasing the chance that an agent will execute destructive actions from vague user requests. For contacts, that can erase third-party PII records using only an opaque ID.

Content

Scanner excerpt · SKILL.md (reported line 1701)May include surrounding context.

md
2. Call `GET /v1/contacts/{id}` for full contact details.
3. To add a new contact, call `POST /v1/contacts` with at least `firstName` and `lastName`.
4. To update contact info, call `PATCH /v1/contacts/{id}` with the fields to change. Pass `null` to clear optional fields.
5. To delete, call `DELETE /v1/contacts/{id}`.

### Managing work experiences

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
94% confidence
Finding

The work-experience management workflow includes deletion as a routine step without warning or confirmation semantics. In an agent context that materially increases the risk of destructive parameter misuse from ambiguous conversational references.

Content

Scanner excerpt · SKILL.md (reported line 1709)May include surrounding context.

md
2. Call `GET /v1/experiences/{id}` to see full details of a specific experience.
3. To add a new experience, call `POST /v1/experiences` with at least `jobTitle` and `company`.
4. To update, call `PATCH /v1/experiences/{id}` with the fields to change. Pass `null` to clear optional fields.
5. To delete, call `DELETE /v1/experiences/{id}`.

### Managing education

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
94% confidence
Finding

The education workflow similarly encourages direct deletion by ID with no confirmation controls. That omission makes accidental destructive edits more likely when users refer imprecisely to schools or degrees.

Content

Scanner excerpt · SKILL.md (reported line 1717)May include surrounding context.

md
2. Call `GET /v1/education/{id}` to see full details of a specific education entry.
3. To add, call `POST /v1/education` with at least `institution` and `degree`.
4. To update, call `PATCH /v1/education/{id}` with the fields to change. Pass `null` to clear optional fields.
5. To delete, call `DELETE /v1/education/{id}`.

### Managing skills

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

The skills workflow treats delete as a normal final step without describing validation or confirmation, which is unsafe for an automated agent. Ambiguous references can result in removal of unintended profile items.

Content

Scanner excerpt · SKILL.md (reported line 1725)May include surrounding context.

md
2. Call `GET /v1/skills/{id}` to see details of a specific skill.
3. To add a skill, call `POST /v1/skills` with at least `name`.
4. To update, call `PATCH /v1/skills/{id}` with the fields to change. Pass `null` to clear optional fields.
5. To delete, call `DELETE /v1/skills/{id}`.

### Managing resumes

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

The resume workflow includes delete as a routine action despite important side effects and no stated confirmation requirement. This combination makes parameter abuse more dangerous because deleting the wrong resume can cascade into unlinking applications and deleting related automations.

Content

Scanner excerpt · SKILL.md (reported line 1734)May include surrounding context.

md
3. To create a new resume, call `POST /v1/resume` with a name and optional content.
4. To update resume content (add skills, experiences, etc.), call `PATCH /v1/resume/{id}` with the fields to change.
5. To export as PDF, call `POST /v1/resume/{id}/export/pdf` and save the binary response to a file.
6. To delete, call `DELETE /v1/resume/{id}`. Linked applications are unlinked, not deleted.

---

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill handles resumes, profiles, work history, education, skills, and job application data, all of which are highly personal, yet the README does not warn that this information will be transmitted to an external service. That creates a meaningful privacy risk because users may disclose sensitive employment and identity information without informed consent about third-party processing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The README advertises create, update, and delete operations for applications, contacts, resumes, profile data, experiences, education, and skills, but provides no warning that these actions can modify or permanently remove sensitive career records. In an agent setting, this omission increases the chance that a user or upstream agent invokes destructive operations without clear confirmation or understanding of the consequences.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest description frames the skill as job search and application help, but the documented capabilities also include broad profile, resume, education, experience, skills, and contact CRUD operations. That understatement can cause the agent or user to invoke a high-privilege skill in contexts where they would not expect large-scale access to sensitive career and personal data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger language includes broad phrases like job hunting, career search, resume optimization, interview prep, and application tracking, which overlap with many ordinary career conversations. That makes accidental auto-invocation more likely, causing sensitive profile or resume data to be accessed or transmitted when the user may only want advice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill can read and transmit highly sensitive career data, including resumes, work history, education, contact details, and application notes, but it does not warn that this information will be sent to an external service. Without an explicit privacy notice, users may unknowingly authorize disclosure of personal and third-party data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

This skill is explicitly designed to send user-supplied and profile-derived data to an external API, which creates a real confidentiality boundary crossing. In context this is expected functionality, but it remains security-relevant because job queries and related metadata leave the local agent environment.

Content

Scanner excerpt · SKILL.md (reported line 70)May include surrounding context.

| excludeCompanies | string[] | No | Exclude specific companies | | cursor | string | No | Opaque pagination cursor from a previous response's nextCursor |

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 73)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 150)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 211)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 262)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 343)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 399)May include surrounding context.

Curl example:

bash
curl -s -X POST https://api.mokaru.ai/v1/jobs/search \
  -H "Authorization: Bearer $MOKARU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Static analysis

No suspicious patterns detected.