FranceConnect is the SSO solution developed by the French government for its citizens, based on the OpenID Connect protocol. It allows the citizens to login on many public and private online services using their existing credentials from certified public and private identity providers (IMPOTS, AMELI, La poste identité numérique, ...).
AgentConnect is the SSO solution developed by the French government for its agents, based on the OpenID Connect protocol. It allows the public servants to login on many internal governmental services using their identities from the existing directories of the agencies they work for.
As official French SSO, it is crucial for us to ensure a high level of security on our platform. Here is a list of the typical scenarios we are concerned about:
In the context of this program, we do not intend to encourage, accept or reward reports of leaks or exposed credentials.
We will only consider vulnerabilities or leaks that are identified directly on the scope of this program.
Also, in order not to encourage dark and grey economies, in particular the purchase, resale and trade of identifiers or stolen information, as well as all types of dangerous behavior (e.g. social engineering, ...), we will not accept or reward any report based on information whose source is not the result of failure on the part of our organization or one of our employees/service providers.
This excludes, but is not limited to:
To summarize our policy, you may refer to this table :
Source of leak is in-scope | Source of leak is out-of-scope | |
---|---|---|
Impact is in-scope (e.g. valid credentials on an in-scope asset) | Eligible | Not Eligible |
Impact is out-of-scope (e.g. valid credentials for an out-of-scope asset) | Eligible | Not Eligible |
Please refrain absolutely from using any URL suffixed by ".gouv.fr" to prevent production disruption and therefore being targeted as a real threat.
Please append to your user-agent header the following value: ywh-pubbb-1 when testing on *.integ01.dev-franceconnect.fr. This will help us to identify your requests and avoid blocking you. You can also use words like "BugBounty" in your parameters to help us identify your requests.
This section covers the easiest way to test our platform. It is also the only way to test our platform if you do not wish to use the local stack (see below).
A good starting point for your journey is to start by accessing a fake (mock) service provider (SP/RP in OpenID Connect terminology) and test the connection on our integration platform. You can use this RP for FranceConnect+ and this RP for AgentConnect. A connection works as follow:
To better understand the scope, you can access the integration user dashboard at https://tableaudebord.integ01.dev-franceconnect.fr, it acts like a service provider. Mind that it is out of the scope of the program and only at your disposal to help you better grasp the workflow.
If you want to dig a little deeper, you can use the local stack. You can find instructions here. You will need an access to our docker repository to deploy it. For this, you can use the credentials provided in the bug bounty program.
⚠️ You'll need to follow new intructions on https://github.com/france-connect/sources/pull/5 to setup a local stack. It's a temporary mesure to get the stacks to work.
You will find a Docker-stack Quick Start guide here. Once setup, you can also use the command docker-stack help to get a list of all the available commands.
You can read more on FranceConnect and AgentConnect here:
Those stacks are used with docker-stack up <stack>. Do not forget to use docker-stack start-all to start all the services after. Use docker-stack prune to stop all the services.
See https://hello.docker.dev-franceconnect.fr to find all running services and their URL. Generally you can use https://<container-name>.docker.dev-franceconnect.fr to access the service (Ex. https://fsp1-high.docker.dev-franceconnect.fr for FranceConnect+ mock RP, used as in the black box section).
FranceConnect+:
AgentConnect:
Please use support.partenaires@franceconnect.gouv.fr for any question you may have. Please use [ywh-pubbb-1] at the beginning of the object to help us qualify the ticket. We will do our best to answer promptly.
⚠️ All scenarios MUST follow the general rules of the Bug Bounty.
💡 Please note that Something happens is only for the sake of the example. It can be anything at any given time that is not expected, the team will validate the submitted behavior.
💡 Please use only our mocks on the integration environment for the bug bounty to avoid service disruption. If you want to test your solution in production,
you MUST submit a request to the team before.
Example:
Your forged identity is connected on the service provider
Connect with subtantial (eidas2) acr from the identity provider when the requested acr was high (eidas3) 15k€
Example:
User is connected on the service provider with acr eidas2
Connect using a deactivated identity provider 15k€
Example:
Example:
Your forged identity is connected on the service provider
Connect using a deactivated identity provider 10k€
Example:
Example:
Example:
User is connected on the service provider
Alter the connection history page of a user 10k
Something happens
Scope Type | Scope Name |
---|---|
ios_application | Specific scenarios (see program description) |
web_application | AgentConnect (see program description for github link) |
web_application | FranceConnect+ (see program description for github link) |
web_application | FranceConnect (see program description for github link) |
web_application | eIDAS Bridge (see program description for github link) |
web_application | User Dashboard (see program description for github link) |
Scope Type | Scope Name |
---|---|
undefined | All partners and all mocks are out of scope (but you can use the deployed mocks at your discretion to attack the scope). |
web_application | The local stack (*.docker.dev-franceconnect) is a powerful tool for you to understand the internals processes but is out of scope (the exploit should as well work in the scope to qualify). |
web_application | The production environment (*.gouv.fr) is out of scope. |
web_application | https://fcp.integ01.dev-franceconnect.fr |
web_application | https://tableaudebord.integ01.dev-franceconnect.fr |
This program have been found on Yeswehack on 2022-04-04.
FireBounty © 2015-2025