Why did we open-source our inference engine? Read the post

Find ATT&CK techniques hidden in threat reports

Superlinked gives your agent one API to read threat reports and return ATT&CK suggestions with the exact source words attached.

Get started
Threat Insight Research / phishing
Proofpoint research

MFA PSA, Oh My!

Reverse proxy phish kits

After sign-in, the kit sends login material and the session cookie to its server.

The threat actor can use the stolen session cookie to log in as the victim.

The report never says which ATT&CK technique
MITRE ATT&CK T1550.004 Web Session Cookie
Clue found 75% into the article Reuse a stolen cookie
Review packet Technique plus the source words

Your threat-intelligence agent

Read the full report against current ATT&CK definitions and labeled report spans. Keep the exact source words beside every suggestion.

Incoming report Proofpoint · MFA PSA, Oh My!
Review queue T1550.004 Web Session Cookie, routed with its source words

Your security context

Control the ATT&CK release and the review rule.

REPORTS Original article Full text and URL
TAXONOMY ATT&CK Enterprise 19.2 Pinned taxonomy release
POLICY Exact-span rule Reject ungrounded evidence
WORKFLOW Review packet Source quote and candidate list
Browse all tasks
from sie_sdk import SIEClient
​
client = SIEClient(api_key="sk-sie-…")
​
result = client.extract(
"modelfastino/gliner2-large-v1",
{"text": "textThe threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim"},
labels=[
"entity typethreat actor",
"entity typesoftware tool",
"entity typecredential",
"entity typetarget system",
],
)
for span in result["entities"]:
print(span["label"], span["text"])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const result = await client.extract(
  'fastino/gliner2-large-v1',
  { text: "The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim" },
  { labels: ["threat actor","software tool","credential","target system"] },
);
console.log(result.entities);
curl https://api.superlinked.com/v1/extract/fastino%2Fgliner2-large-v1 \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"text\":\"The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim\"}],\"params\":{\"labels\":[\"threat actor\",\"software tool\",\"credential\",\"target system\"]}}"
Build the "Named entities" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: fastino/gliner2-large-v1 (SIE primitive: /extract). Keep the model id configurable.

Task
- Input: a block of text.
- Behaviour: return the named entities found in the text with their types
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
import numpy as np
from sie_sdk import SIEClient
​
client = SIEClient(api_key="sk-sie-…")
​
query = "queryActor: threat actor Action: use Object: stolen session cookie Tool: Evilginx2 Target: victim Assertion: observed Evidence: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim"
documents = [
"document 1ATT&CK technique: T1550.004 Web Session Cookie Description: Adversaries can use stolen session cookies to authenticate to web applications and services.",
"document 2ATT&CK technique: T1539 Steal Web Session Cookie Description: An adversary may steal web application or service session cookies and use them to gain authenticated access.",
"document 3ATT&CK technique: T1606.001 Web Cookies Description: Adversaries may forge new web cookies to gain access to web applications or Internet services.",
"document 4ATT&CK technique: T1185 Browser Session Hijacking Description: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.",
"document 5ATT&CK technique: T1134.001 Token Impersonation/Theft Description: Adversaries may duplicate and impersonate another user’s existing operating-system token.",
]
​
model = "modelQwen/Qwen3-Embedding-8B"
q = np.array(client.encode(model, [{"text": query}], is_query=True)[0]["dense"])
docs = client.encode(model, [{"text": d} for d in documents])
mat = np.array([v["dense"] for v in docs])
scores = mat @ q / (np.linalg.norm(mat, axis=1) * np.linalg.norm(q)) # cosine
for i in np.argsort(scores)[::-1]:
print(f"{scores[i]:.3f} {documents[i]}")
import { unpackMessage } from '@superlinked/sie-sdk';

const query = "Actor: threat actor\nAction: use\nObject: stolen session cookie\nTool: Evilginx2\nTarget: victim\nAssertion: observed\nEvidence: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim";
const documents = [
  "ATT&CK technique: T1550.004 Web Session Cookie\nDescription: Adversaries can use stolen session cookies to authenticate to web applications and services.",
  "ATT&CK technique: T1539 Steal Web Session Cookie\nDescription: An adversary may steal web application or service session cookies and use them to gain authenticated access.",
  "ATT&CK technique: T1606.001 Web Cookies\nDescription: Adversaries may forge new web cookies to gain access to web applications or Internet services.",
  "ATT&CK technique: T1185 Browser Session Hijacking\nDescription: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.",
  "ATT&CK technique: T1134.001 Token Impersonation/Theft\nDescription: Adversaries may duplicate and impersonate another user’s existing operating-system token.",
];

