https://github.com/siddhant3030/mcp-kavach
· scanned 2026-06-16 00:12 UTC (2 months, 2 weeks ago)
13 raw signals (0 security + 13 graph)
Last scanned 2 months, 2 weeks ago · v1 · 12 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 605 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
make_upstream |
software | healthy | tests/test_fastmcp_adapter.py:16 |
get_user |
software | healthy | tests/test_fastmcp_adapter.py:20 |
echo |
software | healthy | tests/test_fastmcp_adapter.py:24 |
leak_secret |
software | healthy | tests/test_fastmcp_adapter.py:28 |
call |
software | healthy | tests/test_fastmcp_adapter.py:34 |
run |
software | healthy | tests/test_fastmcp_adapter.py:92 |
make_engine |
software | healthy | tests/test_fastmcp_adapter.py:42 |
with_middleware |
software | healthy | tests/test_fastmcp_adapter.py:46 |
test_masks_tool_result |
software | healthy | tests/test_fastmcp_adapter.py:54 |
test_result_scope_block_becomes_error |
software | healthy | tests/test_fastmcp_adapter.py:65 |
test_scan_arguments_rewrites_input |
software | healthy | tests/test_fastmcp_adapter.py:72 |
test_clean_result_untouched |
software | healthy | tests/test_fastmcp_adapter.py:79 |
test_proxy_mirrors_tools_and_masks |
software | healthy | tests/test_fastmcp_adapter.py:87 |
test_missing_fastmcp_gives_actionable_error |
software | healthy | tests/test_fastmcp_adapter.py:105 |
fake_import |
software | healthy | tests/test_fastmcp_adapter.py:111 |
hook_env |
software | healthy | tests/test_hooks.py:11 |
run_cli |
software | healthy | tests/test_hooks.py:22 |
hook_out |
software | healthy | tests/test_hooks.py:32 |
test_clean_prompt_is_silent |
software | healthy | tests/test_hooks.py:38 |
test_pii_prompt_blocks_with_masked_version |
software | healthy | tests/test_hooks.py:42 |
test_identical_resend_confirms |
software | healthy | tests/test_hooks.py:52 |
test_different_session_does_not_share_confirmation |
software | healthy | tests/test_hooks.py:63 |
test_warn_mode_lets_prompt_through |
software | healthy | tests/test_hooks.py:70 |
test_off_mode |
software | healthy | tests/test_hooks.py:77 |
test_garbage_stdin_fails_open |
software | healthy | tests/test_hooks.py:82 |
test_ask_on_pii |
software | healthy | tests/test_hooks.py:89 |
test_allowlisted_tool_skipped |
software | healthy | tests/test_hooks.py:98 |
test_mask_mode_rewrites_input |
software | healthy | tests/test_hooks.py:103 |
test_clean_input_silent |
software | healthy | tests/test_hooks.py:114 |
test_warns_on_pii_in_dict_response |
software | healthy | tests/test_hooks.py:121 |
test_string_and_content_block_responses |
software | healthy | tests/test_hooks.py:132 |
test_audit_log_is_hash_only |
software | healthy | tests/test_hooks.py:141 |
test_clean_response_silent |
software | healthy | tests/test_hooks.py:150 |
test_scan_prints_masked_text_and_table |
software | healthy | tests/test_hooks.py:157 |
test_canonical_vector |
software | healthy | tests/test_checksums.py:5 |
test_generated_numbers_validate |
software | healthy | tests/test_checksums.py:11 |
test_single_digit_perturbation_fails |
software | healthy | tests/test_checksums.py:16 |
test_ignores_separators |
software | healthy | tests/test_checksums.py:23 |
test_empty_and_non_digit |
software | healthy | tests/test_checksums.py:27 |
test_known_valid_cards |
software | healthy | tests/test_checksums.py:33 |
test_perturbation_fails |
software | healthy | tests/test_checksums.py:38 |
test_too_short |
software | healthy | tests/test_checksums.py:41 |
ngo_policy |
software | healthy | tests/conftest.py:13 |
engine |
software | healthy | tests/conftest.py:18 |
test_corpus |
software | healthy | tests/test_corpus.py:16 |
test_corpus_is_not_empty |
software | healthy | tests/test_corpus.py:37 |
make_event |
software | healthy | tests/test_audit.py:23 |
test_postgres_urls |
software | healthy | tests/test_audit.py:62 |
test_sqlite_paths |
software | healthy | tests/test_audit.py:66 |
test_everything_else_is_jsonl |
software | healthy | tests/test_audit.py:70 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestMiddleware |
software | healthy | tests/test_fastmcp_adapter.py:53 |
TestProxy |
software | healthy | tests/test_fastmcp_adapter.py:86 |
TestLazyImport |
software | healthy | tests/test_fastmcp_adapter.py:104 |
TestPromptGuard |
software | healthy | tests/test_hooks.py:37 |
TestToolInputGuard |
software | healthy | tests/test_hooks.py:88 |
TestToolOutputGuard |
software | healthy | tests/test_hooks.py:120 |
TestScanCommand |
software | healthy | tests/test_hooks.py:156 |
TestVerhoeff |
software | healthy | tests/test_checksums.py:4 |
TestLuhn |
software | healthy | tests/test_checksums.py:32 |
TestDetectBackend |
software | healthy | tests/test_audit.py:61 |
TestRoundTrips |
software | healthy | tests/test_audit.py:79 |
TestReport |
software | healthy | tests/test_audit.py:121 |
TestTailHelpers |
software | healthy | tests/test_audit.py:189 |
TestHookSinkSelection |
software | healthy | tests/test_audit.py:196 |
TestPostgres |
software | healthy | tests/test_audit.py:219 |
FakeCursor |
software | healthy | tests/test_audit.py:228 |
FakeConn |
software | healthy | tests/test_audit.py:238 |
TestState |
software | healthy | tests/test_hook_units.py:19 |
TestConfig |
software | healthy | tests/test_hook_units.py:38 |
TestSummary |
software | healthy | tests/test_hook_units.py:58 |
TestCompile |
software | healthy | tests/test_pathmatch.py:10 |
TestMatch |
software | healthy | tests/test_pathmatch.py:20 |
TestRender |
software | healthy | tests/test_pathmatch.py:52 |
TestEmail |
software | healthy | tests/test_detectors.py:24 |
TestPhone |
software | healthy | tests/test_detectors.py:34 |
TestAadhaar |
software | healthy | tests/test_detectors.py:53 |
TestPan |
software | healthy | tests/test_detectors.py:80 |
TestIfsc |
software | healthy | tests/test_detectors.py:95 |
TestCreditCard |
software | healthy | tests/test_detectors.py:103 |
TestIpAddress |
software | healthy | tests/test_detectors.py:112 |
TestSecrets |
software | healthy | tests/test_detectors.py:123 |
TestColumnNameDetector |
software | healthy | tests/test_detectors.py:140 |
TestMergeClusters |
software | healthy | tests/test_transformer.py:14 |
TestTransformText |
software | healthy | tests/test_transformer.py:49 |
TestPartialMask |
software | healthy | tests/test_transformer.py:77 |
TestTokenConsistency |
software | healthy | tests/test_vault.py:35 |
TestScopes |
software | healthy | tests/test_vault.py:74 |
TestRehydrate |
software | healthy | tests/test_vault.py:86 |
TestRehydrateCli |
software | healthy | tests/test_vault.py:117 |
TestFailSafe |
software | healthy | tests/test_vault.py:136 |
TestFilePermissions |
software | healthy | tests/test_vault.py:148 |
TestSeverity |
software | healthy | tests/test_vault.py:157 |
TestNormalizeDigits |
software | healthy | tests/test_multilingual.py:34 |
TestDevanagariDetectors |
software | healthy | tests/test_multilingual.py:71 |
TestEngineEndToEnd |
software | healthy | tests/test_multilingual.py:90 |
TestHindiColumnNames |
software | healthy | tests/test_multilingual.py:119 |
FakeAnalyzer |
software | healthy | tests/test_ner.py:17 |
TestNerDetector |
software | healthy | tests/test_ner.py:27 |
TestLoader |
software | healthy | tests/test_ner.py:49 |
TestEngineIntegration |
software | healthy | tests/test_ner.py:75 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
SECURITY.md |
software | healthy | SECURITY.md |
test_fastmcp_adapter.py |
software | healthy | tests/test_fastmcp_adapter.py |
test_hooks.py |
software | healthy | tests/test_hooks.py |
test_checksums.py |
software | healthy | tests/test_checksums.py |
conftest.py |
software | healthy | tests/conftest.py |
test_corpus.py |
software | healthy | tests/test_corpus.py |
test_audit.py |
software | healthy | tests/test_audit.py |
test_hook_units.py |
software | healthy | tests/test_hook_units.py |
test_pathmatch.py |
software | healthy | tests/test_pathmatch.py |
test_detectors.py |
software | healthy | tests/test_detectors.py |
test_transformer.py |
software | healthy | tests/test_transformer.py |
test_ner_integration.py |
software | healthy | tests/test_ner_integration.py |
test_vault.py |
software | healthy | tests/test_vault.py |
test_multilingual.py |
software | healthy | tests/test_multilingual.py |
test_ner.py |
software | healthy | tests/test_ner.py |
test_engine.py |
software | healthy | tests/test_engine.py |
test_policy.py |
software | healthy | tests/test_policy.py |
secrets.json |
software | healthy | tests/fixtures/corpus/secrets.json |
multilingual.json |
software | healthy | tests/fixtures/corpus/multilingual.json |
beneficiaries.json |
software | healthy | tests/fixtures/corpus/beneficiaries.json |
threat-model.md |
software | healthy | docs/threat-model.md |
architecture.md |
software | healthy | docs/architecture.md |
demo-script.md |
software | healthy | docs/demo-script.md |
policy-schema.md |
software | healthy | docs/policy-schema.md |
vault.md |
software | healthy | docs/vault.md |
audit.md |
software | healthy | docs/audit.md |
claude-plugin.md |
software | healthy | docs/claude-plugin.md |
policy-packs.md |
software | healthy | docs/policy-packs.md |
2026-06-12-landscape-and-roadmap.md |
software | healthy | docs/research/2026-06-12-landscape-and-roadmap.md |
2026-06-15-universal-positioning.md |
software | healthy | docs/research/2026-06-15-universal-positioning.md |
ci.yml |
software | healthy | .github/workflows/ci.yml |
release.yml |
software | healthy | .github/workflows/release.yml |
__init__.py |
software | healthy | src/mcp_kavach/__init__.py |
engine.py |
software | healthy | src/mcp_kavach/engine.py |
models.py |
software | healthy | src/mcp_kavach/models.py |
pathmatch.py |
software | healthy | src/mcp_kavach/pathmatch.py |
audit.py |
software | healthy | src/mcp_kavach/audit.py |
__init__.py |
software | healthy | src/mcp_kavach/adapters/__init__.py |
proxy.py |
software | healthy | src/mcp_kavach/adapters/proxy.py |
fastmcp_middleware.py |
software | healthy | src/mcp_kavach/adapters/fastmcp_middleware.py |
__init__.py |
software | healthy | src/mcp_kavach/vault/__init__.py |
store.py |
software | healthy | src/mcp_kavach/vault/store.py |
__init__.py |
software | healthy | src/mcp_kavach/policy/__init__.py |
schema.py |
software | healthy | src/mcp_kavach/policy/schema.py |
loader.py |
software | healthy | src/mcp_kavach/policy/loader.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fixtures |
software | healthy | tests/fixtures |
corpus |
software | healthy | tests/fixtures/corpus |
docs |
software | healthy | docs |
research |
software | healthy | docs/research |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
mcp_kavach |
software | healthy | src/mcp_kavach |
adapters |
software | healthy | src/mcp_kavach/adapters |
vault |
software | healthy | src/mcp_kavach/vault |
policy |
software | healthy | src/mcp_kavach/policy |
transform |
software | healthy | src/mcp_kavach/transform |
cli |
software | healthy | src/mcp_kavach/cli |
hooks |
software | healthy | src/mcp_kavach/hooks |
detectors |
software | healthy | src/mcp_kavach/detectors |
policies |
software | healthy | src/mcp_kavach/policies |
plugins |
software | healthy | plugins |
kavach |
software | healthy | plugins/kavach |
commands |
software | healthy | plugins/kavach/commands |
scripts |
software | healthy | plugins/kavach/scripts |
hooks |
software | healthy | plugins/kavach/hooks |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/mcp_kavach/policies/dpdp.yaml |
security | healthy | src/mcp_kavach/policies/dpdp.yaml |
auth::tests/test_policy.py |
security | healthy | tests/test_policy.py |
auth::.github/workflows/release.yml |
security | healthy | .github/workflows/release.yml |
auth::src/mcp_kavach/policies/gdpr.yaml |
security | healthy | src/mcp_kavach/policies/gdpr.yaml |
auth::tests/test_ner.py |
security | healthy | tests/test_ner.py |
auth::src/mcp_kavach/detectors/structural.py |
security | healthy | src/mcp_kavach/detectors/structural.py |
auth::src/mcp_kavach/detectors/secrets.py |
security | healthy | src/mcp_kavach/detectors/secrets.py |
auth::tests/test_detectors.py |
security | healthy | tests/test_detectors.py |
auth::src/mcp_kavach/policies/personal.yaml |
security | healthy | src/mcp_kavach/policies/personal.yaml |
auth::src/mcp_kavach/policies/dev.yaml |
security | healthy | src/mcp_kavach/policies/dev.yaml |
auth::src/mcp_kavach/policies/ngo-default.yaml |
security | healthy | src/mcp_kavach/policies/ngo-default.yaml |
auth::src/mcp_kavach/policies/strict.yaml |
security | healthy | src/mcp_kavach/policies/strict.yaml |
auth::src/mcp_kavach/policies/hipaa-lite.yaml |
security | healthy | src/mcp_kavach/policies/hipaa-lite.yaml |
auth::README.md |
security | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
github_token::tests/test_fastmcp_adapter.py |
security | healthy | tests/test_fastmcp_adapter.py |
github_token::tests/test_detectors.py |
security | healthy | tests/test_detectors.py |
github_token::tests/test_engine.py |
security | healthy | tests/test_engine.py |
github_token::tests/fixtures/corpus/secrets.json |
security | healthy | tests/fixtures/corpus/secrets.json |
github_token::tests/fixtures/corpus/secrets.json |
security | healthy | tests/fixtures/corpus/secrets.json |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/ci.yml |
docker |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/release.yml |
publish |
cicd | healthy | .github/workflows/release.yml |
docker |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
postgres |
data | healthy | README.md |
postgresql |
data | healthy | tests/test_audit.py |
| Label | Layer | Status | Path |
|---|---|---|---|
audit_events |
data | healthy | src/mcp_kavach/audit.py |
vault |
data | healthy | src/mcp_kavach/vault/store.py |
| Label | Layer | Status | Path |
|---|---|---|---|
10.0.0.12 |
network | healthy | tests/test_detectors.py |
1.2.3.4 |
network | healthy | tests/test_detectors.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-8q93h_qw |
software | healthy | /tmp/repobility-clone-8q93h_qw |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/544f56d7-49b7-4b4f-ae97-f89bb93bb9dd/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/544f56d7-49b7-4b4f-ae97-f89bb93bb9dd/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.