-
Notifications
You must be signed in to change notification settings - Fork 1
NO-ISSUE: Reduce false positives #4
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -26,6 +26,9 @@ reviews: | |
| # package-lock.json, Cargo.lock) are deliberately kept so the supply-chain | ||
| # path_instructions block fires on them. | ||
| - "!yarn.lock" | ||
| # Keycloak realm exports: config data with dev client secrets and | ||
| # RFC 6238 TOTP defaults, not reviewable code. | ||
| - "!**/realm.json" | ||
|
|
||
| auto_review: | ||
| enabled: true | ||
|
|
@@ -342,13 +345,23 @@ reviews: | |
| keys, credentials. Also flag base64 strings >32 chars in config, | ||
| URLs with embedded credentials, variables named api_key/secret/ | ||
| token/password assigned string literals. | ||
|
|
||
| EXCEPTION: Do NOT flag default admin/admin credentials in | ||
| developer setup or maintenance scripts (e.g., Keycloak token | ||
| requests with username=admin, password=admin). These are | ||
| standard defaults for local development environments. | ||
| mode: "error" | ||
|
Comment on lines
+349
to
353
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The This wording can suppress real credential findings in scripts that may run outside localhost workflows. Restrict the carve-out to explicit local-dev contexts (path + host constraints), not generic maintenance usage. 🤖 Prompt for AI Agents |
||
|
|
||
| - name: "no-weak-crypto" | ||
| instructions: | | ||
| Flag MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB mode usage. | ||
| Flag custom crypto implementations. Flag non-constant-time | ||
| comparison of secrets or tokens. Do NOT flag RSA 2048. | ||
| comparison of secrets or tokens. | ||
|
|
||
| EXCEPTION: Do NOT flag RSA 2048. Do NOT flag md5sum or | ||
| sha1sum when used for non-cryptographic purposes (file change | ||
| detection, checksums, cache keys). Do NOT flag HmacSHA1 for | ||
| TOTP/OTP configuration (RFC 6238 default algorithm). | ||
|
Comment on lines
+361
to
+364
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Constrain weak-crypto carve-outs with explicit non-security boundaries. The current exception text can let insecure SHA1/MD5 usage slip through if labeled as checksum/cache logic. Add explicit prohibition for auth, signatures, password hashing, token integrity, and untrusted-input paths. 🤖 Prompt for AI Agents |
||
| mode: "error" | ||
|
|
||
| - name: "no-injection-vectors" | ||
|
|
@@ -357,6 +370,10 @@ reviews: | |
| eval/exec on untrusted data, pickle.loads on untrusted input, | ||
| yaml.load without SafeLoader, os.system with variables, | ||
| dangerouslySetInnerHTML with user data. | ||
|
|
||
| EXCEPTION: Do NOT flag jq filter string interpolation when | ||
| the variable originates from a prior jq extraction on the | ||
| same local file, not from user input. | ||
|
Comment on lines
+374
to
+376
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
“Prior jq extraction from the same local file” is insufficient when file contents can be attacker-controlled. Require the source file to be repository-controlled/static and keep interpolation strictly data-only. 🤖 Prompt for AI Agents |
||
| mode: "error" | ||
|
|
||
| - name: "container-privileges" | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| name: Lint YAML | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| pull_request: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| yamllint: | ||
| name: yamllint | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| - name: Install yamllint | ||
| run: pip install --user yamllint | ||
|
|
||
| - name: Run yamllint | ||
| run: yamllint --strict . | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| --- | ||
| extends: default | ||
|
|
||
| rules: | ||
| line-length: disable | ||
| document-start: disable | ||
| indentation: | ||
| spaces: 2 | ||
| indent-sequences: true | ||
| check-multi-line-strings: false | ||
| comments: | ||
| require-starting-space: true | ||
| ignore-shebangs: true | ||
| min-spaces-from-content: 1 | ||
| truthy: | ||
| allowed-values: ["true", "false"] | ||
| check-keys: false | ||
| trailing-spaces: enable | ||
| braces: | ||
| min-spaces-inside: 0 | ||
| max-spaces-inside: 0 | ||
| brackets: | ||
| min-spaces-inside: 0 | ||
| max-spaces-inside: 0 | ||
| empty-lines: | ||
| max: 1 |
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.
Narrow the
realm.jsonexclusion to explicit dev fixture paths.Line 31 currently excludes every
realm.jsonin the repo, which can hide security-relevant realm configuration changes from review. Scope this to known local/dev export directories instead of a global wildcard.🤖 Prompt for AI Agents