async function encode(texts: string[], isQuery = false): Promise<Float32Array[]> {
  const response = await fetch("https://api.superlinked.com/v1/encode/Qwen%2FQwen3-Embedding-8B", {
    method: 'POST',
    signal: AbortSignal.timeout(30_000),
    headers: {
      Authorization: "Bearer sk-sie-…",
      'Content-Type': 'application/json',
      Accept: 'application/msgpack',
    },
    body: JSON.stringify({
      items: texts.map((text) => ({ text })),
      params: { output_types: ['dense'], ...(isQuery ? { options: { is_query: true } } : {}) },
    }),
  });
  if (!response.ok) throw new Error(`SIE returned ${response.status}`);
  const result = unpackMessage<{ items: { dense: { values: Float32Array } }[] }>(
    new Uint8Array(await response.arrayBuffer()),
  );
  return result.items.map((item) => item.dense.values);
}

const [q] = await encode([query], true);
const docs = await encode(documents);
const cosine = (a: Float32Array, b: Float32Array) => {
  const dot = a.reduce((s, x, i) => s + x * b[i]!, 0);
  return dot / (Math.hypot(...a) * Math.hypot(...b));
};
const ranked = documents
  .map((doc, i) => ({ doc, score: cosine(q!, docs[i]!) }))
  .sort((a, b) => b.score - a.score);
console.log(ranked);
# Encode the query with is_query, then the candidates; rank by cosine.
curl https://api.superlinked.com/v1/encode/Qwen%2FQwen3-Embedding-8B \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"text\":\"Actor: threat actor\\nAction: use\\nObject: stolen session cookie\\nTool: Evilginx2\\nTarget: victim\\nAssertion: observed\\nEvidence: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim\"}],\"params\":{\"output_types\":[\"dense\"],\"options\":{\"is_query\":true}}}"

curl https://api.superlinked.com/v1/encode/Qwen%2FQwen3-Embedding-8B \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"text\":\"ATT&CK technique: T1550.004 Web Session Cookie\\nDescription: Adversaries can use stolen session cookies to authenticate to web applications and services.\"},{\"text\":\"ATT&CK technique: T1539 Steal Web Session Cookie\\nDescription: An adversary may steal web application or service session cookies and use them to gain authenticated access.\"},{\"text\":\"ATT&CK technique: T1606.001 Web Cookies\\nDescription: Adversaries may forge new web cookies to gain access to web applications or Internet services.\"},{\"text\":\"ATT&CK technique: T1185 Browser Session Hijacking\\nDescription: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.\"},{\"text\":\"ATT&CK technique: T1134.001 Token Impersonation/Theft\\nDescription: Adversaries may duplicate and impersonate another user’s existing operating-system token.\"}],\"params\":{\"output_types\":[\"dense\"]}}"
Build the "Search" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: Qwen/Qwen3-Embedding-8B (SIE primitive: /encode). Keep the model id configurable.

