Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/BishopFox/aimap
/ functions
Functions
525 in github.com/BishopFox/aimap
⨍
Functions
525
◇
Types & classes
152
↳
Endpoints
34
↓ 143 callers
Method
to_dict
(self)
backend/app/services/attack_mcp.py:49
↓ 99 callers
Function
d
(daysAgo: number)
frontend/src/lib/mock-data.ts:12
↓ 40 callers
Function
get_database
Return the configured motor database.
backend/app/database.py:24
↓ 28 callers
Function
cn
(...inputs: ClassValue[])
frontend/src/lib/utils.ts:4
↓ 21 callers
Method
find_one
(self, filter_: dict)
backend/tests/test_discovery.py:176
↓ 20 callers
Function
section_badge
(text, color=ACCENT_BLUE)
presentation/aimap_slides.py:45
↓ 18 callers
Method
update_one
(self, filter_: dict, update: dict)
backend/tests/test_discovery.py:188
↓ 17 callers
Function
parse_search_query
Parse a Shodan-style search query into a MongoDB filter dict. Args: query: Raw query string like 'protocol:mcp auth:none tool:query_db fr
backend/app/services/search.py:40
↓ 17 callers
Function
request
(url: string, options?: RequestInit)
frontend/src/lib/api.ts:16
↓ 16 callers
Method
_add_node
(self, id: str, type: str, label: str)
backend/app/services/attack_openclaw.py:1212
↓ 16 callers
Function
_safe_get
Make a GET request, returning None on any error.
backend/app/services/live_probe.py:606
↓ 15 callers
Method
_add_edge
(self, from_id: str, to_id: str)
backend/app/services/attack_openclaw.py:1216
↓ 15 callers
Method
_add_result
(self, **kwargs: Any)
backend/app/services/attack_openclaw.py:1199
↓ 13 callers
Method
close
(self)
backend/app/services/mcp_client.py:91
↓ 12 callers
Method
normalize
(self, raw: dict)
backend/tests/test_discovery.py:231
↓ 12 callers
Method
search
Yield raw result dicts from the upstream source. Parameters ---------- query: The search query in the source's na
backend/app/discovery/base.py:63
↓ 11 callers
Method
_add_result
(self, **kwargs: Any)
backend/app/services/attack_ollama.py:992
↓ 11 callers
Method
insert_one
(self, doc: dict)
backend/tests/test_discovery.py:182
↓ 11 callers
Function
slide_title
(text, color=ACCENT_BLUE)
presentation/aimap_slides.py:41
↓ 10 callers
Method
_seed
(self, client)
backend/tests/test_routes.py:430
↓ 10 callers
Function
progress_callback
Persist progress to the scan document.
backend/app/routes/scans.py:250
↓ 9 callers
Method
_add_node
(self, id: str, type: str, label: str)
backend/app/services/attack_ollama.py:1005
↓ 9 callers
Method
_seed
(self, client)
backend/tests/test_routes.py:278
↓ 9 callers
Function
get_redis
Return the shared async Redis connection, or None if unavailable. On first call, attempts to connect and ping Redis. If that fails, marks Red
backend/app/services/redis_client.py:23
↓ 9 callers
Method
ingest
Full pipeline: search, normalize, upsert to MongoDB. Parameters ---------- query: Search query forwarded to ``sea
backend/app/discovery/base.py:104
↓ 9 callers
Function
init_indexes
Create all required indexes on startup. Safe to call repeatedly -- MongoDB treats index creation as idempotent.
backend/app/database.py:38
↓ 8 callers
Method
_add_edge
(self, from_id: str, to_id: str)
backend/app/services/attack_ollama.py:1009
↓ 8 callers
Method
_add_node
(self, id: str, type: str, label: str)
backend/app/services/attack_mcp.py:886
↓ 8 callers
Method
_send_jsonrpc
Send a JSON-RPC request and return the result. Handles both direct JSON responses and SSE-wrapped responses.
backend/app/services/mcp_client.py:110
↓ 8 callers
Method
discover_endpoint
Probe common paths to find the MCP endpoint. Returns the working URL path.
backend/app/services/mcp_client.py:191
↓ 8 callers
Method
normalize_finding
Convert a single Nuclei JSONL finding to an AgentEndpoint-compatible dict. Nuclei JSONL structure (abbreviated):: {
backend/app/discovery/nuclei_runner.py:218
↓ 7 callers
Method
_add_edge
(self, from_id: str, to_id: str)
backend/app/services/attack_mcp.py:890
↓ 7 callers
Method
_add_result
(self, **kwargs: Any)
backend/app/services/attack_mcp.py:873
↓ 7 callers
Function
enrich_endpoint
Enrich a single endpoint by its ``_id``. Fetches the document from MongoDB, runs Shodan and Nuclei enrichment, computes a risk score, writes
backend/app/services/enrichment.py:30
↓ 6 callers
Method
_get_template_files
Return all .yaml/.yml files under templates/.
backend/tests/test_discovery.py:634
↓ 6 callers
Method
_redact_keys
Partially redact potential API keys/secrets in text for logging.
backend/app/services/attack_openclaw.py:1252
↓ 6 callers
Function
_serialize
Convert MongoDB doc _id to string id (returns a shallow copy).
backend/app/routes/endpoints.py:58
↓ 6 callers
Method
call_tool
Call a specific tool and return the result.
backend/app/services/mcp_client.py:289
↓ 5 callers
Method
_log_step
(self, reasoning: str, action: str, result: str)
backend/app/services/attack_openclaw.py:1204
↓ 5 callers
Method
_log_step
(self, reasoning: str, action: str, result: str)
backend/app/services/attack_mcp.py:878
↓ 5 callers
Function
_now_iso
()
backend/app/services/attack_mcp.py:112
↓ 5 callers
Function
_status_key
(attack_id: str)
backend/app/routes/attack.py:53
↓ 5 callers
Function
_stream_key
(attack_id: str)
backend/app/routes/attack.py:49
↓ 5 callers
Method
run
Run the full attack pipeline, yielding log entries as they happen.
backend/app/services/attack_mcp.py:270
↓ 4 callers
Method
_contains_credentials
Check if text contains API keys, tokens, or secrets.
backend/app/services/attack_openclaw.py:1221
↓ 4 callers
Method
_log_step
(self, reasoning: str, action: str, result: str)
backend/app/services/attack_ollama.py:997
↓ 4 callers
Function
_serialize
(doc: dict)
backend/app/routes/ranges.py:36
↓ 4 callers
Function
_serialize
(doc: dict)
backend/app/routes/scans.py:50
↓ 4 callers
Function
close_client
Close the motor client connection.
backend/app/database.py:142
↓ 4 callers
Function
set_database
Override the database instance (used for testing).
backend/app/database.py:32
↓ 3 callers
Method
_extract_port_from_host
Best-effort port extraction from a URL string.
backend/app/discovery/nuclei_runner.py:286
↓ 3 callers
Function
_get_jwks_client
()
backend/app/auth.py:20
↓ 3 callers
Method
_pick_target_model
Pick the best model to attack — prefer uncensored, then smallest.
backend/app/services/attack_ollama.py:1013
↓ 3 callers
Function
_serialize
(doc: dict)
backend/app/routes/analyses.py:19
↓ 3 callers
Method
get_agent_queries
Return the predefined Shodan search queries for agent discovery.
backend/app/discovery/shodan_adapter.py:413
↓ 3 callers
Method
run_scan
Execute a scan based on the provided configuration. Parameters ---------- scan_config: Dict with at minimum a ``t
backend/app/discovery/orchestrator.py:73
↓ 3 callers
Function
sort
(obj: Record<string, number>)
frontend/src/pages/Explore.tsx:61
↓ 3 callers
Function
stat_card
(value, label, color=ACCENT_BLUE, width=3.2, height=1.8)
presentation/aimap_slides.py:51
↓ 3 callers
Function
useEndpointById
(id: string | undefined)
frontend/src/hooks/useApi.ts:24
↓ 2 callers
Function
_append_log
Append a log entry to Redis Stream or in-memory fallback.
backend/app/routes/attack.py:80
↓ 2 callers
Method
_assess_tool_risk
Assess the risk level of a tool based on its name, description, and annotations. Parameters ---------- tool_name:
backend/app/discovery/nuclei_runner.py:563
↓ 2 callers
Method
_build_request
(self, method: str, params: dict | None = None)
backend/app/services/mcp_client.py:100
↓ 2 callers
Function
_detect_dangerous_combos
Detect dangerous tool combinations in an endpoint. Patterns: - exec/shell + no auth -> "exec_no_auth" - database read + write tools -> "d
backend/app/services/enrichment.py:588
↓ 2 callers
Method
_detect_protocol_from_template
Infer AgentEndpoint protocol from nuclei template metadata.
backend/app/discovery/nuclei_runner.py:305
↓ 2 callers
Method
_is_refusal
Check if the model refused the request.
backend/app/services/attack_ollama.py:1065
↓ 2 callers
Method
_parse_jsonl
Parse a nuclei JSONL output file into a list of finding dicts.
backend/app/discovery/nuclei_runner.py:189
↓ 2 callers
Function
_probe_comfyui
Probe ComfyUI: /system_stats, /object_info.
backend/app/services/live_probe.py:344
↓ 2 callers
Function
_probe_gradio
Probe Gradio: /info, /config.
backend/app/services/live_probe.py:423
↓ 2 callers
Function
_probe_ollama
Probe Ollama API endpoints. Standard Ollama endpoints: - GET / → "Ollama is running" - GET /api/tags → list of loaded
backend/app/services/live_probe.py:83
↓ 2 callers
Function
_probe_openai_compat
Probe OpenAI-compatible endpoints: /v1/models, /health.
backend/app/services/live_probe.py:254
↓ 2 callers
Function
_setup_path
Ensure the app package is importable inside the Modal container.
backend/modal_app.py:47
↓ 2 callers
Method
_upsert
Insert or merge a normalized endpoint dict into MongoDB. Returns the ``_id`` of the upserted document.
backend/app/discovery/base.py:155
↓ 2 callers
Function
acquire_slot
Try to acquire a concurrency slot. Returns False if at capacity. Uses Redis INCR for distributed counting when available, otherwise falls bac
backend/app/services/concurrency.py:30
↓ 2 callers
Method
build_testing_info
Build the TestingInfo dict for storage.
backend/app/services/attack_mcp.py:857
↓ 2 callers
Method
check_nuclei
Return ``True`` if the nuclei binary is available. Also logs the detected path for debugging.
backend/app/discovery/nuclei_runner.py:77
↓ 2 callers
Function
classify_tool
Return a tool category: file_read, file_write, exec, db, http, email, search, other.
backend/app/services/attack_mcp.py:151
↓ 2 callers
Method
normalize_findings_group
Merge multiple Nuclei findings for the same (ip, port) into one endpoint dict. Nuclei emits one JSONL line per extractor match so a single ta
backend/app/discovery/nuclei_runner.py:323
↓ 2 callers
Function
progress_callback
(update: dict)
backend/modal_app.py:238
↓ 2 callers
Function
release_slot
Release a concurrency slot.
backend/app/services/concurrency.py:66
↓ 2 callers
Function
riskBadgeVariant
(score: number)
frontend/src/pages/Explore.tsx:22
↓ 2 callers
Function
riskBadgeVariant
(score: number)
frontend/src/pages/Landing.tsx:30
↓ 2 callers
Function
useAnalysis
(endpointId: string | undefined)
frontend/src/hooks/useApi.ts:97
↓ 2 callers
Function
useEndpoints
(params?: Parameters<typeof getEndpoints>[0])
frontend/src/hooks/useApi.ts:17
↓ 2 callers
Function
useGlobeData
()
frontend/src/hooks/useApi.ts:48
↓ 2 callers
Function
useReveal
(threshold = 0.15)
frontend/src/pages/Marketing.tsx:395
↓ 1 callers
Method
_build_minimal_args
Build minimal valid arguments from the tool's input schema.
backend/app/services/attack_mcp.py:895
↓ 1 callers
Function
_check_cors
Check if CORS is fully open (Access-Control-Allow-Origin: *).
backend/app/services/enrichment.py:521
↓ 1 callers
Method
_contains_pii
Check if text contains PII indicators.
backend/app/services/attack_openclaw.py:1241
↓ 1 callers
Function
_detect_auth_from_http
Detect auth status from HTTP status code and headers.
backend/app/services/enrichment.py:533
↓ 1 callers
Function
_detect_framework
Detect web framework from an HTTP Server header value.
backend/app/services/enrichment.py:496
↓ 1 callers
Method
_detect_protocol
Infer the agent/service type from Shodan banner and HTTP data. Returns one of the ``ProtocolType`` literals. Detection is ordered fr
backend/app/discovery/shodan_adapter.py:342
↓ 1 callers
Function
_execute_scan
Background coroutine that runs the actual scan pipeline.
backend/app/routes/scans.py:245
↓ 1 callers
Function
_extract_mcp_from_body
Try to extract MCP initialize response data from an HTTP body.
backend/app/services/enrichment.py:553
↓ 1 callers
Method
_get_adapter
Instantiate and return a source adapter by name.
backend/app/discovery/orchestrator.py:465
↓ 1 callers
Method
_get_first_string_param
(tool: MCPTool)
backend/app/services/attack_mcp.py:966
↓ 1 callers
Method
_guess_command_arg
(tool: MCPTool)
backend/app/services/attack_mcp.py:937
↓ 1 callers
Method
_guess_file_arg
Guess the file path argument name from schema.
backend/app/services/attack_mcp.py:928
↓ 1 callers
Method
_guess_query_arg
(tool: MCPTool)
backend/app/services/attack_mcp.py:953
↓ 1 callers
Method
_guess_url_arg
(tool: MCPTool)
backend/app/services/attack_mcp.py:945
↓ 1 callers
Method
_has_command_output
(result: dict)
backend/app/services/attack_mcp.py:1005
next →
1–100 of 525, ranked by callers