56 Commits

Author SHA1 Message Date
Mate Molnar
7d64c96a75 Revert "BUILD-4733: Use COVERAGE_GITHUB_TOKEN from the vault instead of the default GITHUB_TOKEN"
This reverts commit 9a14e956754adfffdfb53bd22d4a230cb97acaae.
2024-07-17 10:38:43 +02:00
Fred Tingaud
0fd7e2c4b0
Fix language in rule creation script 2024-07-09 17:07:27 +02:00
Tom
9a14e95675 BUILD-4733: Use COVERAGE_GITHUB_TOKEN from the vault instead of the default GITHUB_TOKEN 2024-07-05 17:01:17 +02:00
Johann Beleites
e2c4c4b8fe
RULEAPI-770 Fix bug due to multiple sonarpedia.json files (#3983)
When there are multiple sonarpedia.json files for the same language, the rules
picked up for the next sonarpedia.json file will override the ones picked up
previously. With this fix, the rules are not overwritten but all are collected,
so one repository can have multiple sonarpedia.json files for the same language.
2024-06-11 12:15:51 +02:00
Fred Tingaud
50b4d12a75
Forbid adding direct links to rules.sonarsource.com 2024-05-15 15:10:41 +02:00
Fred Tingaud
1ebb437042
Allow free titles in 'How to fix it' 2024-02-02 16:57:26 +00:00
Pierre-Loup
770348d041
Avoid OWASP Top 10 security-standard mismatch between metadata and description links (RULEAPI-798) (#3537)
* Add check for security standard mismatch

* Fix security standard mismatches

* Fix Resources/Standards links for secrets rules

* Fix check

* Fix links and update security standard mapping

* Fix maintanability issue

* Apply review suggestions

* Apply suggestions from code review

Co-authored-by: Egon Okerman <egon.okerman@sonarsource.com>

* Fix typo

Co-authored-by: Egon Okerman <egon.okerman@sonarsource.com>

---------

Co-authored-by: Egon Okerman <egon.okerman@sonarsource.com>
2024-01-17 17:20:28 +01:00
Fred Tingaud
1012001409
RULEAPI-800 Detect usages of C++ instead of {cpp} in asciidoc 2023-12-22 13:58:58 +01:00
Fred Tingaud
d3cfe19d7e
Fix broken or dangerous backquotes
Co-authored-by: Marco Borgeaud <89914223+marco-antognini-sonarsource@users.noreply.github.com>
2023-10-30 10:33:56 +01:00
Michael Jabbour
32232051fd
Add clean code taxonomy properties to metadata schema (#2792) 2023-08-04 16:55:03 +02:00
Fred Tingaud
51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00
Fred Tingaud
35036fffff
Add check that each section is used only once
There was already a check for section duplication, but only in "How to
fix it". This changes the test to cover all sections.
And fixing the rules that this new validation fails on.

Also making test_modify_rule.py run on Windows.

---------

Co-authored-by: Christophe Zürn <36889251+christophe-zurn-sonarsource@users.noreply.github.com>
2023-06-13 18:03:28 +02:00
Christophe Zürn
fb4ba0d61d
Update README and validation to reflect new guidelines (#1951)
Co-authored-by: Elena Vilchik <elena.vilchik@sonarsource.com>
2023-05-30 11:00:48 +02:00
Christophe Zurn
62f01f07fe Update documentation, disallow standard rule format, add allowed sections in 'Why is it an issue?' 2023-05-05 16:29:04 +02:00
Christophe Zurn
daea3fea27 RULEAPI-785 RSPEC: education format "How to fix it" section should be optional 2023-05-05 16:29:04 +02:00
Ilia Kebets
c80d7f3b4c
Add checks for education format (#1607) 2023-03-07 17:16:47 +01:00
Christophe Zürn
47ba59f3b5 RULEAPI-766 Add documentation and integrity checks for new education rule descriptions format (#1098) 2023-03-02 18:07:54 +01:00
Roberto Orlandi
dc83422098 SONARSEC-3040 Update checks and documentation to fit new rule format (#1004) 2023-03-02 18:07:54 +01:00
Nils Werner
6aacfef84f
Drop PHP profiles PSR-2 and Drupal (#1272) 2022-09-19 14:25:27 +02:00
Christophe Zürn
db2f440797
SONARSEC-3163 Add education principles to S5131 metadata json file (#1155) 2022-08-09 12:06:31 +02:00
Alexandre Gigleux
01bad1b800
Map rules to OWASP ASVS 4 (#1110)
https://sonarsource.atlassian.net/browse/MMF-2794
2022-07-29 13:35:38 +02:00
Arseniy Zaostrovnykh
84967d6c25
Prohibit non-ASCII characters in rule metadata.json files (#1119)
Triggered by the deployment failure that was caused by an invisible Unicode character in a rule's metadata.json.
This PR implements three conceptual changes:
- make the deployment parse error more informative
- prohibit the use of non-ASCII characters in the metadata.json files
- remove the existing non-ASCII characters from the existing rules
2022-07-25 17:19:53 +02:00
Arseniy Zaostrovnykh
6800da7e05
RULEAPI-762: Fix link-probing cache: cache on failure and success 2022-06-08 13:52:21 +02:00
Pierre-Loup
83209561fe
[RULEAPI-761] JSON schema fails to restrict the format of security-standard items (#1013) 2022-05-25 16:36:49 +02:00
Arseniy Zaostrovnykh
bb042389fa Mock temporary rspec repo 2022-04-13 00:28:19 -07:00
Arseniy Zaostrovnykh
c475f0d6de RULEAPI-753: Use modern ids and coalesce the coverage for legacy ids 2022-04-13 00:28:19 -07:00
Arseniy Zaostrovnykh
1911fca994
Mock analyzer repos for the coverage test
This removes the dependency on online repositories (on GitHub)
and speeds up the test by stripping the number of versions and files to a minimum.
Prepare the ground for RULEAPI-753.
2022-04-05 09:44:09 +02:00
Arseniy Zaostrovnykh
f7353489fc
Enable rules removal: do not validate deleted rules 2022-03-08 12:26:53 +00:00
Arseniy Zaostrovnykh
89c7e09b35
Fix source history information shadowing for rspec-tools project 2022-03-07 09:47:57 +01:00
Marco Antognini
26e3ebc7ec Refactor rspec-tools and other cleanups
The main changes are:
 * Split RuleCreator: move some of its content to RspecRepo and to
   RuleEditor in new modules.
 * Refactor tests accordingly.

Other less important changes:
 * Sort and remove unnecessary imports
 * Remove unimplemented functions and unnecessary classes
 * Make some functions private
 * Move pushd from utils to tests where it is only used
 * Reduce code duplication here and there
 * Remove unnecessary Mock in some tests
 * Improve coverage for add_language_to_rule
2022-02-28 12:08:21 +01:00
Marco Antognini
dbb8027666 RULEAPI-748: Add new workflow to update quickfix status 2022-02-28 12:08:21 +01:00
Fred Tingaud
9ca204f1c9
RULEAPI-744 automatically fill the template source tags with the current language 2022-02-08 17:34:53 +01:00
Fred Tingaud
b4161466e6
RULEAPI-661: Add syntax coloring 2022-02-04 16:28:24 +00:00
Fred Tingaud
7d868d3f35
Use a more readable form to display parameters 2022-02-01 12:25:23 +00:00
Marco Antognini
b2b116a8e2
RULEAPI-682: Index multiple types and rules with no languages
* Generate description and metadata for rules with no language, so that they get indexed.
* Index rules with different types in language specializations.
* Improve validation to reject new rules with no language specialization (i.e. only a predefined set of such rules is allowed because they were imported from Jira and kept for historical purposes).
* Write smaller JSON files, reduce their size by 30%.
* Improve test coverage of CLI application.
2022-01-28 09:51:13 +01:00
Marco Antognini
065322db2f
RULEAPI-680: Remove the mention of [label] (#705) 2022-01-13 16:03:40 +00:00
Arseniy Zaostrovnykh
7ab240738e
Fix the coverage-update test failure following the CSS+JS merge (#588) 2021-11-12 09:51:39 +00:00
Pierre-Loup
2eb4c50a9b
RULEAPI-710: Validate that security-standards are not shadowed 2021-10-29 16:55:50 +00:00
Pierre-Loup
2026ac6b8c
RULEAPI-698: Support OWASP Top 10 2021 security standard (#466) 2021-10-15 09:37:46 +02:00
Pierre-Loup
72a1ac7423
RULEAPI-699: Support OWASP ASVS 4 security standard 2021-10-08 10:23:39 +02:00
Arseniy Zaostrovnykh
6a0ec99e78
RULEAPI-706: Add quick fixes metadata 2021-10-07 09:23:15 +00:00
Arseniy Zaostrovnykh
0fe8dffe85
RULEAPI-573: Clean and test script generating for each rule the list of plugins covering it (#429) 2021-10-01 14:52:12 +02:00
Arseniy Zaostrovnykh
5f8a2e7ec1
RULEAPI-606: github action and underlying script for adding a new language to an existing rule 2021-09-30 15:47:25 +00:00
Čaba Šagi
6d8404981c
RULEAPI-642: Validate the level of section headers in asciidoc: make sure there are no level-0 2021-09-30 11:52:56 +02:00
Elena Vilchik
c357e2e7f7
RULEAPI-603 Fail ci metadata check if rule with replacement has 'ready' status (#398) 2021-09-30 11:45:09 +02:00
Arseniy Zaostrovnykh
090a5c725d
RULEAPI-696: adapt the rspec/readme.adoc narrative to not mention "coveredLanguages" and to menation -branch in rule-api (#408) 2021-09-29 16:04:43 +02:00
eric-therond-sonarsource
520573b838
RULEAPI-654: Clarify the rule creation process (#115) 2021-06-11 05:58:58 +00:00
Arseniy Zaostrovnykh
47cba8a21d
RULEAPI-640: missing file 2021-06-10 14:03:46 +00:00
Arseniy Zaostrovnykh
b0c064cfb7
RULEAPI-640: Add language(s) label(s) to automatically created PR 2021-06-10 09:03:05 +00:00
Arseniy Zaostrovnykh
9fe4334933
RULEAPI-574 Validate RSPEC description structure 2021-05-04 09:58:49 +02:00