Task
- Input: a query string plus a list of candidate documents.
- Behaviour: return the candidates ranked by semantic similarity to the query, with a score per candidate
- Send two POST /v1/encode requests: one item {text: query} with params {output_types: ["dense"], options: {is_query: true}}, then all candidate documents with params {output_types: ["dense"]}. Rank every candidate by cosine similarity between its decoded dense vector and the query vector. In Python, use encode(..., is_query=True) only for the query call. In TypeScript, send those native HTTP bodies and decode MessagePack with the public unpackMessage export. Do not issue one request per candidate.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
from sie_sdk import SIEClient
​
client = SIEClient(api_key="sk-sie-…")
​
query = "queryObserved adversary behavior: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim"
documents = [
"document 1ATT&CK technique: T1550.004 Web Session Cookie Description: Adversaries can use stolen session cookies to authenticate to web applications and services.",
"document 2ATT&CK technique: T1539 Steal Web Session Cookie Description: An adversary may steal web application or service session cookies and use them to gain authenticated access.",
"document 3ATT&CK technique: T1606.001 Web Cookies Description: Adversaries may forge new web cookies to gain access to web applications or Internet services.",
"document 4ATT&CK technique: T1185 Browser Session Hijacking Description: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.",
"document 5ATT&CK technique: T1134.001 Token Impersonation/Theft Description: Adversaries may duplicate and impersonate another user’s existing operating-system token.",
]
items = [{"id": str(i), "text": d} for i, d in enumerate(documents)]
ranked = client.score("modelQwen/Qwen3-Reranker-4B", {"text": query}, items)
for r in ranked["scores"]:
print(r["score"], documents[int(r["item_id"])])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const query = "Observed adversary behavior: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim";
const documents = [
  "ATT&CK technique: T1550.004 Web Session Cookie\nDescription: Adversaries can use stolen session cookies to authenticate to web applications and services.",
  "ATT&CK technique: T1539 Steal Web Session Cookie\nDescription: An adversary may steal web application or service session cookies and use them to gain authenticated access.",
  "ATT&CK technique: T1606.001 Web Cookies\nDescription: Adversaries may forge new web cookies to gain access to web applications or Internet services.",
  "ATT&CK technique: T1185 Browser Session Hijacking\nDescription: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.",
  "ATT&CK technique: T1134.001 Token Impersonation/Theft\nDescription: Adversaries may duplicate and impersonate another user’s existing operating-system token.",
];
const items = documents.map((text, i) => ({ id: String(i), text }));
const ranked = await client.score('Qwen/Qwen3-Reranker-4B', { text: query }, items);
console.log(ranked.scores.map(({ itemId, score }) => ({ document: documents[Number(itemId)], score })));
curl https://api.superlinked.com/v1/score/Qwen%2FQwen3-Reranker-4B \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"query\":{\"text\":\"Observed adversary behavior: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim\"},\"items\":[{\"id\":\"0\",\"text\":\"ATT&CK technique: T1550.004 Web Session Cookie\\nDescription: Adversaries can use stolen session cookies to authenticate to web applications and services.\"},{\"id\":\"1\",\"text\":\"ATT&CK technique: T1539 Steal Web Session Cookie\\nDescription: An adversary may steal web application or service session cookies and use them to gain authenticated access.\"},{\"id\":\"2\",\"text\":\"ATT&CK technique: T1606.001 Web Cookies\\nDescription: Adversaries may forge new web cookies to gain access to web applications or Internet services.\"},{\"id\":\"3\",\"text\":\"ATT&CK technique: T1185 Browser Session Hijacking\\nDescription: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.\"},{\"id\":\"4\",\"text\":\"ATT&CK technique: T1134.001 Token Impersonation/Theft\\nDescription: Adversaries may duplicate and impersonate another user’s existing operating-system token.\"}]}"
Build the "Rerank" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: Qwen/Qwen3-Reranker-4B (SIE primitive: /score). Keep the model id configurable.

Task
- Input: a query string plus a list of candidate documents.
- Behaviour: reorder the candidates by true relevance to the query using the cross-encoder
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
from sie_sdk import SIEClient
​
client = SIEClient(api_key="API keysk-sie-…")
​
messages = [
{"role": "user", "content": "textSelect the ATT&CK candidate that directly describes this behavior. Keep the evidence quote exact. Behavior: Threat actor uses stolen session cookie to log in as victim and perform actions Source quote: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim Candidates: T1539 Steal Web Session Cookie; T1550.004 Web Session Cookie; T1185 Browser Session Hijacking; T1606.001 Web Cookies; T1134.001 Token Impersonation/Theft."},
]
result = client.chat_completions(
"modelQwen/Qwen3.6-27B:no-spec",
messages,
max_completion_tokens=max tokens256,
)
print(result["choices"][0]["message"]["content"])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const result = await client.chatCompletions({
  model: 'Qwen/Qwen3.6-27B:no-spec',
  messages: [
    { role: 'user', content: "Select the ATT&CK candidate that directly describes this behavior. Keep the evidence quote exact.\n\nBehavior: Threat actor uses stolen session cookie to log in as victim and perform actions\nSource quote: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim\nCandidates: T1539 Steal Web Session Cookie; T1550.004 Web Session Cookie; T1185 Browser Session Hijacking; T1606.001 Web Cookies; T1134.001 Token Impersonation/Theft." },
  ],
  max_completion_tokens: 256,
});
console.log(result.choices[0]?.message.content);
curl https://api.superlinked.com/v1/chat/completions \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"Qwen/Qwen3.6-27B:no-spec\",\"messages\":[{\"role\":\"user\",\"content\":\"Select the ATT&CK candidate that directly describes this behavior. Keep the evidence quote exact.\\n\\nBehavior: Threat actor uses stolen session cookie to log in as victim and perform actions\\nSource quote: The threat actor is then able to use the stolen session cookie to log in as the victim where they can take multiple actions like changing the password, copying data, or pretending to be the victim\\nCandidates: T1539 Steal Web Session Cookie; T1550.004 Web Session Cookie; T1185 Browser Session Hijacking; T1606.001 Web Cookies; T1134.001 Token Impersonation/Theft.\"}],\"max_completion_tokens\":256}"
Build the "Chat" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: Qwen/Qwen3.6-27B:no-spec (OpenAI-compatible endpoint: /v1/chat/completions). Keep the model id configurable.

