Back to skill

Security audit

Bohrium LKM (Large Knowledge Model)

Security checks for vulnerabilities and agentic risk

Overview

This is a purpose-aligned Bohrium API helper, but users should treat submitted research queries, claims, paper IDs, and OCR requests as data sent to a third-party service.

Install only if you are comfortable using Bohrium as a third-party processor for your scientific searches, claims, paper identifiers, and OCR tasks. Avoid submitting confidential manuscripts, proprietary hypotheses, regulated data, or restricted/licensed documents unless you have approval and understand Bohrium's data handling terms.

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

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill is explicitly designed to send scientific queries, claims, and paper identifiers to a third-party API, but it does not warn users that their inputs will leave the local environment and be transmitted to open.bohrium.com. This creates a real data-handling risk because users may submit unpublished research ideas, proprietary claims, or sensitive document identifiers without informed consent.

External Transmission

Medium
Category
Data Exfiltration
Content
## 1. Knowledge graph search — `/lkm/search`

```python
r = requests.post(f"{BASE}/search", headers=H, json={
    "query": "effect of temperature on lithium ion battery degradation",
    "limit": 10
})
Confidence
95% confidence
Finding
This example performs a live POST request to an external API with user-provided scientific search content. The risk is not code execution but unannounced exfiltration of potentially sensitive research queries to a remote service.

External Transmission

Medium
Category
Data Exfiltration
Content
Submit a scientific claim, get back evidence that supports or refutes it (with source papers and relevance scores).

```python
r = requests.post(f"{BASE}/claims/match", headers=H, json={
    "text": "Graphene oxide improves the mechanical strength of concrete",
    "limit": 5
})
Confidence
97% confidence
Finding
Claim-matching submits free-text scientific claims to a remote endpoint, which could include unpublished hypotheses, internal R&D conclusions, or confidential assertions. Because the skill presents this as normal usage without a privacy warning, it materially increases the chance of unintended external disclosure.

External Transmission

Medium
Category
Data Exfiltration
Content
Batch OCR extraction from papers.

```python
r = requests.post(f"{BASE}/papers/ocr/batch", headers=H, json={
    "paper_ids": ["doi:10.1038/s41586-021-03819-2", "doi:10.1126/science.abf3041"]
})
data = r.json()
Confidence
96% confidence
Finding
Batch OCR sends paper identifiers for remote extraction and may lead users to upload or process document content through a third-party service. In the context of scientific workflows, OCR can involve unpublished manuscripts or licensed papers, making the external transmission and potential document processing significantly more sensitive.

External Transmission

Medium
Category
Data Exfiltration
Content
---

## curl examples

```bash
AK="YOUR_ACCESS_KEY"
Confidence
88% confidence
Finding
The curl examples normalize direct shell-based transmission of user data and API credentials to an external endpoint without any privacy caveat. This increases operational risk because users may copy-paste commands into environments containing real research data or secrets.

External Transmission

Medium
Category
Data Exfiltration
Content
-d '{"query":"lithium battery degradation mechanism","limit":10}' | jq .

# Claim matching
curl -s -X POST "https://open.bohrium.com/openapi/v1/lkm/claims/match" \
  -H "accessKey: $AK" -H "Content-Type: application/json" \
  -d '{"text":"MoS2 is a promising catalyst for hydrogen evolution","limit":5}' | jq .
Confidence
94% confidence
Finding
This curl example specifically sends scientific claim text to a remote service, mirroring the privacy risk of the Python claim-matching example. Copy-paste-ready shell commands make accidental disclosure more likely because users may substitute confidential claims directly.

External Transmission

Medium
Category
Data Exfiltration
Content
-d '{"ids":["gcn_b2bf079b541a4fa0","gcn_5cecd02c3d8a4e61"]}' | jq .

# Batch OCR
curl -s -X POST "https://open.bohrium.com/openapi/v1/lkm/papers/ocr/batch" \
  -H "accessKey: $AK" -H "Content-Type: application/json" \
  -d '{"paper_ids":["doi:10.1038/s41586-021-03819-2"]}' | jq .
```
Confidence
95% confidence
Finding
This curl example invokes remote OCR processing for paper identifiers and potentially associated content, which is a higher-sensitivity workflow than simple search. Users could easily use this pattern on proprietary manuscripts or restricted papers without realizing they are delegating processing to a third party.

Static analysis

No suspicious patterns detected.