{"id":37134318,"url":"https://github.com/symbolicsoft/verifpal","last_synced_at":"2026-02-10T19:10:56.675Z","repository":{"id":98102522,"uuid":"355471550","full_name":"symbolicsoft/verifpal","owner":"symbolicsoft","description":"Cryptographic protocol analysis for real-world protocols.","archived":false,"fork":false,"pushed_at":"2026-02-09T19:41:45.000Z","size":2463,"stargazers_count":68,"open_issues_count":3,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-02-09T19:43:47.220Z","etag":null,"topics":["cryptographic-protocols","cryptography","formal-methods","formal-verification","protocol-analysis","protocol-verification","symbolic-protocol-analysis"],"latest_commit_sha":null,"homepage":"https://verifpal.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/symbolicsoft.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-07T08:36:55.000Z","updated_at":"2026-02-09T19:41:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"e832b197-21a9-43dc-8176-c53f6ddf2b5f","html_url":"https://github.com/symbolicsoft/verifpal","commit_stats":null,"previous_names":[],"tags_count":149,"template":false,"template_full_name":null,"purl":"pkg:github/symbolicsoft/verifpal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symbolicsoft%2Fverifpal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symbolicsoft%2Fverifpal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symbolicsoft%2Fverifpal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symbolicsoft%2Fverifpal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/symbolicsoft","download_url":"https://codeload.github.com/symbolicsoft/verifpal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symbolicsoft%2Fverifpal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29313098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T17:48:59.043Z","status":"ssl_error","status_checked_at":"2026-02-10T17:45:37.240Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cryptographic-protocols","cryptography","formal-methods","formal-verification","protocol-analysis","protocol-verification","symbolic-protocol-analysis"],"created_at":"2026-01-14T15:40:17.669Z","updated_at":"2026-02-10T19:10:56.643Z","avatar_url":"https://github.com/symbolicsoft.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---\n# SPDX-FileCopyrightText: © 2019-2022 Nadim Kobeissi \u003cnadim@symbolic.software\u003e\n# SPDX-License-Identifier: CC-BY-SA-4.0\n--\u003e\n\n[![CI](https://github.com/symbolicsoft/verifpal/actions/workflows/main.yml/badge.svg)](https://github.com/symbolicsoft/verifpal/actions/workflows/main.yml)\n\n# [Verifpal](https://verifpal.com)\n\n## What is Verifpal?\n\u003cimg src=\"https://verifpal.com/res/img/png/pose1.png\" alt=\"\" align=\"left\" height=\"300\" style=\"margin:10px\" /\u003e\n\nVerifpal is new software for verifying the security of cryptographic protocols. Building upon contemporary research in symbolic formal verification, Verifpal’s main aim is to appeal more to real-world practitioners, students and engineers without sacrificing comprehensive formal verification features.\n\nIn order to achieve this, Verifpal introduces a new, intuitive language for modeling protocols that is much easier to write and understand than the languages employed by existing tools. At the same time, Verifpal is able to model protocols under an active attacker with unbounded sessions and fresh values, and supports queries for advanced security properties such as forward secrecy or key compromise impersonation.\n\nVerifpal has already been used to verify security properties for Signal, Scuttlebutt, TLS 1.3, Telegram and other protocols. It is a community-focused project, and available under a GPLv3 license.\n\n#### An Intuitive Protocol Modeling Language\nThe Verifpal language is meant to illustrate protocols close to how one may describe them in an informal conversation, while still being precise and expressive enough for formal modeling. Verifpal reasons about the protocol model with explicit principals: Alice and Bob exist and have independent states.\n\n#### Modeling that Avoids User Error\nVerifpal does not allow users to define their own cryptographic primitives. Instead, it comes with built-in cryptographic functions — this is meant to remove the potential for users to define fundamental cryptographic operations incorrectly.\n\n#### Easy to Understand Analysis Output\nWhen a contradiction is found for a query, the result is related in a readable format that ties the attack to a real-world scenario. This is done by using terminology to indicate how the attack could have been possible, such as through a man-in-the-middle on ephemeral keys.\n\n#### Friendly and Integrated Software\nVerifpal comes with a Visual Studio Code extension that offers syntax highlighting, automatic formatting, live analysis, diagram visualizations and much more, allowing developers to obtain insights on their model as they are writing it.\n\n## Verifpal is Beta Software\nVerifpal now benefits from a higher level of assurance due to the formalization of its syntax, semantics and analysis methodology, both by hand and using the Coq theorem prover. However, it remains classified as beta software due to its relatively young age, especially when compared to similar tools, such as [ProVerif](https://proverif.inria.fr), that have been in development for more than twenty years.\n\n## Getting Started\n\n### Verifpal User Manual\nThe [Verifpal User Manual](https://static.verifpal.com/manual.pdf) is an essential guide to getting started with cryptographic protocol analysis using Verifpal. It is strongly recommended that you read the Verifpal User Manual before starting work with Verifpal.\n\n### Getting a Copy of Verifpal\nOn Windows, the best way to install Verifpal is through the [Scoop](https://scoop.sh) package manager, since you'll also get automatic updates:\n\n```\nscoop bucket add verifpal https://github.com/symbolicsoft/verifpal.git\nscoop install verifpal\n```\n\nOn Linux and macOS, the best way to install Verifpal is through the [Homebrew](https://brew.sh) package manager, since you'll also get automatic updates:\n\n```\nbrew tap verifpal.com/source https://github.com/symbolicsoft/verifpal\nbrew install verifpal\n```\n\nOtherwise, you can:\n\n- *Download and install a release manually*: Releases for Windows, Linux, macOS and FreeBSD are available [here](https://github.com/symbolicsoft/verifpal/releases).\n- *Compile from source*: Keep reading!\n\n### Building Verifpal from Source\nYou must have [Go](https://golang.org) installed in order to build Verifpal. Please review the [Go Getting Started](https://golang.org/doc/install) instructions in order to understand how to best install Go for your computer and operating system.\n\n#### Installing Dependencies\nVerifpal relies on the [Aurora](https://github.com/logrusorgru/aurora) ANSI color printer, the [Cobra](https://github.com/spf13/cobra) CLI application library and the [Pigeon](https://github.com/mna/pigeon) PEG parser generator. you can easily install them by typing `make dep`. \n\n#### Compiling Verifpal\n- *Windows*: Simply type `Build` to build Verifpal for Windows, Linux, macOS and FreeBSD. This will also install dependencies.\n- *Linux, macOS and FreeBSD*: Simply type `make all` to build Verifpal for Windows, Linux, macOS and FreeBSD.\n\nBuilds will be available under `build/`.\n\n### Verifpal for Visual Studio Code\nVerifpal comes with a Visual Studio Code extension that offers syntax highlighting, automatic formatting, live analysis, diagram visualizations and much more, allowing developers to obtain insights on their model as they are writing it. To install it, simply search for \"Verifpal\" from inside Visual Studio Code. More information available [here](https://github.com/symbolicsoft/verifpal-vscode).\n\n## Discussion\nSign up to the [Verifpal Mailing List](https://lists.symbolic.software/mailman/listinfo/verifpal) to stay informed on the latest news and announcements regarding Verifpal, and to participate in Verifpal discussions.\n\n## License\nVerifpal and Verifpal for Visual Studio Code are published by Symbolic Software. They are provided as free and open source software, licensed under the [GNU General Public License, version 3](https://www.gnu.org/licenses/gpl-3.0.en.html). The Verifpal User Manual is provided under the [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)](https://creativecommons.org/licenses/by-nc-nd/4.0/) license.\n\n© Copyright 2019-2022 Nadim Kobeissi. All Rights Reserved. “Verifpal” and the “Verifpal” logo/mascot are registered trademarks of Nadim Kobeissi.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymbolicsoft%2Fverifpal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsymbolicsoft%2Fverifpal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymbolicsoft%2Fverifpal/lists"}