Task
- Input: a block of text.
- Behaviour: return the model’s answer to the prompt
- Send one POST /v1/chat/completions request (SDK: chat_completions / chatCompletions) with an optional system message for instructions, the user's text as the user message, and max_completion_tokens. Read the answer from choices[0].message.content.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
Output

The threat actor is then able to use the stolen session cookiecredential to log in as the victim where they can take multiple actions like changing the passwordcredential, copying data, or pretending to be the victim

session cookiecredentialpasswordcredential
2 matches across 1 types
Output
ATT&CK technique: T1550.004 Web Session Cookie Description: Adversaries can use stolen session cookies to authenticate to web applications and services.
0.79
ATT&CK technique: T1539 Steal Web Session Cookie Description: An adversary may steal web application or service session cookies and use them to gain authenticated access.
0.79
ATT&CK technique: T1606.001 Web Cookies Description: Adversaries may forge new web cookies to gain access to web applications or Internet services.
0.75
ATT&CK technique: T1185 Browser Session Hijacking Description: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.
0.69
ATT&CK technique: T1134.001 Token Impersonation/Theft Description: Adversaries may duplicate and impersonate another user’s existing operating-system token.
0.65
Top match at 0.79 · 5 candidates ranked
Output
ATT&CK technique: T1550.004 Web Session Cookie Description: Adversaries can use stolen session cookies to authenticate to web applications and services.
– held1.00
ATT&CK technique: T1539 Steal Web Session Cookie Description: An adversary may steal web application or service session cookies and use them to gain authenticated access.
– held1.00
ATT&CK technique: T1185 Browser Session Hijacking Description: Adversaries may change browser content, modify user behavior, or intercept information inside a browser session.
↑ up 10.99
ATT&CK technique: T1606.001 Web Cookies Description: Adversaries may forge new web cookies to gain access to web applications or Internet services.
↓ down 10.65
ATT&CK technique: T1134.001 Token Impersonation/Theft Description: Adversaries may duplicate and impersonate another user’s existing operating-system token.
– held0.44
Output
{"support":"supported","selected_technique_id":"T1550.004","evidence_quote":"use the stolen session cookie to log in as the victim"}
Qwen3.6-27B:no-spec

Compare models for this task

