github Python re-analysis due

malkreide/mcp-audit-skill

github

Claude-Skill für systematische MCP-Server-Audits gegen einen kuratierten Best-Practice-Standards-Korpus · 120 Checks · 12 Kategorien · OAuth 2.1, OWASP, Lethal Trifecta, Schweiz-Compliance (DSG/ISDS) · MIT

maintainer
malkreide
license
MIT
first seen
2026-07-29
last seen
2026-08-22
releases · 30d
14
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · streamable-http · http · sse counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
code evidence vv3.0.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 161

filesystem 127

  • fs malkreide-mcp-audit-skill-ac57e64/audit-notion-sync.py :40 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/audit-notion-sync.py :40 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/agent_run_log.py :41 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/aggregate_results.py :48 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/audit_init.py :45 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/build_report.py :26 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/carry_forward.py :60 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_quality_chain.py :97 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_repo_description.py :59 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_reported_numbers.py :37 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/eval_applicability.py :46 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/parse_catalog.py :21 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/propose_release.py :36 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/render_description_issue.py :39 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/sweeps/fid006_sweep.py :40 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/tracker_sync.py :39 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/validate_profile.py :47 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/verify_inventory.py :73 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/verify_raw_outputs.py :31 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/conftest.py :4 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/suites/_mutation.py :36 import shutil
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/suites/conftest.py :27 import shutil
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/suites/mcp_transport_hardening.py :35 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/suites/test_mutations.py :27 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_adoption_stage.py :20 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_agent_run_log.py :7 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_aggregate_results.py :14 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_applicability.py :8 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_applicability_diff.py :12 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_arch_003_request_side.py :24 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_audit_init.py :7 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_audit_suite.py :24 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_build_report.py :6 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_carry_forward.py :13 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_catalog_criteria.py :27 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_catalog_epoch.py :13 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_command_counts.py :22 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_evidence_requirement.py :16 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_fidelity_catalogue.py :19 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_context.py :15 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_counts.py :17 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_docs.py :18 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_hygiene.py :16 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_ruff.py :19 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_toolchain.py :19 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_workflows.py :17 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_harness_core.py :16 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_negative_control.py :21 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_not_verified_status.py :13 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_notion_sync.py :13 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_parse_catalog.py :6 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_path_utils.py :139 import shutil
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_probe_bash_lookup.py :22 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_propose_release.py :9 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_quality_chain.py :34 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_quality_chain_workflow.py :43 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_readme_counts.py :36 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_readme_harness_counts.py :35 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_render_description_issue.py :13 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_repo_description.py :26 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_roadmap_counts.py :17 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_ruff_line_length.py :31 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_ruff_pin.py :22 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_ruff_version.py :21 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_shell_portability.py :36 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_skill_counts.py :23 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_skill_package.py :18 import pathlib
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_skill_version_literals.py :34 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_spec_baseline.py :32 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_target_revision.py :14 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_tracker_sync.py :11 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_transport_vocabulary.py :28 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_validate_profile.py :6 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_verify_inventory.py :18 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_verify_raw_outputs.py :6 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/agent_run_log.py :41 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/aggregate_results.py :48 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/audit_init.py :45 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/build_report.py :26 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/build_skill.py :29 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/carry_forward.py :60 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/check_quality_chain.py :97 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/check_repo_description.py :59 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/check_reported_numbers.py :37 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/check_ruff_pin.py :42 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/check_ruff_version.py :33 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/eval_applicability.py :46 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/counts.py :32 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/hygiene.py :23 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/readmes.py :25 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/references.py :30 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/release.py :25 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/ruff.py :45 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/skill_doc.py :20 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/toolchain.py :55 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/gates/workflows.py :56 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tools/harness/__main__.py :17 from pathlib import Path
  • fs (weak) malkreide-mcp-audit-skill-ac57e64/tools/harness/_core.py :47 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/parse_catalog.py :21 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/propose_release.py :36 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/render_description_issue.py :39 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/skill_package.py :29 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/counts.py :24 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/hygiene.py :16 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/release.py :16 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/ruff_gate.py :33 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/skill_archive.py :29 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/skill_doc.py :19 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/toolchain.py :21 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_audit/workflows.py :28 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_fidelity/catalogue.py :62 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_fidelity/hygiene.py :5 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_fidelity/readmes.py :17 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_fidelity/skill_doc.py :6 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_source_probe/adoption.py :49 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_source_probe/readmes.py :6 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_source_probe/references.py :19 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_source_probe/skill_doc.py :13 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_transport_hardening/hygiene.py :5 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_transport_hardening/readmes.py :11 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_transport_hardening/references.py :25 import shutil
  • fs malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_transport_hardening/skill_doc.py :6 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/sweeps/fid006_sweep.py :40 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/tracker_sync.py :39 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/validate_profile.py :47 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/verify_inventory.py :73 from pathlib import Path
  • fs malkreide-mcp-audit-skill-ac57e64/tools/verify_raw_outputs.py :31 from pathlib import Path

