Introduction
IntelStrike is the autonomous security testing platform that covers OWASP LLM Top 10, web application vulnerabilities, and API security — in one scanner. Run 185+ probes across 17 vulnerability categories against LLM endpoints, RAG pipelines, agent frameworks, web applications, and REST APIs.
IntelStrike works with any LLM provider — OpenAI, Anthropic, Azure, Cohere, self-hosted models, and custom agent frameworks.
Key Capabilities
- 190+ security probes across 18 vulnerability categories (LLM, Web, API, Agent-to-Agent)
- Autonomous Red Teaming Engine — multi-turn, AI-powered adaptive attack sequences with budget management
- Full OWASP LLM Top 10 coverage (LLM01–LLM10) plus RAG and AI Agent attack categories
- Full OWASP Web Top 10 coverage (WEB01–WEB10) — SQL injection, XSS, SSRF, RCE, XXE, path traversal, CSRF, open redirect, and more
- 9 scan profiles: quick, owasp-llm-top10, rag-full, agent-strict, agent-network, autonomous, owasp-web-top10, api-security, full-spectrum
- Parallel probe execution for 5x faster scans
- SDK support for Node.js (Python and Go coming soon)
- CLI for local testing and CI/CD pipeline integration
- REST API for custom integrations and automation
- Real-time dashboard with KPIs, vulnerability tracking, usage analytics, and SSE progress streaming
- SARIF 2.1.0 output for GitHub Security tab and security tool interoperability
- HTML report export — printable, self-contained, compliance-ready
- Native integrations with Slack, Jira, Linear, PagerDuty, GitHub, Teams, Datadog, and generic webhooks with HMAC-SHA256 signing
- Role-based access control (RBAC) with owner/admin/member/viewer roles
- Enterprise audit logs with filtering, pagination, and CSV export
- GitHub Actions CI/CD workflow with SARIF upload and severity-based gating
- Stripe-integrated billing with Free, Pro, and Enterprise tiers
- Compliance mapping: SOC 2, PCI DSS v4.0, ISO 27001:2022, GDPR, NIST CSF 2.0
- Scheduled/recurring scans (daily, weekly, monthly)
- Email notifications: critical alerts, scan completion, weekly digest
How It Works
IntelStrike sends adversarial probes against your AI endpoints, analyzes the responses for vulnerabilities, and classifies findings by OWASP LLM attack vector. Each finding includes a severity rating, evidence of the vulnerability, and step-by-step remediation guidance.
Getting Started
Get up and running with IntelStrike in under 5 minutes. Install the SDK, grab your API key, and run your first scan.
1. Install the SDK
Node.js
npm install @intelstrike/sdk
Python and Go SDKs are coming soon. Currently only the Node.js SDK is available.
2. Get Your API Key
Sign up at intel-strike.com, navigate to Dashboard → API Keys, and create a new key. Set it as an environment variable:
export INTELSTRIKE_API_KEY=isk_live_...
3. Run Your First Scan
Full OWASP LLM Top 10 probe
npx intelstrike scan \--endpoint https://your-api.com/chat \--api-key $INTELSTRIKE_API_KEY \--profile owasp-llm-top10
4. Review Findings
Findings appear in your IntelStrike dashboard with severity ratings (Critical, High, Medium, Low), OWASP classification, evidence, and step-by-step remediation guidance.
Use the --json flag to output scan results as structured JSON for programmatic processing.
Tutorial: Scan Your First Target
This tutorial walks you through scanning OWASP Juice Shop — a deliberately vulnerable web application perfect for testing IntelStrike's capabilities. You'll deploy it locally, run a full security scan, review findings, and export a report.
This tutorial uses OWASP Juice Shop, a legal target for security testing. Never scan systems without authorization.
Step 1: Deploy OWASP Juice Shop
Juice Shop is a realistic vulnerable application that runs on Node.js. Deploy it locally using Docker:
Run Juice Shop in Docker
docker run -d --name juice-shop -p 3000:3000 bkimminich/juice-shop
Verify it's running:
curl http://localhost:3000
Alternatively, install via npm if you prefer:
npm install juice-shopnpx juice-shop
Step 2: Create an IntelStrike Account
If you haven't already, sign up at intelstrike.vercel.app and create an API key from the dashboard.
export INTELSTRIKE_API_KEY=isk_live_...
Step 3: Configure Your Scan
Navigate to Dashboard → New Scan in the IntelStrike dashboard, or use the CLI. For Juice Shop, configure:
| Field | Value |
|---|---|
| Target URL | http://localhost:3000 |
| Scan Profile | owasp-web-top10 |
| Request Type | web |
| Method | GET |
| Inject In | query |
Or via CLI:
npx intelstrike scan \--endpoint http://localhost:3000 \--profile owasp-web-top10 \--request-type web \--method GET \--inject-in query
Step 4: Run the Scan
Click 'Start Scan' in the dashboard or run the CLI command. IntelStrike will execute 50+ probes covering:
- SQL Injection (including JSON field name injection)
- Cross-Site Scripting (reflected, event-handler, javascript: URL)
- Server-Side Request Forgery (AWS/GCP metadata, localhost)
- Authentication Bypass and IDOR
- Command Injection and RCE
- Security Header checks
- Path Traversal
- Open Redirect
The scan typically takes 2-5 minutes depending on your target.
Step 5: Review Findings
Once complete, you'll see findings organized by severity:
| Severity | Description |
|---|---|
| Critical | Vulnerabilities allowing unauthorized access, data breach, or RCE |
| High | High-impact vulnerabilities with specific conditions |
| Medium | Moderate impact vulnerabilities |
| Low | Informational findings or low-priority issues |
| Info | Useful information for auditing |
Each finding includes:
- OWASP category (e.g., WEB01: SQL Injection)
- Attack vector and payload used
- Confidence score (0-100%)
- Evidence from the response
- Step-by-step remediation guidance
- References to official documentation
Step 6: Export Your Report
Download reports from the dashboard or via API:
Download PDF report
curl -H "Authorization: Bearer $INTELSTRIKE_API_KEY" \https://api.intel-strike.com/v1/scans/{scanId}/report \-o report.pdf
Download SARIF for GitHub Security tab
curl -H "Authorization: Bearer $INTELSTRIKE_API_KEY" \https://api.intel-strike.com/v1/scans/{scanId}/sarif \-o results.sarif
Step 7: Automate with CI/CD
Add IntelStrike to your GitHub Actions pipeline to run scans on every push:
.github/workflows/security-scan.yml
name: Security Scanon: [push, pull_request]jobs:intelstrike:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Run IntelStrikeenv:INTELSTRIKE_API_KEY: ${{ secrets.INTELSTRIKE_API_KEY }}run: |npx intelstrike scan \--endpoint ${{ vars.TARGET_URL }} \--fail-on critical,high \--json > results.json- name: Upload SARIFuses: github/codeql-action/upload-sarif@v3with:sarif_file: results.json
Use the --fail-on flag to gate deployments. Critical and high severity findings will cause the build to fail.
Next Steps
- Scan your own APIs using the techniques learned here
- Explore other scan profiles like owasp-llm-top10 for AI endpoints
- Set up scheduled scans for continuous security monitoring
- Integrate with Slack, Jira, or Linear for team notifications
- Review the full documentation for advanced features
CLI Reference
The IntelStrike CLI is distributed via npm and can be used with npx or installed globally.
Install globally
npm install -g @intelstrike/cli
intelstrike scan
Run a security scan against an AI endpoint.
| Flag | Type | Default | Description |
|---|---|---|---|
| --endpoint | string | — | Target LLM endpoint URL (required) |
| --api-key | string | $INTELSTRIKE_API_KEY | Your IntelStrike API key |
| --profile | string | owasp-llm-top10 | Scan profile to use |
| --fail-on | string | — | Fail with exit code 1 on severity (critical,high,medium,low) |
| --timeout | number | 300 | Scan timeout in seconds |
| --json | boolean | false | Output results as JSON |
| --verbose | boolean | false | Enable verbose logging |
| --headers | string | — | Custom headers as JSON string |
| --concurrency | number | 5 | Number of concurrent probes |
| --max-turns | number | 5 | Max turns per category (autonomous mode) |
| --proxy | string | — | HTTP proxy URL |
Examples
# Scan with custom headers (e.g., auth token)npx intelstrike scan \--endpoint https://api.example.com/v1/chat \--headers '{"Authorization": "Bearer sk-..."}' \--profile owasp-llm-top10# CI/CD gate — fail on critical or high findingsnpx intelstrike scan \--endpoint $LLM_ENDPOINT \--fail-on critical,high \--json# Autonomous red teaming — AI-powered adaptive attacksnpx intelstrike scan \--endpoint https://api.example.com/v1/chat \--profile autonomous \--max-turns 10
intelstrike profiles
List or inspect available scan profiles.
# List all profilesnpx intelstrike profiles list# Show profile detailsnpx intelstrike profiles show owasp-llm-top10
intelstrike report
Generate a report from a previous scan.
# Generate HTML reportnpx intelstrike report --scan-id scn_abc123 --format html# Generate PDF reportnpx intelstrike report --scan-id scn_abc123 --format pdf
intelstrike init
Initialize an IntelStrike configuration file in the current directory.
npx intelstrike init
intelstrike version
npx intelstrike version
SDK Reference
IntelStrike currently provides a native Node.js SDK. Python and Go SDKs are on the roadmap. All SDKs will expose the same core capabilities: scanning, result retrieval, and webhook management.
Node.js SDK
import { IntelStrike } from "@intelstrike/sdk";const client = new IntelStrike({apiKey: process.env.INTELSTRIKE_API_KEY,});// Run a scanconst scan = await client.scans.create({endpoint: "https://your-api.com/chat",profile: "owasp-llm-top10",});// Poll for resultsconst results = await client.scans.get(scan.id);console.log(results.findings);// List all scansconst scans = await client.scans.list({ limit: 10 });
Python SDK (Coming Soon)
The Python SDK is under development. The API will follow the same patterns as the Node.js SDK. Preview of the planned interface:
# Coming soon — planned interfacefrom intelstrike import IntelStrikeclient = IntelStrike(api_key="isk_live_...")scan = client.scans.create(endpoint="https://your-api.com/chat",profile="owasp-llm-top10",)results = client.scans.get(scan.id)print(results.summary())
Go SDK (Coming Soon)
The Go SDK is under development. Preview of the planned interface:
// Coming soon — planned interfacepackage mainimport ("fmt""github.com/intelstrike/go-sdk")func main() {client := intelstrike.NewClient("isk_live_...")scan, err := client.Scans.Create(&intelstrike.ScanParams{Endpoint: "https://your-api.com/chat",Profile: "owasp-llm-top10",})if err != nil {panic(err)}results, _ := client.Scans.Get(scan.ID)fmt.Println(results.Summary())}
SDK Methods
| Method | Description |
|---|---|
| client.scans.create(params) | Create and start a new scan |
| client.scans.get(id) | Get scan results by ID |
| client.scans.list(options?) | List scans with pagination |
| client.scans.cancel(id) | Cancel a running scan |
| client.apiKeys.list() | List your API keys |
| client.apiKeys.create(params) | Create a new API key |
| client.apiKeys.revoke(id) | Revoke an API key |
| client.webhooks.create(params) | Register a webhook |
| client.webhooks.list() | List registered webhooks |
| client.webhooks.delete(id) | Delete a webhook |
API Reference
The IntelStrike REST API is available at https://api.intel-strike.com/v1. All requests require an API key passed in the Authorization header.
Authentication
curl https://api.intel-strike.com/v1/scans \-H "Authorization: Bearer isk_live_..."
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/scans | Create a new scan |
| GET | /v1/scans | List scans |
| GET | /v1/scans/:id | Get scan by ID |
| DELETE | /v1/scans/:id | Cancel a scan |
| GET | /v1/scans/:id/findings | Get findings for a scan |
| GET | /v1/scans/:id/sarif | Download SARIF 2.1.0 report |
| GET | /v1/scans/:id/report | Download HTML report (printable PDF) |
| GET | /v1/vulnerabilities | List all vulnerabilities |
| POST | /v1/api-keys | Create an API key |
| GET | /v1/api-keys | List API keys |
| DELETE | /v1/api-keys/:id | Revoke an API key |
| POST | /v1/webhooks | Register a webhook |
| GET | /v1/webhooks | List webhooks |
| DELETE | /v1/webhooks/:id | Delete a webhook |
Create a Scan
POST /v1/scans accepts the following body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| endpoint | string | Yes | Target URL to scan |
| profile | string | Yes | Scan profile (see Scan Profiles) |
| projectId | string | No | Project to associate the scan with |
| requestType | "llm" | "web" | "api" | No | Target type — defaults to llm |
| method | "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | No | HTTP method for web/API scans — defaults to POST |
| injectIn | "body" | "query" | "header" | "path" | No | Where to inject payloads for web/API scans — defaults to body |
| targetHeaders | object | No | Custom headers forwarded with each probe request |
| targetDescription | string | No | Description of the target for autonomous mode context |
| budget | object | No | { maxTokens, maxTurns } — autonomous mode budget control |
# LLM endpoint scancurl -X POST https://api.intel-strike.com/v1/scans \-H "Authorization: Bearer isk_live_..." \-H "Content-Type: application/json" \-d '{"projectId": "proj_abc123","endpoint": "https://your-api.com/chat","profile": "owasp-llm-top10","requestType": "llm","targetHeaders": {"Authorization": "Bearer your-llm-key"}}'# Web application scancurl -X POST https://api.intel-strike.com/v1/scans \-H "Authorization: Bearer isk_live_..." \-H "Content-Type: application/json" \-d '{"endpoint": "https://your-app.com/search","profile": "owasp-web-top10","requestType": "web","method": "GET","injectIn": "query"}'# Autonomous red teaming scancurl -X POST https://api.intel-strike.com/v1/scans \-H "Authorization: Bearer isk_live_..." \-H "Content-Type: application/json" \-d '{"projectId": "proj_abc123","endpoint": "https://your-api.com/chat","profile": "autonomous","requestType": "llm","targetDescription": "Customer support chatbot with tool access","budget": { "maxTokens": 100000, "maxTurns": 10 }}'
Response Format
{"id": "scn_abc123","status": "completed","profile": "owasp-llm-top10","endpoint": "https://your-api.com/chat","created_at": "2026-03-18T10:00:00Z","completed_at": "2026-03-18T10:04:32Z","summary": {"total_findings": 7,"critical": 1,"high": 2,"medium": 3,"low": 1},"findings": [{"id": "fnd_xyz789","owasp_id": "LLM01","title": "Direct Prompt Injection","severity": "critical","evidence": "...","remediation": "..."}]}
Rate Limits
| Plan | Scans/month | Profiles | Concurrent Scans |
|---|---|---|---|
| Free | 5 | quick only | 1 |
| Pro ($49/endpoint/mo) | Unlimited | All (including autonomous) | 5 |
| Enterprise | Unlimited | All + custom | Unlimited |
Rate-limited responses return HTTP 429 with a Retry-After header. SDKs handle retries automatically.
Configuration
IntelStrike can be configured via a configuration file, environment variables, or CLI flags. The configuration file takes the lowest precedence, followed by environment variables, then CLI flags.
Configuration File
Run npx intelstrike init to generate an intelstrike.config.json file in your project root.
intelstrike.config.json
{"apiKey": "$INTELSTRIKE_API_KEY","endpoint": "https://your-api.com/chat","profile": "owasp-llm-top10","options": {"concurrency": 5,"timeout": 300,"failOn": ["critical", "high"],"headers": {"Authorization": "Bearer $LLM_API_KEY"}},"webhooks": {"onComplete": "https://your-webhook.com/intelstrike"}}
Environment Variables
| Variable | Description | Default |
|---|---|---|
| INTELSTRIKE_API_KEY | Your IntelStrike API key | — |
| INTELSTRIKE_ENDPOINT | Default target endpoint | — |
| INTELSTRIKE_PROFILE | Default scan profile | owasp-llm-top10 |
| INTELSTRIKE_TIMEOUT | Scan timeout in seconds | 300 |
| INTELSTRIKE_CONCURRENCY | Concurrent probes | 5 |
| INTELSTRIKE_LOG_LEVEL | Log verbosity (debug, info, warn, error) | info |
Scan Profiles
| Profile | Target | Categories Covered | Est. Time | Use Case |
|---|---|---|---|---|
| quick | LLM/AI | LLM01, LLM06 | ~30s | Fast smoke test — prompt injection & data disclosure |
| owasp-llm-top10 | LLM/AI | LLM01–LLM10 | ~3–5 min | Full OWASP LLM Top 10 coverage |
| rag-full | RAG pipelines | LLM01, LLM06, LLM08, RAG | ~3–5 min | RAG-specific: poisoning, retrieval, context manipulation |
| agent-strict | AI agents | LLM01, LLM06–08, AGENT | ~5–10 min | AI agent security: tool abuse, excessive agency |
| agent-network | Multi-agent | LLM01, LLM06, LLM08, AGENT, A2A | ~10–15 min | Inter-agent attacks: identity spoofing, delegation abuse, trust chain exploitation |
| autonomous | LLM/AI | LLM01, LLM02, LLM04, LLM06, LLM08, RAG, AGENT, A2A | ~10–15 min | AI-powered multi-turn adaptive red teaming |
| owasp-web-top10 | Web apps | WEB01–WEB10 | ~3–5 min | Full OWASP Web Top 10: SQLi, XSS, SSRF, RCE, XXE, and more |
| api-security | REST APIs | WEB01, WEB04, WEB07 | ~2–3 min | Auth bypass, injection, and header checks for REST/GraphQL APIs |
| full-spectrum | AI web apps | All LLM + All Web (22 categories) | ~8–12 min | Combined coverage for AI-powered web applications |
CI/CD Integration
IntelStrike integrates into your CI/CD pipeline to gate deployments when critical AI vulnerabilities are detected. Use the --fail-on flag to set your severity threshold.
GitHub Actions
.github/workflows/ai-security.yml
name: AI Security Scanon: [push, pull_request]jobs:scan:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- uses: actions/setup-node@v4with:node-version: "20"- name: Run IntelStrike scanenv:INTELSTRIKE_API_KEY: ${{ secrets.INTELSTRIKE_API_KEY }}run: |npx intelstrike scan \--endpoint ${{ vars.LLM_ENDPOINT }} \--fail-on critical,high \--json > results.json- name: Upload resultsif: always()uses: actions/upload-artifact@v4with:name: intelstrike-resultspath: results.json
GitLab CI
.gitlab-ci.yml
ai-security-scan:stage: testimage: node:20script:- npx intelstrike scan--endpoint $LLM_ENDPOINT--fail-on critical,high--json > results.jsonartifacts:paths:- results.jsonwhen: always
Jenkins
Jenkinsfile
pipeline {agent anyenvironment {INTELSTRIKE_API_KEY = credentials('intelstrike-api-key')}stages {stage('AI Security Scan') {steps {sh '''npx intelstrike scan \--endpoint $LLM_ENDPOINT \--fail-on critical,high'''}}}}
Run scans on pull requests to catch vulnerabilities before they reach production. Use the --json flag and upload artifacts for traceability.
OWASP LLM Top 10
IntelStrike provides full coverage of the OWASP Top 10 for LLM Applications. Every attack vector is automated, classified, and includes remediation guidance.
| ID | Name | Description |
|---|---|---|
| LLM01 | Prompt Injection | Direct & indirect injection via user input, documents, and RAG context |
| LLM02 | Insecure Output Handling | Unescaped model output rendered in downstream systems or UIs |
| LLM03 | Training Data Poisoning | Adversarial data in fine-tuning or RAG corpora affecting model behavior |
| LLM04 | Model Denial of Service | Resource exhaustion via recursive prompting or unbounded token consumption |
| LLM05 | Supply Chain Vulnerabilities | Compromised model weights, plugins, or third-party LLM integrations |
| LLM06 | Sensitive Data Disclosure | PII, secrets, or system context leaked through completions |
| LLM07 | Insecure Plugin Design | Over-permissive function calling, tool misuse, and missing auth checks |
| LLM08 | Excessive Agency | Agent autonomy beyond intended scope — unconstrained tool or API access |
| LLM09 | Overreliance | Business processes dependent on unverified model output without human oversight |
| LLM10 | Model Theft | Systematic querying to replicate proprietary model behavior |
IntelStrike continuously updates its probe library as new attack vectors are discovered. Coverage extends beyond the OWASP Top 10 with emerging threat modules.
Webhooks & Integrations
Push scan results and findings to your existing tools in real-time. IntelStrike supports webhooks and native integrations with popular platforms.
Webhook Configuration
const webhook = await client.webhooks.create({url: "https://your-app.com/webhooks/intelstrike",events: ["scan.completed", "finding.critical"],secret: "whsec_...", // Used to verify webhook signatures});
Webhook Events
| Event | Description |
|---|---|
| scan.started | A scan has begun |
| scan.completed | A scan has finished |
| scan.failed | A scan encountered an error |
| finding.critical | A critical severity finding was detected |
| finding.high | A high severity finding was detected |
Webhook Payload
{"event": "scan.completed","timestamp": "2026-03-25T09:00:00Z","data": {"scanId": "scn_abc123","endpoint": "https://your-app.com/api/chat","profile": "owasp-web-top10","riskScore": 74,"findings": [{"id": "fnd_xyz789","title": "SQL Injection via JSON field name","severity": "critical","category": "WEB01"}]},"signature": "sha256=a1b2c3d4e5f6..."}
Verifying Signatures (Node.js)
Every webhook delivery includes an X-IntelStrike-Signature header. Verify it with HMAC-SHA256 before processing the payload.
Express.js example
import crypto from "crypto";function verifyWebhookSignature(rawBody: Buffer,signatureHeader: string,secret: string): boolean {const expected = "sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex");return crypto.timingSafeEqual(Buffer.from(expected),Buffer.from(signatureHeader));}app.post("/webhooks/intelstrike", express.raw({ type: "*/*" }), (req, res) => {const sig = req.headers["x-intelstrike-signature"] as string;if (!verifyWebhookSignature(req.body, sig, process.env.WEBHOOK_SECRET!)) {return res.status(401).send("Invalid signature");}const event = JSON.parse(req.body.toString());// handle event.event ("scan.completed", "finding.critical", etc.)res.sendStatus(200);});
Always verify signatures before processing webhook payloads. Use timing-safe comparison (crypto.timingSafeEqual) to prevent timing attacks.
Native Integrations
| Platform | What It Does | Setup |
|---|---|---|
| Slack | Block Kit notifications with risk scores, finding counts, severity badges | Dashboard → Integrations → Connect Slack → Paste incoming webhook URL |
| Jira | Auto-creates Bug issues for critical/high findings with OWASP labels and priority | Dashboard → Integrations → Connect Jira → Enter Jira URL, email, API token, project key |
| Linear | Auto-creates issues with priority mapping (urgent/high/medium/low) | Dashboard → Integrations → Connect Linear → Enter API key and team ID |
| PagerDuty | Triggers incidents for critical findings via Events API v2 | Dashboard → Integrations → Connect PagerDuty → Enter routing key |
| GitHub | CI/CD workflow with SARIF upload to GitHub Security tab | Copy workflow from Getting Started docs |
| Microsoft Teams | Coming Soon — channel notifications | — |
| Datadog | Coming Soon — metrics and events | — |
All integrations fire automatically after each scan completes. Critical and high findings also trigger individual notifications. Configure which events to receive per integration.
SARIF Output
IntelStrike exports scan results in SARIF 2.1.0 (Static Analysis Results Interchange Format), the industry standard for security tools. SARIF files can be uploaded to GitHub Security tab, viewed in VS Code SARIF Viewer, or consumed by any SARIF-compatible tool.
Download SARIF via API
# Via API keycurl -H "Authorization: Bearer isk_live_..." \https://api.intel-strike.com/api/v1/scan/SCAN_ID/sarif \-o results.sarif
SARIF in CI/CD
GitHub Actions — upload SARIF to Security tab
- name: Run IntelStrike Scanrun: npx intelstrike scan --endpoint ${{ secrets.TARGET_URL }} --format sarif --output results.sarif- name: Upload SARIFuses: github/codeql-action/upload-sarif@v3with:sarif_file: results.sarif
SARIF Contents
- Tool metadata (IntelStrike version, scan profile)
- Rules with OWASP LLM Top 10 taxonomy relationships
- Results with severity levels (error, warning, note, none)
- Invocation metadata (endpoint, duration, success status)
- Security-severity scores for prioritization
SARIF reports are available in the dashboard via the download button on any completed scan, or programmatically via the API.
RBAC & Audit Logs
IntelStrike includes enterprise-grade access control and compliance features. Role-based access control (RBAC) restricts actions by team role, while audit logs provide a complete trail of all actions taken in your organization.
Role Hierarchy
| Role | Permissions |
|---|---|
| Owner | Full access: billing, role changes, all admin/member/viewer actions |
| Admin | Manage members, integrations, scans, delete scans, view audit logs |
| Member | Create scans, resolve vulnerabilities, manage API keys, view integrations |
| Viewer | View scans, vulnerabilities, download SARIF reports |
Permission Examples
| Action | Minimum Role |
|---|---|
| Create a scan | Member |
| Delete a scan | Admin |
| Manage integrations | Admin |
| Change member roles | Owner |
| Manage billing | Owner |
| View audit logs | Admin |
| Download SARIF | Viewer |
Audit Logs
Every significant action is recorded in the audit log with: timestamp, user, action type, affected resource, and metadata. Audit logs support filtering by action type and resource, pagination, and CSV export for compliance reporting.
- scan.created, scan.completed, scan.failed
- api_key.created, api_key.revoked
- vulnerability.resolved, vulnerability.ignored
- member.invited, member.removed, member.role_changed
- integration.created, integration.updated, integration.deleted
- webhook.created, webhook.deleted
- sarif.downloaded
- billing.subscription_created, billing.subscription_cancelled
Audit logs are available at Dashboard > Audit Logs. Export to CSV for SOC 2 and compliance reporting.
Compatibility & Requirements
IntelStrike is designed to work with any LLM endpoint that accepts HTTP requests. Below are the supported runtimes, providers, and system requirements.
Supported Runtimes
| Runtime | Minimum Version |
|---|---|
| Node.js | 18.0+ |
| Python | 3.9+ |
| Go | 1.21+ |
Supported LLM Providers
- OpenAI (GPT-4, GPT-4o, GPT-3.5 Turbo)
- Anthropic (Claude 4.5, Claude 4, Claude 3.5)
- Azure OpenAI Service
- Google Vertex AI (Gemini)
- Cohere (Command R+)
- AWS Bedrock
- Hugging Face Inference Endpoints
- Self-hosted models (vLLM, TGI, Ollama, LMStudio)
- Any HTTP endpoint that accepts chat/completion requests
Supported Frameworks
- LangChain / LangGraph
- LlamaIndex
- CrewAI
- AutoGen
- Semantic Kernel
- Custom agent frameworks (via HTTP endpoint scanning)
System Requirements
| Requirement | Details |
|---|---|
| OS | macOS, Linux, Windows (WSL2 recommended) |
| Network | Outbound HTTPS access to api.intel-strike.com |
| Memory | 256MB minimum for CLI, 512MB recommended |
| Disk | 50MB for SDK installation |
Versioning & Changelog
IntelStrike follows semantic versioning (semver). The API version is specified in the URL path (/v1). SDK versions track the API version they support.
Current Versions
| Component | Version | Release Date |
|---|---|---|
| API | v1.5.0 | 2026-03-20 |
| Node.js SDK | 1.5.0 | 2026-03-20 |
| Python SDK | Coming Soon | — |
| Go SDK | Coming Soon | — |
| CLI | 1.5.0 | 2026-03-20 |
Recent Changes
v1.5.0 — March 2026
- Autonomous Red Teaming Engine — multi-turn AI-powered adaptive attacks with budget management
- Parallel probe execution (5x faster scans with configurable concurrency)
- Stripe billing integration (Free, Pro $49/endpoint/mo, Enterprise)
- Real-time dashboard with KPIs wired to live data
- API key management with SHA-256 hashing and usage tracking
- Added --max-turns flag for autonomous mode
v1.4.0 — March 2026
- Added agent abuse scan profiles (LLM07, LLM08)
- Roadmap: LangChain and LlamaIndex integration planned for Python SDK
- Improved prompt injection detection with multi-turn context analysis
- Added --proxy flag to CLI for corporate network support
v1.3.0 — February 2026
- RAG-specific scan profile with retrieval poisoning detection
- Webhook signature verification helpers in Node.js SDK
- Performance improvements: 40% faster scans with parallel probing
v1.2.0 — January 2026
- HTML and PDF report generation via CLI
- PagerDuty native integration
- Custom scan profiles support
- API rate limiting improvements
Breaking changes are introduced only in major versions. When upgrading between major versions, check the migration guide in the changelog.
Vulnerability Categories
IntelStrike covers 17 vulnerability categories across two domains: AI/LLM (12 categories) and Web/API (10 categories). Each category maps to one or more OWASP classifications.
AI / LLM Categories
| ID | Name | Probes | Description |
|---|---|---|---|
| LLM01 | Prompt Injection | 25 | Direct & indirect injection via user input, documents, and RAG context |
| LLM02 | Insecure Output Handling | 15 | Unescaped model output rendered in downstream systems or UIs |
| LLM03 | Training Data Poisoning | 10 | Adversarial data in fine-tuning or RAG corpora affecting model behavior |
| LLM04 | Model Denial of Service | 10 | Resource exhaustion via recursive prompting or unbounded token consumption |
| LLM05 | Supply Chain Vulnerabilities | 8 | Compromised model weights, plugins, or third-party LLM integrations |
| LLM06 | Sensitive Data Disclosure | 15 | PII, secrets, or system context leaked through completions |
| LLM07 | Insecure Plugin Design | 10 | Over-permissive function calling, tool misuse, and missing auth checks |
| LLM08 | Excessive Agency | 10 | Agent autonomy beyond intended scope — unconstrained tool or API access |
| LLM09 | Overreliance | 5 | Business processes dependent on unverified model output without human oversight |
| LLM10 | Model Theft | 5 | Systematic querying to replicate proprietary model behavior |
| RAG | RAG-Specific Attacks | 15 | Retrieval poisoning, context manipulation, and indirect injection via RAG sources |
| AGENT | Agent Hijacking | 15 | Manipulation of autonomous AI agents through adversarial instructions |
| A2A | Agent-to-Agent Attacks | 8 | Inter-agent identity spoofing, prompt injection, delegation abuse, trust chain exploitation |
Web / API Categories
| ID | Name | Probes | Description |
|---|---|---|---|
| WEB01 | SQL Injection | 5 | SQL injection including JSON field name injection and blind techniques |
| WEB02 | Cross-Site Scripting (XSS) | 4 | Reflected, event-handler, javascript: URL, and filter evasion XSS |
| WEB03 | Server-Side Request Forgery | 4 | AWS IMDSv1, GCP metadata, localhost/RFC-1918, URL encoding bypass |
| WEB04 | Auth Bypass / IDOR / JWT | 4 | IDOR, JWT none-algorithm, missing auth, API key disclosure |
| WEB05 | Command Injection / RCE | 5 | Unix/Windows shell metacharacters, blind timing-based detection |
| WEB06 | XML External Entity (XXE) | 4 | SSRF-via-XXE and blind out-of-band detection with auto XML Content-Type |
| WEB07 | Security Headers | 6 | CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy |
| WEB08 | Path Traversal | 5 | Unix/Windows, URL-encoded, and double-encoded directory traversal |
| WEB09 | CSRF | 4 | Missing token, invalid token, SameSite cookie checks |
| WEB10 | Open Redirect | 4 | External redirect, javascript: scheme, @ bypass, double-slash |
Compliance Mapping
Every finding IntelStrike produces is automatically mapped to the relevant controls in SOC 2 Type II, PCI DSS v4.0, ISO 27001:2022, GDPR, and NIST CSF 2.0. Use the compliance report to generate audit evidence in one click.
Framework Coverage by Category
| Category | SOC 2 | PCI DSS v4.0 | ISO 27001:2022 | GDPR | NIST CSF 2.0 |
|---|---|---|---|---|---|
| LLM01 — Prompt Injection | CC6.1, CC6.6 | 6.2.4 | A.8.28 | Art.25, Art.32 | DE.CM-8, PR.PS-1 |
| LLM06 — Sensitive Data Disclosure | CC6.1, CC6.7 | 3.4, 6.2.4 | A.8.10, A.8.11 | Art.5, Art.25, Art.32 | PR.DS-1, PR.DS-5 |
| LLM08 — Excessive Agency | CC6.3, CC6.8 | 7.2.1 | A.5.15, A.8.2 | — | PR.AA-5, PR.AA-6 |
| RAG — RAG Attacks | CC6.1, CC6.7 | 3.4, 6.2.4 | A.8.10, A.8.28 | Art.25, Art.32 | PR.DS-1, DE.CM-8 |
| AGENT — Agent Hijacking | CC6.3, CC6.8 | 6.2.4, 7.2.1 | A.5.15, A.8.2, A.8.28 | — | PR.AA-5, PR.AA-6, DE.CM-8 |
| A2A — Agent-to-Agent | CC6.1, CC6.2, CC6.6 | 6.2.4, 7.2.1 | A.5.14, A.5.15, A.8.28 | Art.25, Art.32 | PR.AC-1, PR.DS-1, DE.CM-8 |
| WEB01 — SQL Injection | CC6.1, CC7.1 | 6.2.4, 6.3.1 | A.8.28, A.8.29 | Art.32 | PR.DS-2, DE.CM-4 |
| WEB02 — XSS | CC6.1, CC6.6 | 6.2.4 | A.8.28 | — | PR.PS-1, DE.CM-8 |
| WEB03 — SSRF | CC6.6, CC6.7 | 1.3.2, 6.2.4 | A.8.20, A.8.22 | — | PR.IR-1, DE.CM-1 |
| WEB04 — Auth Bypass | CC6.2, CC6.3 | 8.2.1, 8.3.1, 8.6.1 | A.5.15, A.5.16, A.9.4 | Art.32 | PR.AA-1, PR.AA-2 |
| WEB05 — Command Injection | CC6.1, CC7.1 | 6.2.4, 6.3.1 | A.8.28 | — | DE.CM-4, PR.DS-2 |
| WEB06 — XXE | CC6.1 | 6.2.4 | A.8.28 | — | PR.PS-1 |
| WEB07 — Security Headers | CC6.6 | 6.2.3, 6.2.4 | A.8.22, A.8.23 | — | PR.PS-1, PR.PS-2 |
| WEB08 — Path Traversal | CC6.1, CC6.7 | 3.4, 6.2.4 | A.8.3, A.8.28 | Art.25, Art.32 | PR.DS-1, PR.AC-4 |
| WEB09 — CSRF | CC6.6 | 6.2.4 | A.8.28 | — | PR.AA-5 |
| WEB10 — Open Redirect | CC6.6 | 6.2.4 | A.8.23 | — | PR.PS-1 |
Export a compliance evidence bundle from the dashboard: Dashboard → Scans → [scan] → Compliance Report. The bundle includes findings mapped to controls, evidence logs, and a summary suitable for auditor review.
Error Codes
The IntelStrike API uses standard HTTP status codes. All error responses include a JSON body with a code string and a human-readable message.
Error response format
{"error": {"code": "SCAN_LIMIT_EXCEEDED","message": "Free plan allows 5 scans per month. Upgrade to Pro for unlimited scans.","status": 429}}
| HTTP Status | Code String | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Missing required fields or invalid parameter values |
| 400 | INVALID_ENDPOINT | The target endpoint URL is malformed or not reachable |
| 400 | INVALID_PROFILE | Unknown scan profile name |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 401 | API_KEY_REVOKED | The API key has been revoked |
| 403 | FORBIDDEN | Authenticated but insufficient role/plan for this action |
| 404 | SCAN_NOT_FOUND | Scan ID does not exist in your organization |
| 404 | FINDING_NOT_FOUND | Finding ID does not exist |
| 409 | SCAN_ALREADY_RUNNING | A scan is already running for this endpoint |
| 422 | TARGET_UNREACHABLE | IntelStrike could not connect to the target endpoint |
| 429 | RATE_LIMIT_EXCEEDED | Too many API requests — check Retry-After header |
| 429 | SCAN_LIMIT_EXCEEDED | Monthly scan limit reached for your plan |
| 500 | INTERNAL_ERROR | Unexpected server error — contact support if it persists |
| 503 | SERVICE_UNAVAILABLE | IntelStrike is temporarily unavailable |
FAQ & Troubleshooting
Frequently Asked Questions
Does IntelStrike send real attacks to my endpoint?
IntelStrike sends adversarial probes designed to test your endpoint's defenses. These are non-destructive — they do not modify data, trigger side effects, or cause damage. However, they may generate unusual log entries. We recommend running initial scans in a staging environment.
Can I scan endpoints behind a VPN or firewall?
Yes. Use the --proxy flag to route scans through your corporate proxy, or whitelist IntelStrike's IP ranges in your firewall. Contact support for the current IP list.
How long does a scan take?
With parallel probe execution (default concurrency of 5), a full OWASP LLM Top 10 scan typically takes 1-2 minutes. The 'quick' profile runs in under 30 seconds. Autonomous red teaming scans take 5-15 minutes depending on the number of turns and budget.
Can I scan multiple endpoints?
Yes. Use the SDK to programmatically scan multiple endpoints, or run multiple CLI scans in parallel in your CI/CD pipeline.
Troubleshooting
Scan times out
- Increase timeout with --timeout 600
- Reduce concurrency with --concurrency 2
- Ensure the target endpoint is reachable and responding within expected latency
- Check if a firewall or WAF is blocking IntelStrike probes
Authentication errors (401/403)
- Verify your API key is set correctly: echo $INTELSTRIKE_API_KEY
- Ensure the key has not been revoked in Dashboard → API Keys
- Check that you're using the correct key type (live vs. test)
No findings detected
- This may indicate strong defenses — review the scan report for details
- Try a more targeted profile (e.g., prompt-injection) for deeper testing
- Ensure the endpoint is returning actual LLM responses (not cached or static)
- Increase concurrency for more comprehensive probing
Need help? Reach out at [email protected] or join our Discord community for real-time assistance.