-
Notifications
You must be signed in to change notification settings - Fork 6
Add YAML configs and tests for hard-coded secrets and empty passwords #168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add YAML configs and tests for hard-coded secrets and empty passwords #168
Conversation
WalkthroughThis pull request introduces multiple new YAML configuration files and associated test snapshots for TypeScript and Ruby applications. The changes define security rules for detecting hard-coded secrets and empty password arguments in code, specifically targeting the use of the Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant Analyzer as Security Analyzer
participant Rule as Express-JWT Rule Engine
Dev->>Analyzer: Commit TypeScript code using express-jwt
Analyzer->>Rule: Apply MATCH_SECRET_DIRECTLY/MATCH_SECRET_WITH_INSTANCE patterns
Rule-->>Analyzer: Flag hard-coded secret if detected
Analyzer->>Dev: Report warning & provide recommendation
sequenceDiagram
participant Dev as Developer
participant Analyzer as Security Analyzer
participant Rule as Sequelize Rule Engine
Dev->>Analyzer: Commit TypeScript code using Sequelize
Analyzer->>Rule: Evaluate for empty/hardcoded password patterns
Rule-->>Analyzer: Return check result (pass/fail)
Analyzer->>Dev: Report security status and alert if needed
Possibly related PRs
Suggested reviewers
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (6)
tests/typescript/node-sequelize-empty-password-argument-typescript-test.yml (1)
11-18
: Invalid Test Block: Empty Password LiteralThis block intentionally uses an empty string (
""
) for the password in the Sequelize instantiation to trigger the security rule. One minor point: the port is specified as a string ('5433'
); consider using a numeric value for consistency if Sequelize expects a number.tests/typescript/node-sequelize-hardcoded-secret-argument-typescript-test.yml (1)
26-26
: Newline Character Missing at End of FileYAML linting indicates that the file is missing a newline at the end (line 26). Please add a newline to conform with best practices.
🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 26-26: no new line character at the end of file
(new-line-at-end-of-file)
tests/__snapshots__/node-sequelize-empty-password-argument-typescript-snapshot.yml (1)
147-154
: Snapshot Block: Testing With Direct Empty Password LiteralThe final snapshot block captures the scenario where an empty string (
''
) is directly passed as the password, with port provided as a string ('5433'
). As with previous files, consider standardizing port types.rules/typescript/security/node-sequelize-hardcoded-secret-argument-typescript.yml (1)
1-157
: YAML Formatting Issues in Sequelize Hardcoded Secret RuleSeveral YAMLlint warnings/errors indicate inconsistent indentation (e.g. lines 17, 20, 22) and trailing whitespace issues (e.g. lines 21, 30, 37). It is recommended to run a YAML linter or formatter to fix these formatting issues so that the file conforms to standard YAML syntax. This will help avoid potential parsing issues and improve maintainability.
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 17-17: wrong indentation: expected 4 but found 3
(indentation)
[warning] 20-20: wrong indentation: expected 9 but found 11
(indentation)
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 22-22: wrong indentation: expected 9 but found 8
(indentation)
[error] 30-30: trailing spaces
(trailing-spaces)
[warning] 31-31: wrong indentation: expected 17 but found 16
(indentation)
[error] 37-37: trailing spaces
(trailing-spaces)
[warning] 38-38: wrong indentation: expected 19 but found 20
(indentation)
[warning] 45-45: wrong indentation: expected 17 but found 15
(indentation)
[warning] 46-46: wrong indentation: expected 19 but found 18
(indentation)
[warning] 49-49: wrong indentation: expected 19 but found 17
(indentation)
[warning] 52-52: wrong indentation: expected 23 but found 22
(indentation)
[error] 76-76: trailing spaces
(trailing-spaces)
[warning] 78-78: wrong indentation: expected 4 but found 3
(indentation)
[error] 81-81: trailing spaces
(trailing-spaces)
[warning] 82-82: wrong indentation: expected 9 but found 8
(indentation)
[error] 91-91: trailing spaces
(trailing-spaces)
[warning] 92-92: wrong indentation: expected 19 but found 20
(indentation)
[error] 97-97: trailing spaces
(trailing-spaces)
[warning] 98-98: wrong indentation: expected 17 but found 16
(indentation)
[warning] 105-105: wrong indentation: expected 17 but found 15
(indentation)
[warning] 106-106: wrong indentation: expected 19 but found 18
(indentation)
[warning] 109-109: wrong indentation: expected 19 but found 17
(indentation)
[warning] 112-112: wrong indentation: expected 23 but found 22
(indentation)
[warning] 142-142: wrong indentation: expected 17 but found 16
(indentation)
[warning] 148-148: wrong indentation: expected 22 but found 21
(indentation)
[warning] 156-156: wrong indentation: expected 2 but found 1
(indentation)
rules/typescript/security/node-sequelize-empty-password-argument-typescript.yml (1)
1-173
: YAML Formatting Issues in Empty Password Argument RuleThis new rule configuration file shows multiple formatting issues as flagged by YAMLlint—specifically, several lines report wrong indentation and trailing spaces. Please adjust the indentation levels and remove any extraneous trailing whitespace. Using an automated YAML formatter can help ensure consistency and reduce merge-related diffs in the future.
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 18-18: wrong indentation: expected 4 but found 3
(indentation)
[error] 23-23: trailing spaces
(trailing-spaces)
[warning] 24-24: wrong indentation: expected 9 but found 8
(indentation)
[error] 32-32: trailing spaces
(trailing-spaces)
[warning] 33-33: wrong indentation: expected 17 but found 16
(indentation)
[error] 39-39: trailing spaces
(trailing-spaces)
[warning] 40-40: wrong indentation: expected 19 but found 20
(indentation)
[warning] 47-47: wrong indentation: expected 17 but found 15
(indentation)
[warning] 48-48: wrong indentation: expected 19 but found 18
(indentation)
[warning] 51-51: wrong indentation: expected 19 but found 17
(indentation)
[warning] 54-54: wrong indentation: expected 23 but found 22
(indentation)
[error] 78-78: trailing spaces
(trailing-spaces)
[warning] 80-80: wrong indentation: expected 4 but found 3
(indentation)
[error] 83-83: trailing spaces
(trailing-spaces)
[warning] 84-84: wrong indentation: expected 9 but found 8
(indentation)
[error] 93-93: trailing spaces
(trailing-spaces)
[warning] 94-94: wrong indentation: expected 19 but found 20
(indentation)
[error] 99-99: trailing spaces
(trailing-spaces)
[warning] 100-100: wrong indentation: expected 17 but found 16
(indentation)
[warning] 107-107: wrong indentation: expected 17 but found 15
(indentation)
[warning] 108-108: wrong indentation: expected 19 but found 18
(indentation)
[warning] 111-111: wrong indentation: expected 19 but found 17
(indentation)
[warning] 114-114: wrong indentation: expected 23 but found 22
(indentation)
[warning] 141-141: wrong indentation: expected 17 but found 16
(indentation)
[warning] 147-147: wrong indentation: expected 22 but found 21
(indentation)
[warning] 148-148: wrong indentation: expected 23 but found 22
(indentation)
[warning] 152-152: wrong indentation: expected 26 but found 25
(indentation)
[warning] 153-153: wrong indentation: expected 27 but found 26
(indentation)
[warning] 156-156: wrong indentation: expected 17 but found 16
(indentation)
[warning] 171-171: wrong indentation: expected 2 but found 1
(indentation)
[error] 173-173: no new line character at the end of file
(new-line-at-end-of-file)
rules/typescript/security/express-jwt-hardcoded-secret-typescript.yml (1)
1-494
: YAML Formatting Issues in Express JWT Hardcoded Secret RuleYAMLlint reports extensive indentation inconsistencies and trailing space issues across many sections (e.g. warnings on lines 17, 21, 23, 24, and several others down the file). Please run a YAML linter to reformat the file. Correcting these issues will not only enhance readability but also ensure that the rule is parsed correctly at runtime.
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 17-17: wrong indentation: expected 4 but found 3
(indentation)
[warning] 21-21: wrong indentation: expected 7 but found 6
(indentation)
[warning] 23-23: wrong indentation: expected 6 but found 7
(indentation)
[warning] 24-24: wrong indentation: expected 11 but found 10
(indentation)
[warning] 28-28: wrong indentation: expected 14 but found 16
(indentation)
[warning] 32-32: wrong indentation: expected 14 but found 16
(indentation)
[warning] 35-35: wrong indentation: expected 18 but found 20
(indentation)
[warning] 38-38: wrong indentation: expected 22 but found 21
(indentation)
[warning] 42-42: wrong indentation: expected 25 but found 24
(indentation)
[warning] 47-47: wrong indentation: expected 25 but found 24
(indentation)
[error] 50-50: trailing spaces
(trailing-spaces)
[warning] 52-52: wrong indentation: expected 9 but found 12
(indentation)
[warning] 56-56: wrong indentation: expected 18 but found 20
(indentation)
[warning] 59-59: wrong indentation: expected 20 but found 24
(indentation)
[warning] 64-64: wrong indentation: expected 28 but found 30
(indentation)
[warning] 67-67: wrong indentation: expected 30 but found 34
(indentation)
[warning] 68-68: wrong indentation: expected 38 but found 40
(indentation)
[warning] 72-72: wrong indentation: expected 38 but found 40
(indentation)
[warning] 75-75: wrong indentation: expected 42 but found 44
(indentation)
[warning] 76-76: too many spaces before colon
(colons)
[warning] 78-78: wrong indentation: expected 46 but found 48
(indentation)
[warning] 85-85: wrong indentation: expected 16 but found 20
(indentation)
[warning] 89-89: wrong indentation: expected 26 but found 28
(indentation)
[warning] 93-93: wrong indentation: expected 24 but found 26
(indentation)
[warning] 100-100: wrong indentation: expected 16 but found 18
(indentation)
[warning] 103-103: wrong indentation: expected 18 but found 20
(indentation)
[warning] 104-104: wrong indentation: expected 24 but found 26
(indentation)
[warning] 110-110: wrong indentation: expected 30 but found 32
(indentation)
[warning] 114-114: wrong indentation: expected 24 but found 26
(indentation)
[warning] 117-117: wrong indentation: expected 28 but found 30
(indentation)
[warning] 121-121: wrong indentation: expected 16 but found 18
(indentation)
[warning] 124-124: wrong indentation: expected 18 but found 20
(indentation)
[warning] 128-128: wrong indentation: expected 26 but found 28
(indentation)
[warning] 131-131: wrong indentation: expected 30 but found 32
(indentation)
[warning] 134-134: wrong indentation: expected 32 but found 33
(indentation)
[warning] 135-135: wrong indentation: expected 37 but found 36
(indentation)
[warning] 139-139: wrong indentation: expected 37 but found 39
(indentation)
[warning] 140-140: wrong indentation: expected 41 but found 43
(indentation)
[warning] 143-143: wrong indentation: expected 24 but found 26
(indentation)
[warning] 153-153: wrong indentation: expected 18 but found 20
(indentation)
[warning] 156-156: wrong indentation: expected 20 but found 24
(indentation)
[warning] 161-161: wrong indentation: expected 28 but found 30
(indentation)
[warning] 164-164: wrong indentation: expected 30 but found 34
(indentation)
[warning] 165-165: wrong indentation: expected 38 but found 40
(indentation)
[warning] 169-169: wrong indentation: expected 38 but found 40
(indentation)
[warning] 172-172: wrong indentation: expected 42 but found 44
(indentation)
[warning] 173-173: too many spaces before colon
(colons)
[warning] 175-175: wrong indentation: expected 46 but found 48
(indentation)
[warning] 179-179: wrong indentation: expected 16 but found 18
(indentation)
[warning] 182-182: wrong indentation: expected 16 but found 15
(indentation)
[error] 185-185: trailing spaces
(trailing-spaces)
[warning] 187-187: wrong indentation: expected 7 but found 8
(indentation)
[warning] 190-190: wrong indentation: expected 10 but found 12
(indentation)
[warning] 191-191: wrong indentation: expected 14 but found 16
(indentation)
[error] 193-193: trailing spaces
(trailing-spaces)
[warning] 195-195: wrong indentation: expected 7 but found 9
(indentation)
[warning] 198-198: wrong indentation: expected 9 but found 13
(indentation)
[warning] 202-202: wrong indentation: expected 19 but found 23
(indentation)
[warning] 206-206: wrong indentation: expected 17 but found 19
(indentation)
[warning] 207-207: wrong indentation: expected 21 but found 23
(indentation)
[warning] 210-210: wrong indentation: expected 17 but found 19
(indentation)
[warning] 211-211: wrong indentation: expected 21 but found 23
(indentation)
[warning] 214-214: wrong indentation: expected 25 but found 27
(indentation)
[warning] 218-218: wrong indentation: expected 17 but found 19
(indentation)
[warning] 221-221: wrong indentation: expected 21 but found 23
(indentation)
[warning] 222-222: wrong indentation: expected 25 but found 27
(indentation)
[warning] 225-225: wrong indentation: expected 29 but found 31
(indentation)
[warning] 228-228: wrong indentation: expected 33 but found 35
(indentation)
[error] 231-231: trailing spaces
(trailing-spaces)
[error] 232-232: trailing spaces
(trailing-spaces)
[warning] 234-234: wrong indentation: expected 7 but found 9
(indentation)
[warning] 237-237: wrong indentation: expected 9 but found 13
(indentation)
[warning] 238-238: wrong indentation: expected 17 but found 19
(indentation)
[warning] 242-242: wrong indentation: expected 17 but found 19
(indentation)
[warning] 245-245: wrong indentation: expected 19 but found 23
(indentation)
[warning] 246-246: wrong indentation: expected 27 but found 29
(indentation)
[warning] 249-249: wrong indentation: expected 31 but found 33
(indentation)
[warning] 252-252: wrong indentation: expected 33 but found 37
(indentation)
[warning] 253-253: wrong indentation: expected 41 but found 43
(indentation)
[error] 254-254: trailing spaces
(trailing-spaces)
[warning] 257-257: wrong indentation: expected 41 but found 43
(indentation)
[warning] 260-260: wrong indentation: expected 27 but found 26
(indentation)
[warning] 261-261: wrong indentation: expected 28 but found 29
(indentation)
[warning] 264-264: wrong indentation: expected 31 but found 33
(indentation)
[warning] 267-267: wrong indentation: expected 33 but found 37
(indentation)
[warning] 268-268: wrong indentation: expected 41 but found 43
(indentation)
[error] 269-269: trailing spaces
(trailing-spaces)
[warning] 271-271: wrong indentation: expected 45 but found 44
(indentation)
[error] 272-272: trailing spaces
(trailing-spaces)
[warning] 274-274: wrong indentation: expected 4 but found 3
(indentation)
[warning] 277-277: wrong indentation: expected 3 but found 4
(indentation)
[warning] 278-278: wrong indentation: expected 6 but found 7
(indentation)
[warning] 279-279: wrong indentation: expected 11 but found 12
(indentation)
[warning] 282-282: wrong indentation: expected 16 but found 17
(indentation)
[warning] 285-285: wrong indentation: expected 17 but found 21
(indentation)
[warning] 286-286: wrong indentation: expected 25 but found 27
(indentation)
[warning] 290-290: wrong indentation: expected 25 but found 27
(indentation)
[warning] 294-294: wrong indentation: expected 16 but found 19
(indentation)
[warning] 297-297: wrong indentation: expected 21 but found 23
(indentation)
[warning] 300-300: wrong indentation: expected 23 but found 24
(indentation)
[warning] 301-301: wrong indentation: expected 28 but found 30
(indentation)
[warning] 305-305: wrong indentation: expected 28 but found 27
(indentation)
[warning] 309-309: wrong indentation: expected 31 but found 30
(indentation)
[warning] 313-313: wrong indentation: expected 31 but found 30
(indentation)
[warning] 317-317: wrong indentation: expected 11 but found 13
(indentation)
[warning] 325-325: wrong indentation: expected 21 but found 20
(indentation)
[warning] 329-329: wrong indentation: expected 21 but found 20
(indentation)
[warning] 333-333: wrong indentation: expected 17 but found 19
(indentation)
[warning] 336-336: wrong indentation: expected 21 but found 23
(indentation)
[warning] 339-339: wrong indentation: expected 23 but found 24
(indentation)
[warning] 340-340: wrong indentation: expected 28 but found 30
(indentation)
[warning] 344-344: wrong indentation: expected 28 but found 27
(indentation)
[warning] 348-348: wrong indentation: expected 31 but found 30
(indentation)
[warning] 352-352: wrong indentation: expected 31 but found 30
(indentation)
[warning] 356-356: wrong indentation: expected 8 but found 10
(indentation)
[warning] 358-358: wrong indentation: expected 10 but found 12
(indentation)
[warning] 362-362: wrong indentation: expected 18 but found 20
(indentation)
[warning] 365-365: wrong indentation: expected 20 but found 24
(indentation)
[warning] 370-370: wrong indentation: expected 28 but found 30
(indentation)
[warning] 373-373: wrong indentation: expected 30 but found 34
(indentation)
[warning] 374-374: wrong indentation: expected 38 but found 40
(indentation)
[warning] 378-378: wrong indentation: expected 38 but found 40
(indentation)
[warning] 381-381: wrong indentation: expected 42 but found 44
(indentation)
[warning] 382-382: too many spaces before colon
(colons)
[warning] 384-384: wrong indentation: expected 46 but found 48
(indentation)
[warning] 391-391: wrong indentation: expected 16 but found 20
(indentation)
[warning] 395-395: wrong indentation: expected 26 but found 28
(indentation)
[warning] 399-399: wrong indentation: expected 24 but found 26
(indentation)
[warning] 406-406: wrong indentation: expected 16 but found 18
(indentation)
[warning] 409-409: wrong indentation: expected 18 but found 20
(indentation)
[warning] 410-410: wrong indentation: expected 24 but found 26
(indentation)
[warning] 416-416: wrong indentation: expected 30 but found 32
(indentation)
[warning] 420-420: wrong indentation: expected 24 but found 26
(indentation)
[warning] 423-423: wrong indentation: expected 28 but found 30
(indentation)
[warning] 427-427: wrong indentation: expected 16 but found 18
(indentation)
[warning] 430-430: wrong indentation: expected 18 but found 20
(indentation)
[warning] 434-434: wrong indentation: expected 26 but found 28
(indentation)
[warning] 437-437: wrong indentation: expected 30 but found 32
(indentation)
[warning] 440-440: wrong indentation: expected 32 but found 33
(indentation)
[warning] 441-441: wrong indentation: expected 37 but found 36
(indentation)
[warning] 445-445: wrong indentation: expected 37 but found 39
(indentation)
[warning] 446-446: wrong indentation: expected 41 but found 43
(indentation)
[warning] 449-449: wrong indentation: expected 24 but found 26
(indentation)
[warning] 459-459: wrong indentation: expected 18 but found 20
(indentation)
[warning] 462-462: wrong indentation: expected 20 but found 24
(indentation)
[warning] 467-467: wrong indentation: expected 28 but found 30
(indentation)
[warning] 470-470: wrong indentation: expected 30 but found 34
(indentation)
[warning] 471-471: wrong indentation: expected 38 but found 40
(indentation)
[warning] 475-475: wrong indentation: expected 38 but found 40
(indentation)
[warning] 478-478: wrong indentation: expected 42 but found 44
(indentation)
[warning] 479-479: too many spaces before colon
(colons)
[warning] 481-481: wrong indentation: expected 46 but found 48
(indentation)
[warning] 485-485: wrong indentation: expected 16 but found 18
(indentation)
[warning] 488-488: wrong indentation: expected 8 but found 9
(indentation)
[warning] 489-489: wrong indentation: expected 11 but found 13
(indentation)
[warning] 493-493: wrong indentation: expected 2 but found 4
(indentation)
[error] 494-494: no new line character at the end of file
(new-line-at-end-of-file)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
rules/typescript/security/express-jwt-hardcoded-secret-typescript.yml
(1 hunks)rules/typescript/security/node-sequelize-empty-password-argument-typescript.yml
(1 hunks)rules/typescript/security/node-sequelize-hardcoded-secret-argument-typescript.yml
(1 hunks)tests/__snapshots__/express-jwt-hardcoded-secret-typescript-snapshot.yml
(1 hunks)tests/__snapshots__/node-sequelize-empty-password-argument-typescript-snapshot.yml
(1 hunks)tests/__snapshots__/node-sequelize-hardcoded-secret-argument-typescript-snapshot.yml
(1 hunks)tests/__snapshots__/ruby-mysql2-empty-password-ruby-snapshot.yml
(1 hunks)tests/typescript/express-jwt-hardcoded-secret-typescript-test.yml
(1 hunks)tests/typescript/node-sequelize-empty-password-argument-typescript-test.yml
(1 hunks)tests/typescript/node-sequelize-hardcoded-secret-argument-typescript-test.yml
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- tests/snapshots/node-sequelize-hardcoded-secret-argument-typescript-snapshot.yml
🧰 Additional context used
🪛 YAMLlint (1.35.1)
tests/typescript/node-sequelize-hardcoded-secret-argument-typescript-test.yml
[error] 26-26: no new line character at the end of file
(new-line-at-end-of-file)
rules/typescript/security/node-sequelize-empty-password-argument-typescript.yml
[warning] 18-18: wrong indentation: expected 4 but found 3
(indentation)
[error] 23-23: trailing spaces
(trailing-spaces)
[warning] 24-24: wrong indentation: expected 9 but found 8
(indentation)
[error] 32-32: trailing spaces
(trailing-spaces)
[warning] 33-33: wrong indentation: expected 17 but found 16
(indentation)
[error] 39-39: trailing spaces
(trailing-spaces)
[warning] 40-40: wrong indentation: expected 19 but found 20
(indentation)
[warning] 47-47: wrong indentation: expected 17 but found 15
(indentation)
[warning] 48-48: wrong indentation: expected 19 but found 18
(indentation)
[warning] 51-51: wrong indentation: expected 19 but found 17
(indentation)
[warning] 54-54: wrong indentation: expected 23 but found 22
(indentation)
[error] 78-78: trailing spaces
(trailing-spaces)
[warning] 80-80: wrong indentation: expected 4 but found 3
(indentation)
[error] 83-83: trailing spaces
(trailing-spaces)
[warning] 84-84: wrong indentation: expected 9 but found 8
(indentation)
[error] 93-93: trailing spaces
(trailing-spaces)
[warning] 94-94: wrong indentation: expected 19 but found 20
(indentation)
[error] 99-99: trailing spaces
(trailing-spaces)
[warning] 100-100: wrong indentation: expected 17 but found 16
(indentation)
[warning] 107-107: wrong indentation: expected 17 but found 15
(indentation)
[warning] 108-108: wrong indentation: expected 19 but found 18
(indentation)
[warning] 111-111: wrong indentation: expected 19 but found 17
(indentation)
[warning] 114-114: wrong indentation: expected 23 but found 22
(indentation)
[warning] 141-141: wrong indentation: expected 17 but found 16
(indentation)
[warning] 147-147: wrong indentation: expected 22 but found 21
(indentation)
[warning] 148-148: wrong indentation: expected 23 but found 22
(indentation)
[warning] 152-152: wrong indentation: expected 26 but found 25
(indentation)
[warning] 153-153: wrong indentation: expected 27 but found 26
(indentation)
[warning] 156-156: wrong indentation: expected 17 but found 16
(indentation)
[warning] 171-171: wrong indentation: expected 2 but found 1
(indentation)
[error] 173-173: no new line character at the end of file
(new-line-at-end-of-file)
rules/typescript/security/node-sequelize-hardcoded-secret-argument-typescript.yml
[warning] 17-17: wrong indentation: expected 4 but found 3
(indentation)
[warning] 20-20: wrong indentation: expected 9 but found 11
(indentation)
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 22-22: wrong indentation: expected 9 but found 8
(indentation)
[error] 30-30: trailing spaces
(trailing-spaces)
[warning] 31-31: wrong indentation: expected 17 but found 16
(indentation)
[error] 37-37: trailing spaces
(trailing-spaces)
[warning] 38-38: wrong indentation: expected 19 but found 20
(indentation)
[warning] 45-45: wrong indentation: expected 17 but found 15
(indentation)
[warning] 46-46: wrong indentation: expected 19 but found 18
(indentation)
[warning] 49-49: wrong indentation: expected 19 but found 17
(indentation)
[warning] 52-52: wrong indentation: expected 23 but found 22
(indentation)
[error] 76-76: trailing spaces
(trailing-spaces)
[warning] 78-78: wrong indentation: expected 4 but found 3
(indentation)
[error] 81-81: trailing spaces
(trailing-spaces)
[warning] 82-82: wrong indentation: expected 9 but found 8
(indentation)
[error] 91-91: trailing spaces
(trailing-spaces)
[warning] 92-92: wrong indentation: expected 19 but found 20
(indentation)
[error] 97-97: trailing spaces
(trailing-spaces)
[warning] 98-98: wrong indentation: expected 17 but found 16
(indentation)
[warning] 105-105: wrong indentation: expected 17 but found 15
(indentation)
[warning] 106-106: wrong indentation: expected 19 but found 18
(indentation)
[warning] 109-109: wrong indentation: expected 19 but found 17
(indentation)
[warning] 112-112: wrong indentation: expected 23 but found 22
(indentation)
[warning] 142-142: wrong indentation: expected 17 but found 16
(indentation)
[warning] 148-148: wrong indentation: expected 22 but found 21
(indentation)
[warning] 156-156: wrong indentation: expected 2 but found 1
(indentation)
[error] 158-158: no new line character at the end of file
(new-line-at-end-of-file)
rules/typescript/security/express-jwt-hardcoded-secret-typescript.yml
[warning] 17-17: wrong indentation: expected 4 but found 3
(indentation)
[warning] 21-21: wrong indentation: expected 7 but found 6
(indentation)
[warning] 23-23: wrong indentation: expected 6 but found 7
(indentation)
[warning] 24-24: wrong indentation: expected 11 but found 10
(indentation)
[warning] 28-28: wrong indentation: expected 14 but found 16
(indentation)
[warning] 32-32: wrong indentation: expected 14 but found 16
(indentation)
[warning] 35-35: wrong indentation: expected 18 but found 20
(indentation)
[warning] 38-38: wrong indentation: expected 22 but found 21
(indentation)
[warning] 42-42: wrong indentation: expected 25 but found 24
(indentation)
[warning] 47-47: wrong indentation: expected 25 but found 24
(indentation)
[error] 50-50: trailing spaces
(trailing-spaces)
[warning] 52-52: wrong indentation: expected 9 but found 12
(indentation)
[warning] 56-56: wrong indentation: expected 18 but found 20
(indentation)
[warning] 59-59: wrong indentation: expected 20 but found 24
(indentation)
[warning] 64-64: wrong indentation: expected 28 but found 30
(indentation)
[warning] 67-67: wrong indentation: expected 30 but found 34
(indentation)
[warning] 68-68: wrong indentation: expected 38 but found 40
(indentation)
[warning] 72-72: wrong indentation: expected 38 but found 40
(indentation)
[warning] 75-75: wrong indentation: expected 42 but found 44
(indentation)
[warning] 76-76: too many spaces before colon
(colons)
[warning] 78-78: wrong indentation: expected 46 but found 48
(indentation)
[warning] 85-85: wrong indentation: expected 16 but found 20
(indentation)
[warning] 89-89: wrong indentation: expected 26 but found 28
(indentation)
[warning] 93-93: wrong indentation: expected 24 but found 26
(indentation)
[warning] 100-100: wrong indentation: expected 16 but found 18
(indentation)
[warning] 103-103: wrong indentation: expected 18 but found 20
(indentation)
[warning] 104-104: wrong indentation: expected 24 but found 26
(indentation)
[warning] 110-110: wrong indentation: expected 30 but found 32
(indentation)
[warning] 114-114: wrong indentation: expected 24 but found 26
(indentation)
[warning] 117-117: wrong indentation: expected 28 but found 30
(indentation)
[warning] 121-121: wrong indentation: expected 16 but found 18
(indentation)
[warning] 124-124: wrong indentation: expected 18 but found 20
(indentation)
[warning] 128-128: wrong indentation: expected 26 but found 28
(indentation)
[warning] 131-131: wrong indentation: expected 30 but found 32
(indentation)
[warning] 134-134: wrong indentation: expected 32 but found 33
(indentation)
[warning] 135-135: wrong indentation: expected 37 but found 36
(indentation)
[warning] 139-139: wrong indentation: expected 37 but found 39
(indentation)
[warning] 140-140: wrong indentation: expected 41 but found 43
(indentation)
[warning] 143-143: wrong indentation: expected 24 but found 26
(indentation)
[warning] 153-153: wrong indentation: expected 18 but found 20
(indentation)
[warning] 156-156: wrong indentation: expected 20 but found 24
(indentation)
[warning] 161-161: wrong indentation: expected 28 but found 30
(indentation)
[warning] 164-164: wrong indentation: expected 30 but found 34
(indentation)
[warning] 165-165: wrong indentation: expected 38 but found 40
(indentation)
[warning] 169-169: wrong indentation: expected 38 but found 40
(indentation)
[warning] 172-172: wrong indentation: expected 42 but found 44
(indentation)
[warning] 173-173: too many spaces before colon
(colons)
[warning] 175-175: wrong indentation: expected 46 but found 48
(indentation)
[warning] 179-179: wrong indentation: expected 16 but found 18
(indentation)
[warning] 182-182: wrong indentation: expected 16 but found 15
(indentation)
[error] 185-185: trailing spaces
(trailing-spaces)
[warning] 187-187: wrong indentation: expected 7 but found 8
(indentation)
[warning] 190-190: wrong indentation: expected 10 but found 12
(indentation)
[warning] 191-191: wrong indentation: expected 14 but found 16
(indentation)
[error] 193-193: trailing spaces
(trailing-spaces)
[warning] 195-195: wrong indentation: expected 7 but found 9
(indentation)
[warning] 198-198: wrong indentation: expected 9 but found 13
(indentation)
[warning] 202-202: wrong indentation: expected 19 but found 23
(indentation)
[warning] 206-206: wrong indentation: expected 17 but found 19
(indentation)
[warning] 207-207: wrong indentation: expected 21 but found 23
(indentation)
[warning] 210-210: wrong indentation: expected 17 but found 19
(indentation)
[warning] 211-211: wrong indentation: expected 21 but found 23
(indentation)
[warning] 214-214: wrong indentation: expected 25 but found 27
(indentation)
[warning] 218-218: wrong indentation: expected 17 but found 19
(indentation)
[warning] 221-221: wrong indentation: expected 21 but found 23
(indentation)
[warning] 222-222: wrong indentation: expected 25 but found 27
(indentation)
[warning] 225-225: wrong indentation: expected 29 but found 31
(indentation)
[warning] 228-228: wrong indentation: expected 33 but found 35
(indentation)
[error] 231-231: trailing spaces
(trailing-spaces)
[error] 232-232: trailing spaces
(trailing-spaces)
[warning] 234-234: wrong indentation: expected 7 but found 9
(indentation)
[warning] 237-237: wrong indentation: expected 9 but found 13
(indentation)
[warning] 238-238: wrong indentation: expected 17 but found 19
(indentation)
[warning] 242-242: wrong indentation: expected 17 but found 19
(indentation)
[warning] 245-245: wrong indentation: expected 19 but found 23
(indentation)
[warning] 246-246: wrong indentation: expected 27 but found 29
(indentation)
[warning] 249-249: wrong indentation: expected 31 but found 33
(indentation)
[warning] 252-252: wrong indentation: expected 33 but found 37
(indentation)
[warning] 253-253: wrong indentation: expected 41 but found 43
(indentation)
[error] 254-254: trailing spaces
(trailing-spaces)
[warning] 257-257: wrong indentation: expected 41 but found 43
(indentation)
[warning] 260-260: wrong indentation: expected 27 but found 26
(indentation)
[warning] 261-261: wrong indentation: expected 28 but found 29
(indentation)
[warning] 264-264: wrong indentation: expected 31 but found 33
(indentation)
[warning] 267-267: wrong indentation: expected 33 but found 37
(indentation)
[warning] 268-268: wrong indentation: expected 41 but found 43
(indentation)
[error] 269-269: trailing spaces
(trailing-spaces)
[warning] 271-271: wrong indentation: expected 45 but found 44
(indentation)
[error] 272-272: trailing spaces
(trailing-spaces)
[warning] 274-274: wrong indentation: expected 4 but found 3
(indentation)
[warning] 277-277: wrong indentation: expected 3 but found 4
(indentation)
[warning] 278-278: wrong indentation: expected 6 but found 7
(indentation)
[warning] 279-279: wrong indentation: expected 11 but found 12
(indentation)
[warning] 282-282: wrong indentation: expected 16 but found 17
(indentation)
[warning] 285-285: wrong indentation: expected 17 but found 21
(indentation)
[warning] 286-286: wrong indentation: expected 25 but found 27
(indentation)
[warning] 290-290: wrong indentation: expected 25 but found 27
(indentation)
[warning] 294-294: wrong indentation: expected 16 but found 19
(indentation)
[warning] 297-297: wrong indentation: expected 21 but found 23
(indentation)
[warning] 300-300: wrong indentation: expected 23 but found 24
(indentation)
[warning] 301-301: wrong indentation: expected 28 but found 30
(indentation)
[warning] 305-305: wrong indentation: expected 28 but found 27
(indentation)
[warning] 309-309: wrong indentation: expected 31 but found 30
(indentation)
[warning] 313-313: wrong indentation: expected 31 but found 30
(indentation)
[warning] 317-317: wrong indentation: expected 11 but found 13
(indentation)
[warning] 325-325: wrong indentation: expected 21 but found 20
(indentation)
[warning] 329-329: wrong indentation: expected 21 but found 20
(indentation)
[warning] 333-333: wrong indentation: expected 17 but found 19
(indentation)
[warning] 336-336: wrong indentation: expected 21 but found 23
(indentation)
[warning] 339-339: wrong indentation: expected 23 but found 24
(indentation)
[warning] 340-340: wrong indentation: expected 28 but found 30
(indentation)
[warning] 344-344: wrong indentation: expected 28 but found 27
(indentation)
[warning] 348-348: wrong indentation: expected 31 but found 30
(indentation)
[warning] 352-352: wrong indentation: expected 31 but found 30
(indentation)
[warning] 356-356: wrong indentation: expected 8 but found 10
(indentation)
[warning] 358-358: wrong indentation: expected 10 but found 12
(indentation)
[warning] 362-362: wrong indentation: expected 18 but found 20
(indentation)
[warning] 365-365: wrong indentation: expected 20 but found 24
(indentation)
[warning] 370-370: wrong indentation: expected 28 but found 30
(indentation)
[warning] 373-373: wrong indentation: expected 30 but found 34
(indentation)
[warning] 374-374: wrong indentation: expected 38 but found 40
(indentation)
[warning] 378-378: wrong indentation: expected 38 but found 40
(indentation)
[warning] 381-381: wrong indentation: expected 42 but found 44
(indentation)
[warning] 382-382: too many spaces before colon
(colons)
[warning] 384-384: wrong indentation: expected 46 but found 48
(indentation)
[warning] 391-391: wrong indentation: expected 16 but found 20
(indentation)
[warning] 395-395: wrong indentation: expected 26 but found 28
(indentation)
[warning] 399-399: wrong indentation: expected 24 but found 26
(indentation)
[warning] 406-406: wrong indentation: expected 16 but found 18
(indentation)
[warning] 409-409: wrong indentation: expected 18 but found 20
(indentation)
[warning] 410-410: wrong indentation: expected 24 but found 26
(indentation)
[warning] 416-416: wrong indentation: expected 30 but found 32
(indentation)
[warning] 420-420: wrong indentation: expected 24 but found 26
(indentation)
[warning] 423-423: wrong indentation: expected 28 but found 30
(indentation)
[warning] 427-427: wrong indentation: expected 16 but found 18
(indentation)
[warning] 430-430: wrong indentation: expected 18 but found 20
(indentation)
[warning] 434-434: wrong indentation: expected 26 but found 28
(indentation)
[warning] 437-437: wrong indentation: expected 30 but found 32
(indentation)
[warning] 440-440: wrong indentation: expected 32 but found 33
(indentation)
[warning] 441-441: wrong indentation: expected 37 but found 36
(indentation)
[warning] 445-445: wrong indentation: expected 37 but found 39
(indentation)
[warning] 446-446: wrong indentation: expected 41 but found 43
(indentation)
[warning] 449-449: wrong indentation: expected 24 but found 26
(indentation)
[warning] 459-459: wrong indentation: expected 18 but found 20
(indentation)
[warning] 462-462: wrong indentation: expected 20 but found 24
(indentation)
[warning] 467-467: wrong indentation: expected 28 but found 30
(indentation)
[warning] 470-470: wrong indentation: expected 30 but found 34
(indentation)
[warning] 471-471: wrong indentation: expected 38 but found 40
(indentation)
[warning] 475-475: wrong indentation: expected 38 but found 40
(indentation)
[warning] 478-478: wrong indentation: expected 42 but found 44
(indentation)
[warning] 479-479: too many spaces before colon
(colons)
[warning] 481-481: wrong indentation: expected 46 but found 48
(indentation)
[warning] 485-485: wrong indentation: expected 16 but found 18
(indentation)
[warning] 488-488: wrong indentation: expected 8 but found 9
(indentation)
[warning] 489-489: wrong indentation: expected 11 but found 13
(indentation)
[warning] 493-493: wrong indentation: expected 2 but found 4
(indentation)
[error] 494-494: no new line character at the end of file
(new-line-at-end-of-file)
🔇 Additional comments (31)
tests/typescript/node-sequelize-empty-password-argument-typescript-test.yml (3)
1-10
: Valid Configuration Block ApprovedThe valid section correctly instantiates Sequelize with a non-empty password, which serves as the expected secure configuration.
19-26
: Invalid Test Block: Empty Password via VariableHere, the test case uses a variable (
passwordFromEnv
) set to an empty string. This is an effective example to capture cases where an empty password might be passed indirectly.
27-34
: Invalid Test Block: Alternative Empty Password VariableThis block, using the variable
passwordDynamic
, mimics a dynamic (but empty) password scenario. It is consistent with the security rule testing strategy.tests/typescript/node-sequelize-hardcoded-secret-argument-typescript-test.yml (3)
1-10
: Valid Configuration Block ApprovedThe valid configuration correctly provides a non-hardcoded password, ensuring that the test setup reflects secure credential management.
11-18
: Invalid Test Block: Direct Hardcoded SecretThis block demonstrates the insecure pattern of directly hardcoding a password literal (
"password"
) in Sequelize’s constructor. It clearly fulfills the intent of the security rule.
19-26
: Invalid Test Block: Hardcoded Secret via VariableIn this scenario, even though the password comes from a variable (
passwordFromEnv
), it is still hardcoded (set to"test"
). This effectively illustrates the risk intended by the test.🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 26-26: no new line character at the end of file
(new-line-at-end-of-file)
tests/__snapshots__/ruby-mysql2-empty-password-ruby-snapshot.yml (2)
1-8
: Ruby Snapshot for Empty Password in Mysql2 ClientThis snapshot correctly captures the instantiation of a
Mysql2::Client
with an empty password and a query execution. It serves as a precise regression check for this behavior.
9-68
: Snapshot Labels Detailing Client InitializationThe detailed labels (covering sources, styles, and code ranges) comprehensively map out the components of the client initialization. Ensure these auto-generated ranges remain in sync with any future changes.
tests/typescript/express-jwt-hardcoded-secret-typescript-test.yml (6)
1-7
: Valid JWT Middleware Configuration ApprovedThe valid test case leverages an environment variable (
process.env.SECRET
) for the JWT secret in an Express route, which is the recommended secure pattern.
8-14
: Invalid Test Case: Direct Hardcoded Secret (CommonJS)This test case uses a hardcoded secret string (
'shhhhhhared-secret'
) with CommonJS syntax. It effectively demonstrates the insecure configuration scenario.
15-22
: Invalid Test Case: Hardcoded Secret with ES Module SyntaxThe use of an imported value and assignment to a variable (
hardcodedSecret1
) for the secret correctly simulates a case of a hardcoded secret in an ES module context.
23-30
: Invalid Test Case: Hardcoded Secret with Extra OptionsThe configuration with a hardcoded secret (
secret3
) along with an issuer option is a good example showing a more complex but still insecure setup.
31-37
: Invalid Test Case: Hardcoded Secret LiteralThis block directly uses a hardcoded secret string in the JWT middleware. It further reinforces the test suite’s goal of catching insecure practices.
38-44
: Invalid Test Case: Named Import UsageUtilizing the named import (
expressJwt
) from'express-jwt'
with a hardcoded secret (secret4
) offers an additional variant to test for hardcoded secrets. It is well-constructed.tests/__snapshots__/node-sequelize-empty-password-argument-typescript-snapshot.yml (16)
1-2
: Snapshot ID VerificationThe snapshot's
id
correctly associates with the empty password argument test for Sequelize, ensuring consistency with the corresponding security rule.
3-14
: Snapshot Block: Testing with VariablepasswordDynamic
The first snapshot block demonstrates using a variable (
passwordDynamic
)—set to an empty string—in the Sequelize constructor. The associated labels accurately capture the relevant source code ranges.
15-24
: Snapshot Block: Detailed Configuration LabelingThe labels provided (covering the object literal used for connection options) are thorough and help in pinpointing changes between runs. This level of detail is beneficial for regression testing.
25-34
: Snapshot Block: Repeated Sequelize Require ClauseThe snapshot includes redundant label entries for
const Sequelize = require('sequelize');
— ensure that these duplicates are intentional and expected from the snapshot generation process.
35-44
: Snapshot Block: Constructor Invocation CaptureThe label capturing the constructor call with
passwordDynamic
is well-documented. Maintaining this precision in labels will help detect shifts in code structure during refactoring.
45-54
: Snapshot Block: Parenthesized Constructor ArgumentThe snapshot captures an alternative representation of the constructor arguments. This diversity in label capture is useful for comprehensive testing.
55-74
: Snapshot Block: Variable Declaration and Assignment forpasswordDynamic
The labels detailing the assignment and usage of
passwordDynamic
are accurate. This ensures that both the declaration and its usage in the connection are tracked for changes.
75-86
: Snapshot Block: Testing with VariablepasswordFromEnv
The subsequent snapshot block clearly demonstrates the scenario where
passwordFromEnv
(set to an empty string) is used. The labels associated with this block mirror those of the previous block and are consistent.
87-96
: Snapshot Block: Labeling forpasswordFromEnv
in Connection OptionsThe detailed labels for the connection options (host, port, dialect) are precise. This aids in ensuring that any alterations in the configuration are highlighted.
97-108
: Snapshot Block: Redundant Sequelize Import LabelingSimilar to the earlier block, the repetition in labeling for the Sequelize import is noted. Confirm that this is the intended output from the snapshot generator.
109-118
: Snapshot Block: Constructor Invocation withpasswordFromEnv
The labels capture the constructor call using
passwordFromEnv
correctly. The structured labeling confirms thorough snapshot coverage.
119-128
: Snapshot Block: Parenthesized Invocation withpasswordFromEnv
This final snapshot block shows the alternative representation of the Sequelize constructor. The details are consistent with previous blocks.
129-138
: Snapshot Block: Redundant Labeling forpasswordFromEnv
DeclarationOnce again, the label redundancy for the declaration of
passwordFromEnv
is present. Verify if these duplicates are auto-generated and expected.
139-146
: Snapshot Block: Final Labels Consistency CheckThe rest of the labels continue to consistently document the configuration. This comprehensive snapshot will aid future regression detection.
155-164
: Snapshot Block: Labeling for Direct Empty StringThe labels documenting the direct usage of
''
in the Sequelize call are detailed. They highlight exactly where and how the empty password is being set.
165-197
: Snapshot Block: Comprehensive Constructor Invocation with Empty PasswordThe final set of labels provides a thorough mapping of the Sequelize instantiation with an empty password. The consistency across label ranges will be valuable for detecting inadvertent changes.
tests/__snapshots__/express-jwt-hardcoded-secret-typescript-snapshot.yml (1)
1-480
: Snapshot Test Coverage and Label VerificationThe snapshot file provides extensive coverage for hard-coded secret scenarios by including multiple test cases for different routes and secret representations. There is a high level of detail (with various label entries) which appears to be deliberate. Please double‐check that the redundancy in label entries is intentional and that it doesn’t lead to unnecessary duplication in test expectations.
Summary by CodeRabbit
New Features
Tests