Back to skill

Security audit

PRISM API SDK

Security checks for vulnerabilities and agentic risk

Overview

This is a finance data SDK skill that uses an external API and installable packages, with no evidence of hidden access, trading, persistence, or destructive behavior.

Before installing, verify the npm package and MCP repository, prefer pinned versions or commits, and expose only the Prism API key and project data needed for market-data use.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:29
Finding
Unpinned External Dependencies and Mutable Repository Code<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:16`, `README.md:29-36`, and `README.md:207-211` **Vulnerability Type**: Unpinned third-party packages and mutable external source installation **Risk Level**: Medium ### Vulnerable Code `SKILL.md:16`: ```bash npm install prismapi-sdk ``` `README.md:29-36`: ```bash npm install prismapi-sdk ``` ```bash yarn add prismapi-sdk pnpm add prismapi-sdk ``` `README.md:207-211`: ```bash git clone https://github.com/Strykr-Prism/PRISM-MCP-Server.git cd PRISM-MCP-Server && npm install && npm run build ``` ### Technical Analysis The documented installation commands retrieve and install mutable external code without pinning an exact npm package version or Git commit. The audited artifact contains only documentation and does not include the SDK implementation, package manifest, dependency lockfile, integrity hashes, or MCP server source. Consequently, the code executed by users is not the code covered by this audit. Package-manager installation can execute lifecycle scripts defined by the selected package or its dependency graph. The MCP installation instructions also clone the current default branch, resolve dependencies using the repository state available at installation time, and run its build script. A later release, changed default branch, compromised maintainer account, malicious transitive dependency, or registry/repository compromise could therefore change the effective payload after this skill has been reviewed. There is no evidence in the audited files that the referenced package or repository is currently malicious. The vulnerability is the unsafe and non-reproducible dependency acquisition process. ### Attack Path 1. An attacker compromises the npm package, a transitive dependency, the external GitHub repository, or an associated publisher account. 2. The attacker publishes a modified package version or commits malicious code to the repository’s default branch. 3. A user follows the docum ...[truncated 1292 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin `prismapi-sdk` to an explicitly reviewed version rather than installing the latest matching release: ```bash npm install --save-exact prismapi-sdk@<reviewed-version> ``` 2. Pin the MCP server to a reviewed immutable commit: ```bash git clone https://github.com/Strykr-Prism/PRISM-MCP-Server.git cd PRISM-MCP-Server git checkout <reviewed-full-commit-hash> ``` 3. Include a committed lockfile and use deterministic installation commands such as `npm ci` rather than unconstrained dependency resolution. 4. Publish and verify package integrity hashes or signed release provenance. Protect publisher accounts with strong multifactor authentication and restricted release permissions. 5. Disable lifecycle scripts during dependency installation when they are unnecessary: ```bash npm ci --ignore-scripts ``` If lifecycle or build scripts are required, inspect them and their transitive dependencies before execution. 6. Include the relevant SDK and MCP source code in the auditable artifact, or conduct a separate audit of the exact package version, Git commit, build scripts, and complete dependency tree. 7. Run installation and the resulting SDK in a least-privileged container or sandbox. Expose only required credentials, files, and network destinations. 8. Add automated dependency monitoring, provenance verification, vulnerability scanning, and release-diff review to the update process. ]]>
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 (1)

External Transmission

Medium
Category
Data Exfiltration
Content
## Links

- [API Documentation](https://api.prismapi.ai/docs)
- [MCP Server](https://github.com/Strykr-Prism/PRISM-MCP-Server)
- [Discord](https://discord.gg/strykr)
- [Twitter](https://twitter.com/strykrai)
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.