AI Agent Permission & Access Auditor — surfaces the lethal trifecta of credentials + injection + reach
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in cognis-digital/aegis
- HIGH code analysis flagged committed secret in cognis-digital/aegis
- HIGH code analysis flagged dynamic code execution in cognis-digital/aegis
- HIGH code analysis flagged committed secret, dynamic code execution in cognis-digital/aegis
- HIGH code analysis flagged committed secret, dynamic code execution in cognis-digital/aegis
transport stdio counts 1 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
aegis_scan
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 2e75bcc · analyzer v33 · 1w ago
danger signals2
- dynamic code execution eval()/exec() cognis-digital-aegis-2e75bcc/demos/coding-assistant/agent.py :42
return eval(expr) - committed secret OpenAI key cognis-digital-aegis-2e75bcc/demos/04-supply-chain-mcp/agent.py :5
sk-aDD…(51 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 91
filesystem 15
- fs cognis-digital-aegis-2e75bcc/aegis/cli.py :143
with open(args.output, "w", encoding="utf-8") as fh: - fs cognis-digital-aegis-2e75bcc/aegis/connect.py :73
text = sys.stdin.read() if a.input == "-" else open(a.input, encoding="utf-8").read() - fs cognis-digital-aegis-2e75bcc/aegis/core.py :19
from pathlib import Path - fs cognis-digital-aegis-2e75bcc/aegis/detectors.py :6
from pathlib import Path - fs cognis-digital-aegis-2e75bcc/aegis/exporters.py :7
from pathlib import Path - fs cognis-digital-aegis-2e75bcc/aegis/parsers.py :7
from pathlib import Path - fs cognis-digital-aegis-2e75bcc/aegis/web.py :7
from pathlib import Path - fs cognis-digital-aegis-2e75bcc/demos/04-supply-chain-mcp/agent.py :12
with open(f"/srv/contracts/{text[:30]}.pdf", "w") as f: - fs cognis-digital-aegis-2e75bcc/polyglot/python/credential_inventory.py :19
with open(self.config_path, "r") as f: - fs cognis-digital-aegis-2e75bcc/polyglot/python/credential_scanner.py :37
with open(file_path, 'r', errors='ignore') as f: - fs cognis-digital-aegis-2e75bcc/polyglot/python/permission_mapper.py :82
with open(file_path, "r") as f: - fs (weak) cognis-digital-aegis-2e75bcc/tests/test_core.py :2
from pathlib import Path
show 3 more
- fs (weak) cognis-digital-aegis-2e75bcc/tests/test_detectors.py :4
from pathlib import Path - fs (weak) cognis-digital-aegis-2e75bcc/tests/test_parsers_scoring.py :4
from pathlib import Path - fs (weak) cognis-digital-aegis-2e75bcc/tests/test_scan_engine.py :5
from pathlib import Path
shell / exec 4
- shell cognis-digital-aegis-2e75bcc/demos/04-supply-chain-mcp/agent.py :2
import subprocess - shell cognis-digital-aegis-2e75bcc/demos/coding-assistant/agent.py :5
- eval() and os.system() — critical reach - shell cognis-digital-aegis-2e75bcc/polyglot/python/credential_scanner.py :7
import subprocess - shell (weak) cognis-digital-aegis-2e75bcc/tests/test_detectors.py :146
body = "import subprocess\nsubprocess.run('ls', shell=True)\n"
network 4
- net cognis-digital-aegis-2e75bcc/demos/coding-assistant/agent.py :12
import urllib.request - net cognis-digital-aegis-2e75bcc/integrations/webhook.py :8
import argparse, json, sys, urllib.request - net cognis-digital-aegis-2e75bcc/livesearch.py :28
import urllib.parse - net cognis-digital-aegis-2e75bcc/polyglot/python/session_monitor.py :6
import socket
tool registrations 1
- aegis_scan cognis-digital-aegis-2e75bcc/aegis/mcp_server.py :35
declared dependencies 9
- mcp@>=1.0
- cognis-connect@@ git+https://github.com/cognis-digital/cognis-connect.git
- fastapi@>=0.110
- uvicorn@>=0.27
- jinja2@>=3.1
- PyYAML@>=6.0
- pytest@>=8.0
- ruff@>=0.4
- mypy@>=1.10