228a05601bd83a0c1646457369a3ec0091c6b819a795edded8853671f8be8bd8  .dockerignore
9169508ebb6373abaf859075268e0d3e3095818f51f9a0128efe96c2cc665543  demo.sh
7051a1df3440f6541f50ca66e6623c623092836429c8dbdb0286a0bd4e9f1301  Dockerfile
f9bd8d8e8f7db4f9c34382f0ad4247c22b05c1c282e7959c5dca77b52ba616a6  docs/ARCHITECTURE.md
a34f18564da07f03a79d71407026f7710362eca44227fb82c5021489b1daf84c  docs/CONFIG-REQUEST.md
25eaffa5c4e9df3ec257b5d4b0dce788c043ca5f5ae4376249c710a00188407e  docs/DOMAIN_REFERENCE.md
6f34f99f19bba31412239f356e3e25f9add5402a18ae6feeb3cb3f7f95aa0e3a  docs/PRE-COMMIT-CONTROL.md
185e0d960cacd1e3c0d5d872698c1f32af0c759f197c0853510080b2caadeadc  docs/RULE_AUTHORITY.md
e229b9680cdffa8d9b534cdd0aa55eb75e3a303975cb68c4730a8fe5dda1031e  docs/RUNBOOK.md
4f1daa1ced70745bafba0cee12842acbf247e15ac1c8c8e8056be3eb1179875f  docs/sbom-cyclonedx.json
0a01ce8877870b11544dd77e30602b3f13b5b8c74940f2d5e56cc0265017220b  docs/SECURITY.md
695567c726c251f839f1d6d4f63c09f1a92129d7df1ac3e8ae7819dd7e40377d  docs/VALIDATOR-COVERAGE.md
ef94776d45f8cb7a1a2afff1c5b93ec511ebc7fd96f12a9aac13b0d29175382d  EVALUATOR-START-HERE.md
b6414a0a8fd778345ecb95be495534484bdc53e75dc1a51dce35cb1275d07909  examples/ci/ansible-sbc-gate.yml
21b712f6336892d344a79382981ce2f8deedadb31a62d842659e8c1e43020c7d  examples/ci/drift-check.sh
275fad090377e2a0a78f33717cc754135e741153799529e0d06bd7f3739d69dd  examples/ci/sbc-pre-deploy-gate.yml
afae6eee2475501115a58271f2956beb4f8d97b2486ddb9d55ebd38ac2150d38  examples/ci/terraform-sbc-gate.tf
4718374a71fe0b06ddb1e94f6326e68fcf96f1c315a97fa4d5b5d7868efd9d06  pyproject.toml
e4f2f8e2ad609a9945f0670c729c3824405ef35c49ee112ce19698e9e882dd48  README.md
cb99869574944947c46557ae1ac51242ef698efac3377737708ea27fe34ab24a  rulesets/ms_direct_routing_2026-06.json
9e06b1681f706d2688da4c70cd6d9ddc4c9591e8d57b1ddc088d2d52b4d50905  samples/audiocodes_carrier.ini
c67ed28dbf2c87768823e2cc90655d8a74585e0df2ae1d50bc368b22f79439f9  samples/audiocodes_exposed.ini
8e7eda3bee9cb81165ad75f7848087ade5fca0038fe16cc4ae4613f47f4d406a  samples/audiocodes_min.ini
c58921d5fa756dfbc38e63f430afb95d8153bc9f616e1a644fdc0d831f6320b2  samples/audiocodes_standby.ini
58fd84174596f8397f3984f419f40543c6f89f034ac119966ab2888ac1195e71  samples/audiocodes_teams_real.ini
6d9938b29d026158fb24219ebf93223fa2c8aa826ff02846ed0045daa8b3fc59  samples/audiocodes_weak_tls.ini
5387636b8745afa4fbc93d3b66d74c367dd8e5c2934fd3310b867734033d10a2  samples/broken_a.ini
468b371e53a41a9cbe34931e5790088da6bdf3945e250baeba2d9391b4ddc240  samples/chain_fullchain.pem
44418abc9a63c5383e8520ad4fd8070c4495a0d21bb3f77865c118f50256fc64  samples/chain_root.pem
f4ddb343fc413b85a3c6a84dbe3aeec8afac92b36879b1a5bbff1f9c8c7a5533  samples/cisco_cube_dr.txt
b5e8b0a2b4f7fe9e401af35ffdde9ad918a4dc2e162716bb423c526c65246ee2  samples/clean_call.pcap
f6b4f8c1c7bff77411fc85c8067a4743c02dd55790c85f1f0782414843120ac0  samples/clean_pass.ini
f93ada60feee4ce6fed52cfb3864c5a04068d829b4a91facea151868b1d3da7d  samples/cube_sbc_leaf.pem
4649e93ad8cdbed96660023cc4a1fd893a8952e4415c9dd3f846bc99f3651f03  samples/make_chain.py
24d87b8f4988c0e6f2f10ff0a55706b6412275004ee9924b329cd3ff446139bd  samples/make_pcaps.py
d2d68d6a42bcb099974f3b35811ca924f6ca0bdc8ec7d4af6b90343d8b4f88fe  samples/one_way_audio.pcap
d35507f3f48f21ad72d107899feb597b910ed132ecaa3aee631c1108d345492a  samples/oracle_teams.acli
cd7c178935d155836a25166c1dd2daa35211024b92f0631648fbfd893cee3324  samples/perimeta_teams.cli
24b9c1bc24bf8c7f01131c8cfee237b37bf515947552fa05a2a2b69d21b530fd  samples/reject_488.pcap
11d548d636f98b7f42ff4247311fbf75e062587224cda8ed360beff4c9bce038  samples/review_high.ini
9a9819e829e6012571ab532d73d8c80532015f38f4c1da325db0a0d61f856c82  samples/ribbon_sbc_leaf.pem
a72e3d8c105bd3040274f394824127221e6d5127f1edcc831e887c90404be00b  samples/ribbon_sbc.cli
55650c3132f0f2d5e2aedb734a767488a646bbb0fc79e1f1013fe4fff210fd1a  samples/sbc01_leaf.pem
b75facb6efb86084629b444c6ac1a78c0d8fb6989869c74061cb8d54577b1d63  samples/tenants/contoso.ini
76eae950f33c807ea64363ca6c1eff27145a2c1a2626aceebdd955c49e278c88  samples/tenants/woodgrove.ini
c46a5b8edae6ba880435f66376c4a646dae6cdb01869182dd63df736c37e7b13  samples/topology_leak.pcap
bf78a85b5e2d68706682818495918b49f0a2ffa1a4e33da3b8a08ea77bb923c8  samples/walkthrough/sbc-teams-01-broken.ini
4db816455a28d3f1b49e4e89ed0d97acb32f6b171f13b3f554fa83f480199b5e  samples/walkthrough/sbc-teams-01-fixed.ini
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/__init__.py
b39f71fd8f037d24a2a172f1565afc0ef4e8e33d95fd25fdd807c1f205225183  sbc_validator/__main__.py
e5c7e364822228c30d981d3ebd5f58c494d043d73989b55bec6b75dbaf38cc63  sbc_validator/call_sim.py
81ce469c09a994441a2889d2303754183f5fc9d5a8572d3155716f5a8de86fda  sbc_validator/cert_inspect.py
74d755b899eb4d6e34e949e8545293de3827187dae10f405dd9f6997dd3d7abd  sbc_validator/cli.py
fd2c9b1de2eecc8468e3ce89fea9067eb51dba4a46c2b1811cdbf3b3206bb468  sbc_validator/data/explainer_model.json
b14d39629e3de978d887826fcb2f2f213f06fe43865ce979f1621002c1bf9102  sbc_validator/demo.py
de4f071c3436427146936133dcfde3dd19d520e0dbc0ec8a44c4657e3c879bf7  sbc_validator/explainer.py
f37eb1a57abcd5e54b7899a5bc0c22a57d64e6172b166487cc02fc7afd80bb76  sbc_validator/fleet.py
0b44bae1b846a12bc8ac56704763ec1928306268b723261cf23a099ff7724a68  sbc_validator/mcp_server.py
56d86337a942bdc0d3c7b79b3b3d58f132e8e52190f37cb5bcc6c9d1c3940109  sbc_validator/models.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/parsers/__init__.py
962f47dd30c9e9613c977daa35c495f210ff17c6281f577e785f9ff0378363b7  sbc_validator/parsers/audiocodes_ini.py
f427eef961f279dc715d2bedbb39333611e39e712157502a5ed8ff1f6d6611d9  sbc_validator/parsers/audiocodes.py
67a528bfec16f3c08a6bbb1f7692ffe447e83e1dcb7fbfad2e20c2f5cc068d05  sbc_validator/parsers/base.py
df0179d61ba2f86e87efc0046f3b6a8e0c3304cbd7c545040a1df09a3908af96  sbc_validator/parsers/cisco_cube.py
eec62c95a005ebf713eca376f68c963e690df9a7604b96c0472c6624923bb897  sbc_validator/parsers/oracle.py
aa10d6cea8a511f8997e2fdc44e90196f935b58c2bd2ead2a6dcd81da58d54a9  sbc_validator/parsers/perimeta.py
1eaa05c6619d6737ec3ed5b8cb0be157fcc40fb805a0493315b25a0c1a58e568  sbc_validator/parsers/ribbon.py
5a7db12a1a53df97467519ea9bb9001d892cd74d113c0275cad88190e97ed3c4  sbc_validator/pcap.py
555e8d474a9c390ddb1c96a48614dd8189583c734e301e97dfec2c2833714039  sbc_validator/probe.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/report/__init__.py
5d824c4a4a5a8a45325693ae0aa50f0e6166258b091f52bd4e5ff5e3cf2d00ef  sbc_validator/report/anonymize.py
8529f67dd5495cfc77815edbbdad3c7dded8a38255463d3f1caa929d06579800  sbc_validator/report/compliance.py
83f52b80e0a9cd8c487fd39376f3fbddb1c67f47dfbcfded9702f7a576280f39  sbc_validator/report/exec.py
1f475dbec7a9ad45b4e89e3b1e7490641b835b1d1ee1d88de557e21c4cd1bf2d  sbc_validator/report/html.py
044bd45f4c350701a3c73c8727581c2a147901bda3c5de962a49800ad62621da  sbc_validator/report/risk.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/rules/__init__.py
1dd10c9c99b409c7a5e9c64f4ccdf74e39220b5bee2d7c3fb05b15cbce93f2cb  sbc_validator/rules/client.py
dfc83aac7fde21e44d87d76ff7272aa26ee610ff160ba1ddc505a2b7252a68c9  sbc_validator/scan_server.py
338915fac24a48b28f530d05d0a1f5372e8782da29b6bd4db00a9e9d8acf1ed5  sbc_validator/serve.py
9b08e0ee2be3597865ca5ec74bc1a7fe00fd7b5f38c2f738c58f515c2f7648ff  sbc_validator/sip_trace.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/tools/__init__.py
4744692da0b78972f60e58f0f79b39bfc065f8bbce60048561253ff8ecdb2a20  sbc_validator/tools/build_dashboard_data.py
a9c49626b6c0497fd37b557656470a83f7f570bf642263ec8ce8c485c8ce1c9a  sbc_validator/tools/build_static_demo.py
b3d3c378dc791bddc804c5e12380671cdffff160a52e3e2c2fe24d1b7e35553a  sbc_validator/tools/fetch_ruleset.py
9d771fe26f07ee2ed5feb87637b40d6d941c397211b6ea2e867fd561ee164439  sbc_validator/tools/sign_ruleset.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  sbc_validator/validators/__init__.py
4a051c4350b94ea8fb4253a18730ec8a0425da3741f4cf55e5904f46a1012f43  sbc_validator/validators/access_control.py
0bf4ced1e7fc9f6260c876347969aefeb698984270a6753e4f28ebd333517598  sbc_validator/validators/base.py
448976fe1b7cd125e55ab3e203aeaea461abfb08a938d905de777d4bb6c01972  sbc_validator/validators/ca_compliance.py
3ef7f151d5ddccef7e37d79978af23942e798ca4adf790135bb904b0327fc2d0  sbc_validator/validators/cert_checks.py
68b88bf77c69c787b13e606c4a9d0c4b82e6c5e6aa675ec3bc92341e6cb7733c  sbc_validator/validators/codec.py
44dbe66607209e331e6aeff101f07daa5b4ff96b1779c24502c172420523b714  sbc_validator/validators/ha_drift.py
11a4c4c6ed74db9b218d7367902eec807408f1a0b7d07d9847f6fedf1be3eec4  sbc_validator/validators/interop.py
9e210b34f89171f711b071d9afa4f60abb41d1fc7655cd261105b477057490f0  sbc_validator/validators/nat_traversal.py
a4503adb2d6a45bfcfa591e1363efd502875f4e8284d860656ae1a7a6411e98b  sbc_validator/validators/routing.py
e1e7ec8b76f5aeb9dd125429427a25ddb8ec9626963db0bfaa2d056f61b0a2c8  sbc_validator/validators/syntax_semantic.py
d80ec01b16a7f263ad9482dcfc3eb0c114fbbc6304914efe99e13d7f49147722  sbc_validator/validators/tls_policy.py
597411dde974191fd40131683a13eab68f31b35720fd7f47346a0f2bc083127b  sbc_validator/walk.py
4e33a8f7178d6179935a5c6b0dedd64d71496b6d3c2efd5c634284bbaddc35d0  sbc_validator/web/__init__.py
81ffafe13c37e1b25793b020d446f4d9739b949dadb7f9f79d709a0cad781c2f  sbc_validator/web/chart.umd.min.js
cd61119c0012698d0d18a1788d27d91d021145670ca688ab0463b757a1cc266c  sbc_validator/web/sbc_dashboard.html
8d65f0c07ecc7c732adf1074b8df9b62bfecfa1ccd84fb707871cfbcc33c66e2  sbc_validator/web/scanner.html
cbcb27b522a7d9f10ba52ef32b9c780b7a22308fbc8af0da93920d7ae3c7383c  tests/test_compliance.py
0132f32ef8976848a811eb608703ccf3c0b75ec905fd39a5f9e8937a714dde94  tests/test_explainer.py
5c71bd1b19e3e121934e4ecb14a59efb7242e63b1b3d9b8f9f08bd0a90e810e7  tests/test_mcp_server.py
66db0297618a49ae1e1246edaaaefe79ea2b8f45f9d0e39d9559111ed41130d4  tests/test_probe.py
833db6555e896078781f2d5d09773be551dc22f258fac1fbc9866446761502e0  tests/test_scan_e2e.py
c1c0b514a01810adc9f024110294ffbba71421eb0b50fc26a7788566e9820b45  tests/test_scan.py
64d788a2743a084d39187d24b752f47f44e527f5d7f189a8f0e4fa3de2724d9d  tests/test_serve_reports.py
3e6c4a5e37eca2ae1ce18a5a25e39a5327ebdfab8cf318244e4114edc92635cb  tests/test_static_demo.py
587d9571dedb6531cb22928175f8e4ee6c4e43859aacc2b136ed0dddee71e14b  tests/test_validator.py