PRICE
$ / 1M tokens ↓
$0.02 Voyage 4 Lite
$0.02 OpenAI text-embedding-3-small
$0.06 SIE Qwen3 Embedding 4B SIE Qwen3 Embedding 4B $0.06
Voyage 4 Large $0.12
OpenAI text-embedding-3-large $0.13
QUALITY
Right result first · 6,200 questions ↑
Voyage 4 Large 0.547
SIE Qwen3 Embedding 4B 0.546
OpenAI text-embedding-3-large 0.508
Voyage 4 Lite 0.505
OpenAI text-embedding-3-small 0.475
LATENCY
median ↓
16ms SIE Qwen3 Embedding 4B
OpenAI text-embedding-3-large 238ms
PRICE
$ / 100,000 queries ↓
$15 SIE Qwen3 Reranker 4B
$17 Voyage rerank-3
$52 Claude Haiku 5.5 (thinking off) Claude Haiku 5.5 (thinking off) $52
$86 GPT-6 Luna (high reasoning) GPT-6 Luna (high reasoning) $86
Cohere Rerank 4 Fast $200
Cohere Rerank 4 Pro $250
QUALITY
Right document first · 499 questions ↑
OpenAI GPT-6 Luna (high reasoning) 0.984 GPT-6 Luna (high reasoning) 0.984
Voyage rerank-3 0.926
SIE Qwen3 Reranker 4B 0.912
Cohere Rerank 4 Pro 0.842
Anthropic Claude Haiku 5.5 (thinking off) 0.838 Claude Haiku 5.5 (thinking off) 0.838 Claude Haiku 5.5 (thinking off) 0.838
Cohere Rerank 4 Fast 0.715 Cohere Rerank 4 Fast 0.715
LATENCY
median ↓
55ms SIE Qwen3 Reranker 4B
91ms Voyage rerank-3
105ms Cohere Rerank 4 Fast
179ms Cohere Rerank 4 Pro
Anthropic Claude Haiku 5.5 (thinking off) 1.3s Claude Haiku 5.5 (thinking off) 1.3s
PRICE
$ / 1M input tokens ↓
$0.05 SIE NuNER Zero-span
$0.1 OpenAI GPT-6 Luna
$0.1 Anthropic Claude Haiku 5.5
OpenAI GPT-6.1 Sol $2
Anthropic Claude Sonnet 5.5 $2
QUALITY
F1 · custom entity types ↑
Anthropic Claude Sonnet 5.5 0.796 Claude Sonnet 5.5 0.796
OpenAI GPT-6.1 Sol 0.792 GPT-6.1 Sol 0.792
Anthropic Claude Haiku 5.5 0.737 Claude Haiku 5.5 0.737
OpenAI GPT-6 Luna 0.694 GPT-6 Luna 0.694
SIE NuNER Zero-span 0.630
AWS Comprehend 0.390 0.390 AWS Comprehend
PRICE
$ / 100,000 conversations ↓
$45 GPT-6 Luna
$63 Claude Haiku 5.5
$135 SIE Qwen3.8 27B
$504 GPT-6.1 Sol
$1,391 Claude Sonnet 5.5 (thinking off) Claude Sonnet 5.5 (thinking off) $1,391
$2,003 Claude Sonnet 5.5
QUALITY
Rules kept · 275 pushes ↑
OpenAI GPT-6.1 Sol 1.000 GPT-6.1 Sol 1.000
Anthropic Claude Haiku 5.5 0.993 Claude Haiku 5.5 0.993
OpenAI GPT-6 Luna 0.993 GPT-6 Luna 0.993
Anthropic Claude Sonnet 5.5 0.993 Claude Sonnet 5.5 0.993
SIE Qwen3.8 27B 0.989
Anthropic Claude Sonnet 5.5 (thinking off) 0.985 Claude Sonnet 5.5 (thinking off) 0.985
LATENCY
median ↓
0.74s SIE Qwen3.8 27B
1.27s Claude Haiku 5.5
GPT-6 Luna 1.88s
Claude Sonnet 5.5 (thinking off) 2.27s Claude Sonnet 5.5 (thinking off) 2.27s
GPT-6.1 Sol 2.49s
Claude Sonnet 5.5 2.90s

The agent separates cookie reuse from cookie theft

View on GitHub
Complete report MFA PSA, Oh My!
Typed event actor uses stolen session cookie to log in as victim Qwen/Qwen3.6-27B:no-spec
Entity hints session cookie · password fastino/gliner2-large-v1
Two evidence paths One candidate ledger
All 697 ATT&CK definitions Dense search + token MaxSim Qwen/Qwen3-Embedding-8B · jinaai/jina-colbert-v2
Labeled threat-report spans Nearest known ATT&CK example Qwen/Qwen3-Embedding-8B
Rerank the joint set Qwen/Qwen3-Reranker-4B 75 candidates
Read the best ten Qwen/Qwen3.6-27B:no-spec Quote checked again
Closer review T1550.004 Web Session Cookie Current definition selects reuse; labeled example points to theft

Deploy your way

Self-host with K8s

Easy & scalable deployment in your own cloud.

  • Terraform to your cloud in minutes
  • Apache-2.0, same engine as Serverless
  • Scales to zero, no bill between jobs
  • Per-tenant pools, no noisy neighbors
Agent prompt
Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our GCP project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Azure subscription with the superlinked/sie/azure Terraform module. Docs: superlinked.com/docs/deployment.
Deploy guide

Run locally

Run the same models on your own machine.

  • Runs on NVIDIA GPU or Apple Silicon
  • One command, no Docker or cluster
  • All 100+ Serverless models, fully offline
  • Same SDK and IDs, no code changes
pip install "sie-server[local]" && sie-server servepip install "sie-server[local]" && sie-server serve --device cuda
Quickstart

Contact us

Tell us about your use case and we'll get back to you shortly.

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.