agentdiscover 2.7.2__tar.gz → 2.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/PKG-INFO +36 -1
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/README.md +35 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/pyproject.toml +1 -1
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/aibom.py +1 -1
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/cli.py +2 -2
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/exporters/mcpfw_policy.py +1 -1
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/sarif_output.py +1 -1
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.claude/commands/grow-scanner.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.github/workflows/aibom.yml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.github/workflows/ci.yml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.github/workflows/scan.yml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.gitignore +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/.python-version +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/CHANGELOG.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/CLAUDE.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/COMMIT_NOTES.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/CONTRIBUTING.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/Dockerfile +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/LICENSE +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/README_BADGES.txt +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/RELEASE_NOTES.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/ROADMAP.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/SECURITY.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/action.yml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/k8s/agents-configmap.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/k8s/crewai-agent.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/k8s/langchain-agent.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/k8s/shadow-agent.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/mcp-governance/DESIGN.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/mcp-governance/README.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/mcp-governance/sample-policy.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/run-demo.sh +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/sample-repo/agents/autogen_agent.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/sample-repo/agents/crewai_agent.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/sample-repo/agents/direct_client.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/sample-repo/agents/langchain_agent.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/sample-repo/requirements.txt +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/demo/setup.sh +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/deployment/kubernetes/tracing-policy.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/deployment/systemd/README.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/deployment/systemd/agent-discover-scanner.service +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docker-compose.yml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/EXAMPLES.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/TETRAGON_SETUP.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/architecture.svg +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/comparisons/vs-grep.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/comparisons/vs-nudge-security.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/ghost-detection.svg +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/integrations/elastic.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/integrations/github-actions.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/integrations/kubernetes-daemonset.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/integrations/splunk.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/known-apps-example.txt +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/layer4-setup.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/docs/nist-mapping.md +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/examples/k8s/test-workload.yaml +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/examples/tetragon-sample-events.json +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/install.sh +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/audit_reports.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/behavioral_patterns.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/correlator.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/aws_cloudtrail.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/azure_monitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/base.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/gcp_audit.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloudtrail.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/errors.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/exporters/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/git_scanner.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/high_risk_agents.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/base.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/netskope.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/prisma_access.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/umbrella.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/zscaler.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/js_signatures.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/known_apps.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/osquery_executor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/osquery_queries.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/result_parser.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/macos_detector.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/mcp_detector.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/models/endpoint_discovery.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/json_output.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/k8s_monitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/tetragon_events.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/tetragon_monitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/vendor_mapping.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/network_monitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/platform.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/reports/layer4_report.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/saas_detector.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/sbom_analyzer.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/scan_runner.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/scanner.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/signatures.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/visitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/windows_detector.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/__init__.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/autogen_safe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/autogen_unsafe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/bedrock_safe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/bedrock_unsafe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/clean_code.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/crewai_safe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/crewai_unsafe.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/langchain_agents.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/langchain_js_agent.js +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/langgraph_workflow.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/safe_with_gateway.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/shadow_anthropic.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/shadow_openai.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/fixtures/shadow_openai_js.js +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_aibom.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_audit_bundle.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_bedrock_signatures.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_behavioral_patterns.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_cloud_audit_layer5.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_cloudtrail.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_cloudtrail_wiring.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_correlator.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_correlator_layer5.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_git_scanner.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_install.sh +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_interceptors.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_mcpfw_export.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_network_monitor.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/tests/test_scanner.py +0 -0
- {agentdiscover-2.7.2 → agentdiscover-2.7.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentdiscover
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.4
|
|
4
4
|
Summary: Discover every AI agent in your infrastructure. 5-layer detection: static analysis, network monitoring, eBPF/Kubernetes runtime, endpoint, and cloud audit (CloudTrail). Company-level correlation. AIBOM export. MCP server detection.
|
|
5
5
|
Project-URL: Homepage, https://defendai.ai
|
|
6
6
|
Project-URL: Documentation, https://github.com/Defend-AI-Tech-Inc/agent-discover-scanner/blob/main/README.md
|
|
@@ -138,6 +138,41 @@ crewai-agent (CONFIRMED)
|
|
|
138
138
|
|
|
139
139
|
---
|
|
140
140
|
|
|
141
|
+
## What counts as an "agent"
|
|
142
|
+
|
|
143
|
+
DefendAI classifies **AI-capable components**, not just top-level orchestrators. Any component that invokes a model, holds a memory buffer, binds a tool, or queries a vector store is an independently governable unit — it can exfiltrate data, consume budget, or behave unexpectedly on its own.
|
|
144
|
+
|
|
145
|
+
This matters because the gap between "we have one AI agent" (what the team believes) and the actual component count is routinely 5–15×.
|
|
146
|
+
|
|
147
|
+
**Example — a single LangGraph application with 3 workers:**
|
|
148
|
+
|
|
149
|
+
| # | Component | Why it's tracked |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| 1 | `StateGraph` | Graph entrypoint; controls execution flow |
|
|
152
|
+
| 2–4 | Worker agent nodes ×3 | Each is an independent LangChain agent |
|
|
153
|
+
| 5–7 | LLM bindings ×3 (one per worker) | Direct model invocations; each has its own token budget |
|
|
154
|
+
| 8 | Supervisor node | Routes tasks between workers; has its own LLM call |
|
|
155
|
+
| 9 | LLM binding for supervisor | Additional model invocation with separate prompt |
|
|
156
|
+
| 10 | Tool node | Executes tool calls on behalf of workers |
|
|
157
|
+
| 11 | Vector store retriever | RAG component; queries an external embedding store |
|
|
158
|
+
| 12 | Memory checkpointer | Persists conversation state across turns |
|
|
159
|
+
| 13 | Prompt templates | Carry system-level instructions that can be injected or drifted |
|
|
160
|
+
| 14 | Output parser | Transforms model output; can silently drop or alter content |
|
|
161
|
+
| 15 | Human-in-the-loop interrupt | Pause point that can be bypassed in non-interactive runs |
|
|
162
|
+
|
|
163
|
+
One application. One developer who says "it's just an AI assistant." Fifteen components that each independently touch a model, a store, or a tool — any of which could be ungoverned, GHOST-classified, or carrying a stale permission scope.
|
|
164
|
+
|
|
165
|
+
**Why component-level visibility matters:**
|
|
166
|
+
|
|
167
|
+
- A worker's LLM binding can be swapped (model drift) without changing the agent node that wraps it.
|
|
168
|
+
- A retriever can be pointed at a new vector store index without redeploying the application.
|
|
169
|
+
- A prompt template lives in a config file, not code — static analysis misses it; only runtime observation catches the change.
|
|
170
|
+
- GHOST detection fires at the component level: if worker 2's LLM binding starts calling a different endpoint, the graph-level agent still looks CONFIRMED while that specific binding is GHOST.
|
|
171
|
+
|
|
172
|
+
agentdiscover reports each component as a separate inventory item so your governance controls can target the right granularity.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
141
176
|
## Quick start
|
|
142
177
|
|
|
143
178
|
```bash
|
|
@@ -95,6 +95,41 @@ crewai-agent (CONFIRMED)
|
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
+
## What counts as an "agent"
|
|
99
|
+
|
|
100
|
+
DefendAI classifies **AI-capable components**, not just top-level orchestrators. Any component that invokes a model, holds a memory buffer, binds a tool, or queries a vector store is an independently governable unit — it can exfiltrate data, consume budget, or behave unexpectedly on its own.
|
|
101
|
+
|
|
102
|
+
This matters because the gap between "we have one AI agent" (what the team believes) and the actual component count is routinely 5–15×.
|
|
103
|
+
|
|
104
|
+
**Example — a single LangGraph application with 3 workers:**
|
|
105
|
+
|
|
106
|
+
| # | Component | Why it's tracked |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| 1 | `StateGraph` | Graph entrypoint; controls execution flow |
|
|
109
|
+
| 2–4 | Worker agent nodes ×3 | Each is an independent LangChain agent |
|
|
110
|
+
| 5–7 | LLM bindings ×3 (one per worker) | Direct model invocations; each has its own token budget |
|
|
111
|
+
| 8 | Supervisor node | Routes tasks between workers; has its own LLM call |
|
|
112
|
+
| 9 | LLM binding for supervisor | Additional model invocation with separate prompt |
|
|
113
|
+
| 10 | Tool node | Executes tool calls on behalf of workers |
|
|
114
|
+
| 11 | Vector store retriever | RAG component; queries an external embedding store |
|
|
115
|
+
| 12 | Memory checkpointer | Persists conversation state across turns |
|
|
116
|
+
| 13 | Prompt templates | Carry system-level instructions that can be injected or drifted |
|
|
117
|
+
| 14 | Output parser | Transforms model output; can silently drop or alter content |
|
|
118
|
+
| 15 | Human-in-the-loop interrupt | Pause point that can be bypassed in non-interactive runs |
|
|
119
|
+
|
|
120
|
+
One application. One developer who says "it's just an AI assistant." Fifteen components that each independently touch a model, a store, or a tool — any of which could be ungoverned, GHOST-classified, or carrying a stale permission scope.
|
|
121
|
+
|
|
122
|
+
**Why component-level visibility matters:**
|
|
123
|
+
|
|
124
|
+
- A worker's LLM binding can be swapped (model drift) without changing the agent node that wraps it.
|
|
125
|
+
- A retriever can be pointed at a new vector store index without redeploying the application.
|
|
126
|
+
- A prompt template lives in a config file, not code — static analysis misses it; only runtime observation catches the change.
|
|
127
|
+
- GHOST detection fires at the component level: if worker 2's LLM binding starts calling a different endpoint, the graph-level agent still looks CONFIRMED while that specific binding is GHOST.
|
|
128
|
+
|
|
129
|
+
agentdiscover reports each component as a separate inventory item so your governance controls can target the right granularity.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
98
133
|
## Quick start
|
|
99
134
|
|
|
100
135
|
```bash
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agentdiscover"
|
|
7
|
-
version = "2.7.
|
|
7
|
+
version = "2.7.4"
|
|
8
8
|
description = "Discover every AI agent in your infrastructure. 5-layer detection: static analysis, network monitoring, eBPF/Kubernetes runtime, endpoint, and cloud audit (CloudTrail). Company-level correlation. AIBOM export. MCP server detection."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -39,7 +39,7 @@ import socket
|
|
|
39
39
|
__version__ = _pkg_version("agentdiscover")
|
|
40
40
|
logger = logging.getLogger(__name__)
|
|
41
41
|
|
|
42
|
-
app = typer.Typer(help="AgentDiscover
|
|
42
|
+
app = typer.Typer(help="AgentDiscover: Detect Autonomous AI Agents and Shadow AI")
|
|
43
43
|
console = Console()
|
|
44
44
|
|
|
45
45
|
|
|
@@ -49,7 +49,7 @@ def version_callback(value: Optional[bool]) -> None:
|
|
|
49
49
|
"""
|
|
50
50
|
if not value:
|
|
51
51
|
return
|
|
52
|
-
console.print(f"AgentDiscover
|
|
52
|
+
console.print(f"AgentDiscover v{__version__}")
|
|
53
53
|
raise typer.Exit()
|
|
54
54
|
|
|
55
55
|
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/exporters/mcpfw_policy.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Convert AgentDiscover
|
|
2
|
+
Convert AgentDiscover MCP findings into a runnable mcpfw policy dict.
|
|
3
3
|
|
|
4
4
|
Entry point: export_mcpfw_policy(scan_result, stance) -> dict
|
|
5
5
|
The returned dict serializes directly to valid mcpfw YAML.
|
|
@@ -13,7 +13,7 @@ from agent_discover_scanner.visitor import Finding
|
|
|
13
13
|
class SARIFGenerator:
|
|
14
14
|
"""Generate SARIF 2.1.0 compliant output."""
|
|
15
15
|
|
|
16
|
-
TOOL_NAME = "AgentDiscover
|
|
16
|
+
TOOL_NAME = "AgentDiscover"
|
|
17
17
|
TOOL_VERSION = "1.0.0"
|
|
18
18
|
TOOL_URI = "https://defendai.ai/agentdiscover"
|
|
19
19
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/deployment/systemd/agent-discover-scanner.service
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/behavioral_patterns.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloud_audit/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/detectors/cloudtrail.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/exporters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/__init__.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/netskope.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/umbrella.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/interceptors/sse/zscaler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/osquery_executor.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/osquery_queries.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/layer4/result_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/models/endpoint_discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/json_output.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/k8s_monitor.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/tetragon_events.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/tetragon_monitor.py
RENAMED
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/monitors/vendor_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentdiscover-2.7.2 → agentdiscover-2.7.4}/src/agent_discover_scanner/reports/layer4_report.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|