Commit Graph
100 Commits
Author SHA1 Message Date
Cosmin Cojocar a7ab382a89 chore(prompts): add skill and prompt to update supported Go versions (#1561)
* chore(prompts): add supported Go version update skill and prompt

* docs: add usage for supported Go version update prompt
2026-02-28 11:00:42 +01:00
Cosmin Cojocar 84df6fadcb chore(prompts): add action version update skill and prompt (#1560) 2026-02-28 10:50:17 +01:00
Cosmin Cojocar 7210bac169 fix(analyzers): avoid SSA dependency cycle blowups in issue #1555 paths (#1559)
Route redirect dependency checks through the cycle-safe
dependencyChecker instead of raw recursive valueDependsOn traversal.
This ensures Phi-cycle graphs terminate quickly and avoids recursive
work amplification that can look like hangs on large/generated
codebases.

Also remove the nil fallback in dependencyChecker.dependsOn so all
analyzer paths consistently use cycle-aware logic.

Add regression tests covering raw valueDependsOn behavior on:

Phi cycle without target (must return false)
Phi cycle with target path (must return true)
Self-referential Phi node (must return false)

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-28 10:47:40 +01:00
Cosmin Cojocar 34fe69430b Add a SKILL and PROMPT for fixing a GitHub issue (#1558)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-28 10:08:44 +01:00
Cosmin Cojocar 50c43450f7 Add a SKILL and PROMPT for generating rules with AI (#1557)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-28 09:47:19 +01:00
Cosmin Cojocar 9e5b3e2e5a fix(G120): prevent hang-like analysis blowup in wrapper protection checks (#1556)
Summary:
This change fixes the hang/perceived hang reported in issue #1555 when
scanning large codebases with complex SSA graphs. The fix is
intentionally scoped to G120 form parsing analysis only.

Root cause:
G120 wrapper/middleware protection logic repeatedly called
value-dependency checks across many function/call combinations. The
dependency traversal was depth-limited but not memoized, so cyclic and
branch-heavy SSA structures (especially Phi-related paths) caused
repeated re-traversal of the same graph regions and severe runtime
blowup.

What changed:
A cycle-safe, memoized dependency checker was added and used only inside
the G120 form parsing analysis flow. Existing G120 logic was kept
semantically equivalent while replacing repeated raw dependency
traversals with cached checks. Focused regression tests were added for
cyclic Phi graphs to verify both cases: no target reachable (false) and
target reachable (true), including stable repeated evaluation.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-28 09:46:52 +01:00
Cosmin Cojocar c8a396c0b0 Remove gcmurphy from funding list 2026-02-27 13:51:01 +01:00
Cosmin Cojocar 14d95fe39e Extend the release workflow to push the container images also to GHCR
The relese process is extended to push also images to GHCR in addition
to DockerHub. This is in preparation to migrate to GHCR after the next
release.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-27 13:48:41 +01:00
Cosmin Cojocar fd697486c0 Update to gosec to v2.24.0 in the action and fix the docker image signing (#1552)
Update the GitHub action to use gosec v2.24.0 and fix the docker image
signing

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-27 13:25:22 +01:00
Cosmin Cojocar f2262c88ff G120: avoid false positive when MaxBytesReader is applied in middleware (#1547)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-25 15:51:24 +01:00
Cosmin Cojocar 5b580c76e4 Fix G602 regression coverage for issue #1545 and stabilize G117 TOML test dependency (#1546)
This PR adds regression coverage for the G602 false-positive reported in
issue #1545 by introducing two sample cases: one valid range-over-array
indexing pattern that should not trigger, and one true out-of-bounds
variant that should still be detected.

It also fixes test instability in the rules suite by adding the missing
BurntSushi TOML module metadata required by G117 sample compilation in
the test harness.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-25 15:01:01 +01:00
Cosmin Cojocar f3e2fac4d5 Regenrate the TLS config rule (#1539)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 13:53:22 +01:00
Cosmin Cojocar 200461fcf7 Improve documentation (#1538)
* Improve documentation

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* More docs improvements

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Restructure DEVELOPMENT.md

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Improve structure of Development

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 13:37:02 +01:00
Cosmin Cojocar 078a62afc3 Expand analyzer-core test coverage for orchestration, go/analysis adapter logic, and taint integration (#1537)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 12:35:16 +01:00
Cosmin Cojocar ffdc6205c8 Add unit tests for CLI orchestration, TLS config generation, and SSA cache behavior (#1536)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 12:10:19 +01:00
Cosmin Cojocar c13a48626b Add G707 taint analyzer for SMTP command/header injection (#1535)
This change introduces a new taint-analysis rule, G707, to detect
potential SMTP command/header injection when untrusted input reaches
net/smtp sink.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 11:12:34 +01:00
Cosmin Cojocar f61ed314c2 Add G123 analyzer for tls.VerifyPeerCertificate resumption bypass risk (#1534)
Add a new SSA-based analyzer, G123, to detect risky TLS configurations
where VerifyPeerCertificate is set, VerifyConnection is not set, and
session resumption may still be enabled.

The analyzer inspects tls.Config field assignments and also follows
configurations returned from GetConfigForClient callbacks so
callback-based setup paths are covered as well.

This change wires G123 into analyzer registration, maps it to CWE-295,
updates the README rule list, and adds dedicated vulnerable/safe sample
coverage in analyzer tests.

It also includes a targeted #nosec G101 suppression on the analyzer
message string to prevent a known false positive from the linter
(message text only, no credential handling impact).

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-21 10:42:36 +01:00
Cosmin Cojocar b568aa1445 Add G122 SSA analyzer for filepath.Walk/WalkDir symlink TOCTOU race risks (#1532)
This change introduces a new SSA-based analyzer, G122, to detect unsafe
filesystem operations inside filepath.Walk, filepath.WalkDir, and
io/fs.WalkDir callbacks when callback path values flow into race-prone
sinks such as os.Remove, os.OpenFile, os.Rename, and os.Chmod.

It adds CWE mapping for the new rule as G122 -> CWE-367 (TOCTOU race
condition), and adds the CWE-367 definition to the CWE data.

It wires G122 into analyzer registration and updates the README
available rules list.

It adds dedicated G122 sample coverage with vulnerable and safe cases,
including safe root-scoped usage through os.Root APIs (for example
root.Open and root.Remove).

Validation was completed: full test suite passes, golangci-lint reports
zero issues, and gosec CLI validation confirms expected trigger and
non-trigger behavior for G122.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-20 19:24:17 +01:00
Cosmin Cojocar 1735e5a9ac fix(G602): avoid false positives for range-over-array indexing (#1531)
This change fixes a false positive in G602 when iterating over
fixed-size arrays with range and indexing using the loop variable.

Corrects loop bound normalization in SSA-based index analysis so offsets
are not applied twice.
Preserves true-positive detection for real out-of-bounds patterns (for
example index + 1 at upper edge).
Adds regression samples covering both:
valid range-over-array indexing (no issue expected)
invalid shifted indexing inside the same loop (issue expected)

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-19 17:39:14 +01:00
Cosmin Cojocar caf93d07f1 Improve taint analyzer performance with shared SSA cache, parallel analyzer execution, and CI regression guard (#1530)
* Improve taint analyzer performance with shared SSA cache, parallel analyzer execution, and CI regression guard

* Added a shared per-package SSA analysis cache with lazy,
concurrency-safe call graph reuse across analyzers.
* Updated taint analyzers to consume the shared cache instead of
recomputing expensive artifacts per rule run.
* Parallelized analyzer execution at package level while preserving
deterministic issue aggregation.
* Added a package-level taint benchmark to measure real end-to-end taint
analyzer pass performance.
* Introduced a CI benchmark regression guard with configurable
thresholds for ns/op, B/op, and allocs/op.
* Documented the performance guard workflow, local run command, and
baseline update process in the README.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix script

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-19 16:50:41 +01:00
Cosmin Cojocar e34e8dd8e8 Extend the G117 rule to cover other types of serialization such as yaml/xml/toml (#1529)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-18 22:27:02 +01:00
Cosmin Cojocar b940702d5e Fix the G117 rule to take the JSON serialization into account (#1528)
* Fix g117 to take into account the json serialization

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Ignore lint warning

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-18 21:50:17 +01:00
Cosmin Cojocar 36ba72bb7f Add G121 analyzer for unsafe CORS bypass patterns in CrossOriginProtection (#1521)
* Add G121 analyzer for unsafe CORS bypass patterns in CrossOriginProtection

Adds new SSA-only analyzer G121 to detect unsafe usage of
AddInsecureBypassPattern in net/http.CrossOriginProtection.
Flags:
overbroad static bypass patterns (for example /, /*, empty/wildcard-like
values),
request-derived dynamic bypass patterns.
Wires G121 into default analyzer registration, analyzer test suite, CWE
mapping (CWE-346), README rule list, and dedicated sample fixtures.
Includes a narrow lint suppression for a G101 false positive in analyzer
message constants.
Validation: analyzer tests pass and golangci-lint reports 0 issues.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Ignore false positive warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-16 15:59:57 +01:00
Cosmin Cojocar 238f982325 Add G120 SSA analyzer for unbounded form parsing in HTTP handlers (#1520)
Introduces new G120 to detect potential memory-exhaustion paths caused
by unbounded form parsing in HTTP handlers.
Uses a pure SSA implementation (no AST fallback), checking ParseForm,
ParseMultipartForm, FormValue, and PostFormValue on *http.Request.
Suppresses findings when request bodies are explicitly bounded with
http.MaxBytesReader.
Wires G120 into analyzer registration, README rule catalog, and CWE
mapping (CWE-400).
Adds focused vulnerable/safe samples and analyzer test coverage;
analyzer tests and lint pass.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-16 15:06:09 +01:00
Cosmin Cojocar 89cde277b5 Add G119 analyzer for unsafe redirect header propagation in CheckRedirect callbacks (#1519)
- Introduces a new G119 security rule to detect redirect policies that
can leak sensitive headers across origins.
- Flags direct request header replacement inside CheckRedirect callbacks
and explicit re-adding of sensitive headers (Authorization,
Proxy-Authorization, Cookie).
- Wires G119 into analyzer registration, README rule list, and CWE
mapping.
- Adds focused positive/negative samples and analyzer coverage; analyzer
package tests pass.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-16 14:40:53 +01:00
Cosmin Cojocar 2b2077e921 Add G118 SSA analyzer for context propagation failures that can cause goroutine/resource leaks (#1516)
* Add G118 SSA analyzer for context propagation failures that can cause goroutine/resource leaks

This PR introduces G118, a new SSA-based gosec rule that detects
high-risk context misuse patterns: goroutines using
context.Background/TODO when request context exists, missing cancel()
calls from WithCancel/WithTimeout/WithDeadline, and unbounded blocking
loop regions without ctx.Done() guards.
These patterns can leak goroutines and I/O resources, leading to
resource exhaustion/DoS in production services.
The rule is mapped to CWE-400, integrated into analyzer registration and
docs, and includes positive/negative samples (including complex loop CFG
cases) to reduce false positives while preserving detection quality.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix false pasitive

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-15 21:35:54 +01:00
Cosmin Cojocar a7666f3c70 Add G113: Detect HTTP Request Smuggling via conflicting headers (CVE-2025-22891, CWE-444) (#1515)
Implements a new SSA-based analyzer G113 to detect HTTP request
smuggling vulnerabilities caused by setting conflicting
Transfer-Encoding and Content-Length headers on the same HTTP response.

Addresses CVE-2025-22871 where ambiguous HTTP message parsing can lead
to request smuggling attacks. When both Transfer-Encoding: chunked and
Content-Length headers are set, intermediary proxies and backend servers
may disagree on message boundaries, allowing attackers to inject
malicious requests.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-15 18:48:01 +01:00
Cosmin Cojocar 47f8b52fb8 Add G408: SSH PublicKeyCallback Authentication Bypass Analyzer (#1513)
* Add G408: SSH PublicKeyCallback Authentication Bypass Analyzer

Implements a new SSA-based security analyzer (G408) that detects
stateful misuse of ssh.PublicKeyCallback in SSH server configurations.
This vulnerability can lead to authentication bypass where a server
authenticates one SSH key but performs authorization checks on a
different key.

This addresses a critical security vulnerability (CVE-2024-45337, CVSS
9.1) that has affected production systems including Kubernetes and other
SSH-based services. The vulnerability occurs when developers incorrectly
capture and modify state within PublicKeyCallback closures, enabling
attackers to authenticate with one key while the server operates on
another key's credentials.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix tests

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 23:11:18 +01:00
Cosmin Cojocar 4f1f362671 Add more unit tests to improve coverage (#1512)
* Add more tests to improve test coverage

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 21:57:51 +01:00
Cosmin Cojocar 9344582ee4 Improve test coverage in various areas (#1511)
* Improve test coverage

Improve tests coverage in various areas.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>

---------

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 16:48:39 +01:00
Cosmin Cojocar 8d1b2c63ae Imprve the test coverage (#1510)
Add more tests in areas which are not currently covered.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 15:47:36 +01:00
Cosmin Cojocar 993c1c4da2 Fix incorrect detection of fixed iv in G407 (#1509)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 14:15:55 +01:00
Cosmin Cojocar 8668b74892 Add support for go 1.26.x and removed support for go 1.24.x (#1508)
We keep support only for two major version.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 13:53:19 +01:00
Cosmin Cojocar 514225c8cb Fix the sonar report to follow the latest schema (#1507)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-02-14 12:59:24 +01:00
Cosmin Cojocar 1b7e1e94bc Update gosec to version v2.23.0 in the Github action (#1496)
Update Github action to use the release of gosec v2.23.0

Change-Id: I72672694bea0a1e25229283e15459f7762965fba

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2026-02-11 13:52:41 +01:00
Cosmin Cojocar b579523bf6 Update the go version to 1.25.6 and 1.24.12 (#1474)
fixes #1469

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2026-01-19 18:38:57 +01:00
Cosmin Cojocar c073629009 Improve slice bound check (#1442)
Improve slice bound check to habdle bounded values and properly parse
the address index only from references

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2025-12-28 19:39:40 +02:00
Cosmin Cojocar dcf93a8b8b Update GitHub action to gosec 2.22.11 (#1438)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-12-11 15:27:06 +01:00
Cosmin Cojocar d4be2876cf Update go to 1.25.5 and 1.24.11 in CI (#1433)
* Update go version to 1.25.5 and 1.24.11 in CI


Signed-off-by: Cosmin Cojocar <ccojocar@google.com>

* Update the buildSSA to use the new tools package

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>

* Remove the type allignment check

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>

---------

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-12-03 13:57:07 +01:00
Cosmin Cojocar c34cbbf565 Update go to version 1.25.4 and 1.24.10 in CI (#1415)
fixes #1404

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-11-06 17:09:17 +01:00
Cosmin Cojocar 0adab9d9be Update gosec to version v2.22.10 in the github action (#1405)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-10-15 10:18:27 +02:00
Cosmin Cojocar 6be2b51fd7 Update go to version 1.25.3 and 1.24.9 in CI (#1404)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-10-14 14:54:01 +02:00
Cosmin Cojocar f6760311e8 Update go to version 1.25.2 and 2.24.8 in CI (#1401)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-10-08 12:55:04 +02:00
Cosmin Cojocar 955a68d0d1 Update go version to 1.24.2 and 1.23.8 (#1331) 2025-04-03 16:53:13 +02:00
Cosmin Cojocar 9452efe4ad Update the integrity sha for babel dependency in html report (#1316)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-03-10 11:07:47 +01:00
Cosmin Cojocar 136f6c0040 Update to go version 1.24.1 and 1.23.7 (#1313)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-03-05 11:40:35 +01:00
Cosmin Cojocar a9eb1c96fa Update gosec version in the GitHub action to v2.22.1 (#1307) 2025-02-17 15:18:07 +01:00
Cosmin Cojocar 43fee884f6 Update cosign to v2.4.2 (#1303)
Change-Id: I5346ca655388a5c33463ccecc72657b539c83d76

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-02-13 10:19:46 +01:00
Cosmin Cojocar 77238291df Add support for go 1.24 and phased out support for go 1.22 (#1302)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-02-13 10:16:37 +01:00
Cosmin Cojocar f4d2576c36 Update to go version 1.23.6 and 1.22.12 (#1299)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-02-05 10:21:51 +01:00
Cosmin Cojocar c66cb56f09 Add test to conver unit parssing for G115 rule (#1293)
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-01-23 14:22:32 +01:00
Cosmin Cojocar 59291a08ae Update to go version 1.23.5 and 1.22.11 (#1291) 2025-01-20 09:31:43 +01:00
Cosmin Cojocar 32dcc8a1f5 Update gosec in github action to 2.22.0 (#1286)
Change-Id: I9759d3c8ecfa34525f61e42f8d4ae412b92ead6d

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2025-01-14 15:57:57 +01:00
Cosmin Cojocar ca55eca3de Update to go 1.22.10 and 1.23.4 versions (#1264)
Change-Id: Ie36866e0b27c08e2211e86f6fffea559a193924c

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-12-12 12:10:18 +01:00
Cosmin Cojocar a83689867d Update gosec version to v2.21.3 in github action (#1227)
Change-Id: If12ea73f08ff79b5c53ece6c96454fb99418ced2

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-18 14:10:47 +02:00
Cosmin Cojocar be8bd6e40b Populate the fixes only when autofix is not empty (#1226)
Change-Id: If4de66d1ea0fd5a179808d023fdac677437c6d5a

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-18 13:43:01 +02:00
Cosmin Cojocar 5f3194b581 Update the github action to v2.21.2 (#1218)
Change-Id: I0b31f470f716e6b0ea1dacae7814075ee9f6d898

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-09 16:20:57 +02:00
Cosmin Cojocar abfe8cfd6d Update the SARIF schema URL (#1217)
Change-Id: I4a19f289ed6c4da8277bcc30be7c905ca13b6898

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-09 15:36:18 +02:00
Cosmin Cojocar 0396179112 Update go version to 1.23.1 and 1.22.7 (#1216)
Change-Id: I2c5ad3b96a96470ce663de84d767590b842990ac

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-09 15:29:43 +02:00
Cosmin Cojocar 014751c91c Update gosec version to v2.21.1 in github action (#1213)
Change-Id: I0dda98f91eabc1881c55cb886425acf62a000002

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-04 17:22:49 +02:00
Cosmin Cojocar 0ce4453ddd Rollback the SARIF version to 2.1 since github doesn't support 2.2 (#1210)
Change-Id: If3500ec2c522339ca0a4e6c1f58574ce3cc870a9

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-04 16:56:15 +02:00
Cosmin Cojocar ea26e8431f Update gosec in github action to v2.21.0 (#1208)
Change-Id: Ia6a5cc01472103d435cd5931aaef98a71a0a89f2

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-04 16:49:35 +02:00
Cosmin Cojocar b278b40c52 Update cosign version to v2.4.0 in release github workflow (#1207)
Change-Id: I78b4ad65597f6c10d9cc3113864fd73a25101b25

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-09-04 16:22:00 +02:00
Cosmin Cojocar 11d69032b0 Update go.mod to sue go 1.22.0 toolchain 2024-09-02 09:46:29 +02:00
Cosmin Cojocar 71e397b994 Update go.mod 2024-08-26 16:47:36 +02:00
Cosmin Cojocar 18135b439c Update to Go 1.23.0 (#1183)
Change-Id: I11a6402e85ac543305e8bad4ea35239779424dd6

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-08-19 09:17:50 +02:00
Cosmin Cojocar 92bac42afc Read the AI API key also from an environment variable (#1181)
* Read the AI API key also from an environment variable

Change-Id: If18fd025ab2ef68a3690f8a69d1c8894e44a87ef
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>

* Fix lint warning

Change-Id: Icd3eb8a029764db76596c3e171275c03a23f8cef
Signed-off-by: Cosmin Cojocar <ccojocar@google.com>

---------

Signed-off-by: Cosmin Cojocar <ccojocar@google.com>
2024-08-18 17:59:45 +02:00
Cosmin Cojocar 2ae137abcf Update to go versions to 1.21.11 and 1.22.4
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-06-11 21:47:56 +02:00
Cosmin Cojocar ac75d44f56 Fix nosec when applied to a block
Handle properly nosec directive when applied to a block or as a single
line on a multi-line issue.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-28 12:54:05 +02:00
Cosmin Cojocar ed3f51e663 Add more types to templates rule
Add additional types such as CSS, JSStr and Srcset to the template rule.
These types are marked as a security risk in the godoc
https://pkg.go.dev/html/template.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-28 10:39:33 +02:00
Cosmin Cojocar c3209fcaac Map the G115 rule to an CWE ID
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 15:12:55 +02:00
Cosmin Cojocar 43bef719b4 Update README with G115 rule description
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 13:03:01 +02:00
Cosmin Cojocar 555fe448dd Remove deprecated megacheck linter from golangci
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 13:03:01 +02:00
Cosmin Cojocar 81b076f53d Format imports
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 13:03:01 +02:00
Cosmin Cojocar f775eb19c5 Update .gitignore
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 13:03:01 +02:00
Cosmin Cojocar 4bf5667f66 Add a new rule to detect integer overflow on integer types conversion
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-27 13:03:01 +02:00
Cosmin Cojocar 75dd9d61ff Use the proper logic when disabling the go module version
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-22 10:31:43 +02:00
Cosmin Cojocar 1e1fc91d15 Update the README with some details related to Go version used by the rules
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-22 10:24:44 +02:00
Cosmin Cojocar 9a036658b7 Add an environment varialbe which disables the parsing of Go version from module file
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-22 10:24:44 +02:00
Cosmin Cojocar 40f29c8d4a Update docker image in action to v2.20.0
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-14 15:57:16 +02:00
Cosmin Cojocar 6fbd381238 Catch os.ModePerm permissions in os.WriteFile
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-14 15:33:23 +02:00
Cosmin Cojocar dc5e5a99d0 Add a unit test to detect the false negative in rule G306 for os.ModePerm permissions
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-14 15:33:23 +02:00
Cosmin Cojocar 417a44c73b Add filepath.EvalSymlinks to clean functions in rule G304
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-13 17:19:29 +02:00
Cosmin Cojocar 8658b8eab6 Update Go to version 2.22.3 in CI and release
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
2024-05-12 11:40:57 +02:00
Cosmin Cojocar bc03d1c1bc Update go version to 1.21.5 and 1.20.12 (#1084)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-12-08 14:19:34 +01:00
Cosmin Cojocar eb256a7d70 Ignore the issues from generated files when using the analysis framework (#1079)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-11-30 17:42:44 +01:00
Cosmin Cojocar dd08f99f53 Update to Go 1.21.3 and 1.20.10 (#1035)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-10-11 10:18:12 +02:00
Cosmin Cojocar 616520f44f Update the list of unsafe functions detected by the unsafe rule (#1033)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-10-10 09:47:36 +02:00
Cosmin Cojocar 3952187ea7 Update the action to use gosec version v2.18.0 (#1029)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-10-09 10:37:52 +02:00
Cosmin Cojocar 2b62dd1d8a Use a step ID in github release action to get the digest of the image (#1028)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-10-09 10:35:36 +02:00
Cosmin Cojocar 53fc0c3c83 Update to go version 1.21.2 and 1.20.9 (#1027)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-10-09 09:35:41 +02:00
Cosmin Cojocar 6c93653a29 Fix hardcoded_credentials rule to only match on more specific patterns (#1009)
* Fix hardcoded_credentials rule to only match on more specific patterns

Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>

* Fix lint warnings

Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>

* Fix double escape in regexps

Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>

---------

Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-09-05 18:00:02 +02:00
Cosmin Cojocar beef1250a4 Exclude maps from slince bounce check rule (#1006)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-08-23 17:17:14 +02:00
Cosmin Cojocar 6a2c5e16a1 Update cosign to version v2.1.1 (#1000)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-08-17 09:53:01 +02:00
Cosmin Cojocar a89e9d5a7a Enable go 1.21.0 in the CI build (#998)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-08-14 09:59:18 +02:00
Cosmin Cojocar 7d51bfe004 Update to go version 1.20.7 and 1.19.12 (#993)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-08-07 10:05:55 +02:00
Cosmin Cojocar fc570b6f1a Add a new flag terse to show only the results and summary (#986)
The new flag '-terse' will only show the results and summary ignoring any logs occured during a scan.

Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-07-18 16:21:22 +02:00
Cosmin Cojocar 36f69332a4 Switch to a maintained fork of zxcvbn module (#984)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-07-17 12:47:26 +02:00
Cosmin Cojocar ed7b33420e Fix dependencies after bot update (#983)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-07-17 10:25:11 +02:00
Cosmin Cojocar 3a6fd99e54 Update to Go version 1.19.11 and 1.20.6 (#981)
Signed-off-by: Cosmin Cojocar <gcojocar@adobe.com>
2023-07-13 09:53:11 +02:00