shell / exec 19

  • shell malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/audit_init.py :42 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/propose_release.py :37 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/skills/mcp-transport-hardening/reference/patterns.py :38 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/suites/conftest.py :28 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_hygiene.py :17 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_gates_ruff.py :44 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_path_utils.py :158 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_propose_release.py :7 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_quality_chain_workflow.py :40 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_target_revision.py :13 import subprocess
  • shell (weak) malkreide-mcp-audit-skill-ac57e64/tests/test_tracker_sync.py :9 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/audit_init.py :42 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/check_ruff_version.py :34 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/gates/hygiene.py :22 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/gates/ruff.py :46 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/gates/toolchain.py :56 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/propose_release.py :37 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_data_source_probe/references.py :18 import subprocess
  • shell malkreide-mcp-audit-skill-ac57e64/tools/suites/mcp_transport_hardening/references.py :26 import subprocess

network 11

  • net malkreide-mcp-audit-skill-ac57e64/audit-notion-sync.py :18 Stdlib only (urllib.request, json). No pip install required.
  • net malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/audit-notion-sync.py :18 Stdlib only (urllib.request, json). No pip install required.
  • net malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_quality_chain.py :94 import urllib.error
  • net malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_repo_description.py :57 import urllib.error
  • net malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/tracker_sync.py :41 from urllib.error import HTTPError, URLError
  • net malkreide-mcp-audit-skill-ac57e64/skills/mcp-data-fidelity/reference/patterns.py :21 import httpx
  • net malkreide-mcp-audit-skill-ac57e64/skills/mcp-data-source-probe/reference/retry_backoff.py :29 at the colon: ``httpx.ConnectTimeout``, ``ReadTimeout`` and ``ConnectError``
  • net malkreide-mcp-audit-skill-ac57e64/skills/mcp-transport-hardening/reference/patterns.py :378 transport = httpx.ASGITransport(app=build_http_app(settings))
  • net malkreide-mcp-audit-skill-ac57e64/tools/check_quality_chain.py :94 import urllib.error
  • net malkreide-mcp-audit-skill-ac57e64/tools/check_repo_description.py :57 import urllib.error
  • net malkreide-mcp-audit-skill-ac57e64/tools/tracker_sync.py :41 from urllib.error import HTTPError, URLError

secrets 8

  • secrets malkreide-mcp-audit-skill-ac57e64/audit-notion-sync.py :106 token = os.environ.get("NOTION_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/audit-notion-sync.py :106 token = os.environ.get("NOTION_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_quality_chain.py :327 token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/check_repo_description.py :128 token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/mcp-audit.skill!/mcp-audit/tools/tracker_sync.py :222 token = os.environ.get("NOTION_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/tools/check_quality_chain.py :327 token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/tools/check_repo_description.py :128 token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
  • secrets malkreide-mcp-audit-skill-ac57e64/tools/tracker_sync.py :222 token = os.environ.get("NOTION_TOKEN")