Back to skill

Security audit

Psychology

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate career-roadmap API, but it sends detailed personal career and psychology-related profile data plus tracking identifiers to an external service without privacy or retention details.

Review the API provider and privacy terms before installing. Avoid sending names, confidential clinical details, precise employers, or stable personal identifiers unless required and trusted; prefer pseudonymous, short-lived session values where possible.

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
Findings (1)

other

Warning
Location
openapi.json:83
Finding

Mandatory Tracking Identifiers Create Excessive Data Collection and Privacy Risk

Content
View full analysis

Vulnerability Details

File Location: openapi.json:83-183; related external-service documentation at SKILL.md:23-51, SKILL.md:126-138, and SKILL.md:213-215
Vulnerability Type: Excessive Data Collection and Privacy Risk
Risk Level: Medium

The API requires a numeric user identifier, an outer session identifier and timestamp, and duplicate session and timestamp values inside the assessment data. These tracking fields are combined with potentially identifying educational and professional profile information and submitted to an externally operated API.

Relevant request example from SKILL.md:23-51:

json
{
  "assessmentData": {
    "education": {
      "degree": "Bachelor of Science in Psychology",
      "institution": "State University",
      "graduationYear": "2023"
    },
    "interests": [
      "Clinical Psychology",
      "Mental Health Counseling",
      "Research"
    ],
    "experience": [
      "Internship at community mental health center (6 months)",
      "Research assistant in cognitive psychology lab (1 year)"
    ],
    "skills": [
      "Patient assessment",
      "Data analysis",
      "Research methodology",
      "Active listening",
      "Report writing"
    ],
    "goals": {
      "shortTerm": "Obtain licensure as Licensed Professional Counselor (LPC)",
      "longTerm": "Establish private practice specializing in trauma therapy"
    },
    "sessionId": "sess_20240115_abc123",
    "timestamp": "2024-01-15T10:30:00Z"
  },
  "sessionId": "sess_20240115_abc123",
  "userId": 42,
  "timestamp": "2024-01-15T10:30:00Z"
}

The corresponding required fields in openapi.json:83-183 include:

json
"AssessmentData": {
  "properties": {
    "education": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object",
      "title": "Education"
    },
    "interests": {
      "items": {

...[truncated 3921 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove userId from the required request fields unless a documented, essential operational requirement exists.
  2. Eliminate duplicate sessionId and timestamp fields. Retain only one request-scoped identifier where necessary.
  3. Use short-lived, random, non-user-derived request identifiers rather than stable identifiers.
  4. Make all tracking identifiers optional for anonymous roadmap generation.
  5. Define strict schema limits for strings, arrays, and objects to reduce unnecessary submission of personal information.
  6. Add user-facing guidance warning against entering names, precise addresses, confidential clinical details, or other unnecessary sensitive information.
  7. Clearly document the external data recipient, processing purpose, retention period, deletion procedure, access controls, and any secondary use or sharing.
  8. Obtain explicit informed consent before transmitting assessment data to the external service.
  9. Apply server-side access controls, encryption in transit and at rest, retention limits, audit logging, and deletion enforcement.
  10. Conduct a privacy and data-protection review before collecting stable identifiers alongside educational and professional profile data.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill requests sensitive career-assessment and identity-linked data, including education history, experience, goals, session identifiers, timestamps, and a numeric userId, but provides no privacy notice, minimization guidance, retention limits, or handling constraints. In a psychology-related context, this profiling data can reveal sensitive personal attributes and career intentions, increasing privacy and re-identification risk if sent to third-party infrastructure or logged insecurely.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

The skill directs users to an external API endpoint, which results in transmission of user-supplied assessment data to a third-party service outside the local agent environment. Because the skill lacks trust, privacy, and security assurances for that external service, the endpoint materially increases the risk of sensitive data exposure, logging, resale, or misuse.

Content

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

md
## References

- **Kong Route:** https://api.mkkpro.com/career/psychology
- **API Docs:** https://api.mkkpro.com:8177/docs

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The API schema explicitly accepts sensitive profile data such as education, interests, experience, skills, goals, sessionId, userId, and timestamps, but the OpenAPI description provides no user-facing disclosure, privacy notice, consent language, or data-handling constraints. In a psychology-related career guidance context, this increases privacy risk because users may submit detailed personal and behavioral information without clear warning about transmission or retention.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.