Encoding of JSON file contains unicode representation instead of symbol
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.1k
- Forks
- 1.1k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 9
Description
Relations
Possible related to issues: #464 & #740
Issue
Inputs
Currently, having simple JSON file, like (test.json):
{
"TestValue": "test <test@test.test>",
"TestValue2": "&",
"TestValue3": "@"
}
Using the .sops.yaml file with KMS defined and command:
sops -e -i test.json
And decrypt:
sops -d --input-type=json -i test.json
Results
After decrypting the input file doesn't decode all symbols, like (this is founds only, might be more):
&Unicode Character 'AMPERSAND' (U+0026)<Unicode Character 'LESS-THAN SIGN' (U+003C)>Unicode Character 'GREATER-THAN SIGN' (U+003E)
and result is the following:
{
"TestValue": "test \u003ctest@test.test\u003e",
"TestValue2": "\u0026",
"TestValue3": "@"
}
It might be a huge issue, while the example in the first value should represent the proper email info, like:
User Name <user@example.org> instead of User Name \u003cuser@example.org\u003e.
Environment
- SOPS version: sops 3.7.1 (latest)
- Cloud: AWS / KMS
- OS: MacOS Big Sur (11.3.1)
Expected results
The JSON values should be decoded in the same manner for all symbols to avoid data discrepancy.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the behavior with test.json and the .sops.yaml KMS configuration using the documented sops -e and sops -d commands, then trace the JSON input/output path from those CLI entry points. Done means encryption and decryption preserve literal &, <, and > in the shown values, with coverage for the expected JSON output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, json
- Domain
- cli, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100