{"id":13840776,"url":"https://github.com/google/CTAP2-test-tool","last_synced_at":"2025-07-11T09:33:14.685Z","repository":{"id":44759133,"uuid":"261977210","full_name":"google/CTAP2-test-tool","owner":"google","description":"Test tool for CTAP2 authenticators","archived":false,"fork":false,"pushed_at":"2023-07-11T11:38:30.000Z","size":686,"stargazers_count":57,"open_issues_count":14,"forks_count":25,"subscribers_count":29,"default_branch":"main","last_synced_at":"2024-08-05T17:25:42.382Z","etag":null,"topics":["cpp","ctap2","fido2","security","security-key"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-07T07:13:19.000Z","updated_at":"2024-05-20T15:57:18.000Z","dependencies_parsed_at":"2022-07-19T18:03:34.383Z","dependency_job_id":null,"html_url":"https://github.com/google/CTAP2-test-tool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FCTAP2-test-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FCTAP2-test-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FCTAP2-test-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FCTAP2-test-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google","download_url":"https://codeload.github.com/google/CTAP2-test-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225712716,"owners_count":17512465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","ctap2","fido2","security","security-key"],"created_at":"2024-08-04T17:00:55.450Z","updated_at":"2024-11-21T10:30:45.472Z","avatar_url":"https://github.com/google.png","language":"C++","readme":"# \u003cimg alt=\"Test Tool logo\" src=\"docs/img/logo.svg\" width=\"200px\"\u003e\n\n## CTAP2 test tool\n\nThe test suite intents to make it easier for developers to find bugs in their\nCTAP2 implementation. It supports CTAP 2.0 only, see\n[supported features](#supported-features).\n\n### Disclaimer\nThose tests reflect the author's interpretation of the specification. It is not\nto be confused with certification by the FIDO Alliance. Please check the\n[FIDO Alliance web page](https://fidoalliance.org/) for more information.\n\n### How to install\n\nThe build system is bazel. Please make sure you have all dependencies installed.\nExample command for Ubuntu:\n\n```shell\napt-get install bazel libudev-dev autotools-dev autoconf automake libtool\n```\n\nOn your first run, the build system will fetch all other necessary libraries\nusing git. The tool is tested on Linux and MacOS with GCC 9 and higher.\n\n### How to run\n\n:warning: This tool will irreversibly delete all credentials on your device.\n\nRunning the tool without comments lists all avaiable devices. Select the device\nyou want to test by passing `--token_path`. For Unix, if only one CTAP2\ncompatible device is plugged in, you can simply run:\n\n```shell\n./run.sh\n```\n\nFor more control, try i.e.:\n\n```shell\nbazel run //:fido2_conformance\nbazel run //:fido2_conformance -- --token_path=/dev/hidraw0\n```\n\n:warning: Please do not plug in other security keys with the same product ID, or\nthe tool might contact the wrong device during testing.\n\nWhile running the test tool, you will be prompted to touch or replug your\nsecurity key multiple times, to test various features.\n\n### Supported features\n\nAt the moment, we only support USB HID as a transport. We test the commands from\n[CTAP 2.0](https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.pdf).\nThe security key must support resident keys and user presence. Also, security\nkeys with displays are untested so far.\n\n#### Fuzzing\nIn addition to the CTAP2 specification conformance test, we provide a proof-of-concept\nfuzzing tool. Please check [fuzzing.md](docs/fuzzing.md) for a detailed guide.\n\n### Results\n\nFor more information on checking or contributing test results, please check\n[results.md](docs/results.md).\n\n### Contributing\n\nIf we didn't already test your security key or you have an updated version,\nplease create a pull request with your result file!\n\nIf you want to contribute code, please check\n[contributing.md](docs/contributing.md).\n\n","funding_links":[],"categories":["C++ (225)","C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2FCTAP2-test-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle%2FCTAP2-test-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2FCTAP2-test-tool/lists"}