SYMBOL INDEX (1183 symbols across 159 files) FILE: analyzer.go constant LoadMode (line 54) | LoadMode = packages.NeedName | constant externalSuppressionJustification (line 67) | externalSuppressionJustification = "Globally suppressed." constant aliasOfAllRules (line 68) | aliasOfAllRules = "*" constant directivePrefix (line 69) | directivePrefix = "//gosec:disable" type ignore (line 72) | type ignore struct type ignores (line 78) | type ignores method parseLine (line 84) | func (i ignores) parseLine(line string) (int, int) { method add (line 99) | func (i ignores) add(file string, line string, suppressions map[string... method get (line 134) | func (i ignores) get(file string, line string) map[string][]issue.Supp... function newIgnores (line 80) | func newIgnores() ignores { type Context (line 149) | type Context struct method GetFileAtNodePos (line 164) | func (ctx *Context) GetFileAtNodePos(node ast.Node) *token.File { method NewIssue (line 169) | func (ctx *Context) NewIssue(node ast.Node, ruleID, desc string, type Metrics (line 176) | type Metrics struct method Merge (line 184) | func (m *Metrics) Merge(other *Metrics) { type Analyzer (line 196) | type Analyzer struct method SetConfig (line 255) | func (gosec *Analyzer) SetConfig(conf Config) { method Config (line 260) | func (gosec *Analyzer) Config() Config { method LoadRules (line 266) | func (gosec *Analyzer) LoadRules(ruleDefinitions map[string]RuleBuilde... method buildPackageRuleset (line 284) | func (gosec *Analyzer) buildPackageRuleset() RuleSet { method LoadAnalyzers (line 295) | func (gosec *Analyzer) LoadAnalyzers(analyzerDefinitions map[string]an... method Process (line 303) | func (gosec *Analyzer) Process(buildTags []string, packagePaths ...str... method load (line 419) | func (gosec *Analyzer) load(pkgPath string, buildTags []string) ([]*pa... method CheckRules (line 471) | func (gosec *Analyzer) CheckRules(pkg *packages.Package) { method checkRules (line 482) | func (gosec *Analyzer) checkRules(pkg *packages.Package) ([]*issue.Iss... method CheckAnalyzers (line 563) | func (gosec *Analyzer) CheckAnalyzers(pkg *packages.Package) { method checkAnalyzers (line 571) | func (gosec *Analyzer) checkAnalyzers(pkg *packages.Package, allIgnore... method CheckAnalyzersWithSSA (line 596) | func (gosec *Analyzer) CheckAnalyzersWithSSA(pkg *packages.Package, ss... method checkAnalyzersWithSSA (line 603) | func (gosec *Analyzer) checkAnalyzersWithSSA(pkg *packages.Package, ss... method generatedFiles (line 680) | func (gosec *Analyzer) generatedFiles(pkg *packages.Package) map[strin... method buildSSA (line 696) | func (gosec *Analyzer) buildSSA(pkg *packages.Package) (*buildssa.SSA,... method AppendError (line 788) | func (gosec *Analyzer) AppendError(file string, err error) { method updateIssues (line 1025) | func (gosec *Analyzer) updateIssues(issue *issue.Issue, issues []*issu... method Report (line 1064) | func (gosec *Analyzer) Report() ([]*issue.Issue, *Metrics, map[string]... method Reset (line 1069) | func (gosec *Analyzer) Reset() { function NewAnalyzer (line 224) | func NewAnalyzer(conf Config, tests bool, excludeGenerated bool, trackSu... function ParseErrors (line 759) | func ParseErrors(pkg *packages.Package) (map[string][]Error, error) { function findNoSecDirective (line 805) | func findNoSecDirective(group *ast.CommentGroup, noSecDefaultTag, noSecA... function findNoSecTag (line 832) | func findNoSecTag(text, tag string) (bool, string) { type astVisitor (line 858) | type astVisitor struct method activeRuleset (line 875) | func (v *astVisitor) activeRuleset() *RuleSet { method Visit (line 882) | func (v *astVisitor) Visit(n ast.Node) ast.Visitor { method updateIgnores (line 901) | func (v *astVisitor) updateIgnores() { method updateIgnoredRulesForNode (line 908) | func (v *astVisitor) updateIgnoredRulesForNode(n ast.Node) { method ignore (line 944) | func (v *astVisitor) ignore(n ast.Node) (map[string]issue.SuppressionI... function getSuppressions (line 1045) | func getSuppressions(ignores ignores, file, line, ruleID string, ruleset... FILE: analyzer_bench_test.go function BenchmarkTaintPackageAnalyzers_SharedCache (line 17) | func BenchmarkTaintPackageAnalyzers_SharedCache(b *testing.B) { function createTaintBenchmarkPackage (line 43) | func createTaintBenchmarkPackage(b *testing.B, source string) *packages.... function generateTaintStressProgram (line 81) | func generateTaintStressProgram(functionCount int) string { FILE: analyzer_core_internal_test.go function TestCheckAnalyzersShortCircuitsWithoutAnalyzers (line 17) | func TestCheckAnalyzersShortCircuitsWithoutAnalyzers(t *testing.T) { function TestCheckAnalyzersHandlesSSABuildFailure (line 34) | func TestCheckAnalyzersHandlesSSABuildFailure(t *testing.T) { function TestCheckAnalyzersWithSSAWrapperMergesIssues (line 51) | func TestCheckAnalyzersWithSSAWrapperMergesIssues(t *testing.T) { function TestBuildSSANilPackage (line 81) | func TestBuildSSANilPackage(t *testing.T) { function TestBuildSSATypeInfoValidation (line 94) | func TestBuildSSATypeInfoValidation(t *testing.T) { function TestBuildSSAIllTypedPackage (line 111) | func TestBuildSSAIllTypedPackage(t *testing.T) { FILE: analyzers/analyzers_set.go type AnalyzerSet (line 19) | type AnalyzerSet struct method Register (line 30) | func (a *AnalyzerSet) Register(analyzer *analysis.Analyzer, isSuppress... method IsSuppressed (line 36) | func (a *AnalyzerSet) IsSuppressed(ruleID string) bool { function NewAnalyzerSet (line 25) | func NewAnalyzerSet() *AnalyzerSet { FILE: analyzers/analyzers_set_test.go function TestNewAnalyzerSet (line 11) | func TestNewAnalyzerSet(t *testing.T) { function TestAnalyzerSet_Register (line 20) | func TestAnalyzerSet_Register(t *testing.T) { function TestAnalyzerSet_RegisterSuppressed (line 34) | func TestAnalyzerSet_RegisterSuppressed(t *testing.T) { function TestAnalyzerSet_RegisterMultiple (line 47) | func TestAnalyzerSet_RegisterMultiple(t *testing.T) { function TestAnalyzerSet_IsSuppressed (line 64) | func TestAnalyzerSet_IsSuppressed(t *testing.T) { function TestAnalyzerSet_IsSuppressed_NonExistent (line 77) | func TestAnalyzerSet_IsSuppressed_NonExistent(t *testing.T) { function TestAnalyzerSet_PreservesOrder (line 84) | func TestAnalyzerSet_PreservesOrder(t *testing.T) { function TestAnalyzerSet_EmptySet (line 101) | func TestAnalyzerSet_EmptySet(t *testing.T) { function TestAnalyzerSet_RegisterSameAnalyzerTwice (line 109) | func TestAnalyzerSet_RegisterSameAnalyzerTwice(t *testing.T) { FILE: analyzers/analyzerslist.go type AnalyzerDefinition (line 25) | type AnalyzerDefinition struct type AnalyzerBuilder (line 32) | type AnalyzerBuilder type AnalyzerList (line 109) | type AnalyzerList struct method AnalyzersInfo (line 116) | func (al *AnalyzerList) AnalyzersInfo() (map[string]AnalyzerDefinition... type AnalyzerFilter (line 126) | type AnalyzerFilter function NewAnalyzerFilter (line 130) | func NewAnalyzerFilter(action bool, analyzerIDs ...string) AnalyzerFilter { function Generate (line 168) | func Generate(trackSuppressions bool, filters ...AnalyzerFilter) *Analyz... function DefaultTaintAnalyzers (line 191) | func DefaultTaintAnalyzers() []*analysis.Analyzer { FILE: analyzers/analyzerslist_test.go function TestTaintAnalyzerConstructors (line 22) | func TestTaintAnalyzerConstructors(t *testing.T) { function TestDefaultAnalyzersIncludeTaint (line 121) | func TestDefaultAnalyzersIncludeTaint(t *testing.T) { function TestGenerateIncludesTaintAnalyzers (line 137) | func TestGenerateIncludesTaintAnalyzers(t *testing.T) { function TestGenerateExcludeTaintAnalyzers (line 150) | func TestGenerateExcludeTaintAnalyzers(t *testing.T) { function TestNewAnalyzerFilter (line 169) | func TestNewAnalyzerFilter(t *testing.T) { function TestGenerateWithMultipleFilters (line 212) | func TestGenerateWithMultipleFilters(t *testing.T) { function TestGenerateWithTrackSuppressions (line 230) | func TestGenerateWithTrackSuppressions(t *testing.T) { function TestGenerateNoFilters (line 263) | func TestGenerateNoFilters(t *testing.T) { function TestAnalyzerList_AnalyzersInfo (line 280) | func TestAnalyzerList_AnalyzersInfo(t *testing.T) { function TestDefaultTaintAnalyzers (line 302) | func TestDefaultTaintAnalyzers(t *testing.T) { function TestBuildDefaultAnalyzers (line 338) | func TestBuildDefaultAnalyzers(t *testing.T) { function TestTaintRuleConstants (line 366) | func TestTaintRuleConstants(t *testing.T) { FILE: analyzers/anaylzers_suite_test.go function TestAnalyzers (line 10) | func TestAnalyzers(t *testing.T) { FILE: analyzers/bench_test.go function benchmarkAnalyzerStress (line 21) | func benchmarkAnalyzerStress(b *testing.B, analyzerID string, generator ... function generateG115Deep (line 127) | func generateG115Deep(nesting, conversions int) string { function generateG602Wide (line 143) | func generateG602Wide(levels, accesses int) string { function generateG407Stress (line 158) | func generateG407Stress(depth int) string { function BenchmarkAnalysisG115_Deep (line 177) | func BenchmarkAnalysisG115_Deep(b *testing.B) { function BenchmarkAnalysisG602_Wide (line 181) | func BenchmarkAnalysisG602_Wide(b *testing.B) { function BenchmarkAnalysisG407_Deep (line 185) | func BenchmarkAnalysisG407_Deep(b *testing.B) { function generateComplex (line 189) | func generateComplex(functions, complexity int) string { function BenchmarkAnalysisG115_Complex (line 235) | func BenchmarkAnalysisG115_Complex(b *testing.B) { function BenchmarkAnalysisG602_Complex (line 239) | func BenchmarkAnalysisG602_Complex(b *testing.B) { function BenchmarkAnalysisG407_Complex (line 243) | func BenchmarkAnalysisG407_Complex(b *testing.B) { FILE: analyzers/commandinjection.go function CommandInjection (line 24) | func CommandInjection() taint.Config { function newCommandInjectionAnalyzer (line 54) | func newCommandInjectionAnalyzer(id string, description string) *analysi... FILE: analyzers/context_propagation.go constant contextPkgPath (line 30) | contextPkgPath = "context" constant httpPkgPath (line 31) | httpPkgPath = "net/http" constant msgContextBackground (line 33) | msgContextBackground = "Goroutine uses context.Background/TODO while req... constant msgLostCancel (line 34) | msgLostCancel = "context cancellation function returned by WithCa... constant msgLoopWithoutDone (line 35) | msgLoopWithoutDone = "Long-running loop performs calls without a ctx.D... function newContextPropagationAnalyzer (line 38) | func newContextPropagationAnalyzer(id string, description string) *analy... type contextPropagationState (line 47) | type contextPropagationState struct method addIssue (line 61) | func (s *contextPropagationState) addIssue(pos token.Pos, what string,... method detectUnsafeGoroutines (line 180) | func (s *contextPropagationState) detectUnsafeGoroutines(fn *ssa.Funct... method detectLostCancel (line 215) | func (s *contextPropagationState) detectLostCancel(fn *ssa.Function) { method detectLoopsWithoutCancellationGuard (line 244) | func (s *contextPropagationState) detectLoopsWithoutCancellationGuard(... function newContextPropagationState (line 53) | func newContextPropagationState(pass *analysis.Pass, funcs []*ssa.Functi... function runContextPropagationAnalysis (line 71) | func runContextPropagationAnalysis(pass *analysis.Pass) (any, error) { function functionHasRequestContext (line 108) | func functionHasRequestContext(fn *ssa.Function) bool { function collectContextValues (line 130) | func collectContextValues(fn *ssa.Function) map[ssa.Value]struct{} { type blockFeatures (line 289) | type blockFeatures struct function analyzeBlockFeatures (line 294) | func analyzeBlockFeatures(block *ssa.BasicBlock) blockFeatures { type loopRegion (line 327) | type loopRegion struct function findLoopRegions (line 333) | func findLoopRegions(fn *ssa.Function) []loopRegion { function isLoopSCC (line 440) | func isLoopSCC(scc []*ssa.BasicBlock, sccSet map[*ssa.BasicBlock]bool) b... function looksLikeBlockingCall (line 456) | func looksLikeBlockingCall(common *ssa.CallCommon) bool { function resolveGoCallTargets (line 509) | func resolveGoCallTargets(goInstr *ssa.Go) []*ssa.Function { function safeReferrers (line 525) | func safeReferrers(v ssa.Value) []ssa.Instruction { function functionCallsBackground (line 536) | func functionCallsBackground(fn *ssa.Function) bool { function isBackgroundOrTodoValue (line 558) | func isBackgroundOrTodoValue(v ssa.Value) bool { function isBackgroundOrTodoCall (line 566) | func isBackgroundOrTodoCall(common *ssa.CallCommon) bool { function isContextWithFamily (line 585) | func isContextWithFamily(common *ssa.CallCommon) bool { function isHTTPRequestContextCall (line 604) | func isHTTPRequestContextCall(common *ssa.CallCommon) bool { function isContextDoneCall (line 623) | func isContextDoneCall(common *ssa.CallCommon) bool { function findCancelResult (line 644) | func findCancelResult(tupleCall *ssa.Call) ssa.Value { function isCancelFuncType (line 665) | func isCancelFuncType(t types.Type) bool { function isCancelCalled (line 676) | func isCancelCalled(cancelValue ssa.Value, allFuncs []*ssa.Function) bool { function isStructFieldReturnedFromFunc (line 780) | func isStructFieldReturnedFromFunc(fa *ssa.FieldAddr) bool { function isFieldCalledInAnyFunc (line 810) | func isFieldCalledInAnyFunc(fa *ssa.FieldAddr, allFuncs []*ssa.Function)... function isGlobalCalledInAnyFunc (line 844) | func isGlobalCalledInAnyFunc(global *ssa.Global, allFuncs []*ssa.Functio... function isValueCalled (line 882) | func isValueCalled(value ssa.Value) bool { function isCancelCalledViaStructField (line 963) | func isCancelCalledViaStructField(storeFA *ssa.FieldAddr, allFuncs []*ss... function reachesParam (line 1006) | func reachesParam(v ssa.Value, param *ssa.Parameter) bool { function reachesParamImpl (line 1011) | func reachesParamImpl(v ssa.Value, param *ssa.Parameter, seen map[ssa.Va... function isFieldValueCalled (line 1037) | func isFieldValueCalled(fa *ssa.FieldAddr) bool { function isUsedInCall (line 1090) | func isUsedInCall(common *ssa.CallCommon, target ssa.Value) bool { function isContextType (line 1105) | func isContextType(t types.Type) bool { function isHTTPRequestPointerType (line 1132) | func isHTTPRequestPointerType(t types.Type) bool { FILE: analyzers/conversion_overflow.go function newConversionOverflowAnalyzer (line 31) | func newConversionOverflowAnalyzer(id string, description string) *analy... type conversionPair (line 40) | type conversionPair struct type overflowState (line 45) | type overflowState struct method isSafeConversion (line 124) | func (s *overflowState) isSafeConversion(instr *ssa.Convert, dstInt In... method hasRangeCheck (line 144) | func (s *overflowState) hasRangeCheck(v ssa.Value, dstInt IntTypeInfo,... method validateRangeLimits (line 182) | func (s *overflowState) validateRangeLimits(v ssa.Value, res *rangeRes... method isSafeFromPredecessor (line 247) | func (s *overflowState) isSafeFromPredecessor(v ssa.Value, dstInt IntT... method isSafeIfEdgeResult (line 292) | func (s *overflowState) isSafeIfEdgeResult(v ssa.Value, dstInt IntType... function newOverflowState (line 50) | func newOverflowState(pass *analysis.Pass) *overflowState { function runConversionOverflow (line 58) | func runConversionOverflow(pass *analysis.Pass) (any, error) { function hasOverflow (line 139) | func hasOverflow(srcInfo, dstInfo IntTypeInfo) bool { function signedMinForUnsignedSize (line 233) | func signedMinForUnsignedSize(size int) int64 { function signedMaxForUnsignedSize (line 240) | func signedMaxForUnsignedSize(size int) int64 { FILE: analyzers/conversion_overflow_test.go function checkOverflow (line 63) | func checkOverflow(srcKind, dstKind types.BasicKind) bool { FILE: analyzers/cors_bypass_pattern.go constant msgOverbroadBypassPattern (line 31) | msgOverbroadBypassPattern = "Overbroad AddInsecureBypassPattern disables... constant msgRequestBypassPattern (line 32) | msgRequestBypassPattern = "AddInsecureBypassPattern argument derived f... function newCORSBypassPatternAnalyzer (line 35) | func newCORSBypassPatternAnalyzer(id string, description string) *analys... function runCORSBypassPatternAnalysis (line 44) | func runCORSBypassPatternAnalysis(pass *analysis.Pass) (any, error) { function addG121Issue (line 102) | func addG121Issue(issues map[token.Pos]*issue.Issue, pass *analysis.Pass... function findHTTPRequestParam (line 112) | func findHTTPRequestParam(fn *ssa.Function) *ssa.Parameter { function isAddInsecureBypassPatternCall (line 127) | func isAddInsecureBypassPatternCall(call *ssa.CallCommon) bool { function isCrossOriginProtectionType (line 141) | func isCrossOriginProtectionType(t types.Type) bool { function extractStringValue (line 158) | func extractStringValue(v ssa.Value, depth int) (string, bool) { function isOverbroadBypassPattern (line 198) | func isOverbroadBypassPattern(pattern string) bool { FILE: analyzers/dependency_checker.go type dependencyKey (line 19) | type dependencyKey struct type dependencyChecker (line 24) | type dependencyChecker struct method dependsOn (line 36) | func (c *dependencyChecker) dependsOn(value ssa.Value, target ssa.Valu... method dependsOnDepth (line 40) | func (c *dependencyChecker) dependsOnDepth(value ssa.Value, target ssa... function newDependencyChecker (line 29) | func newDependencyChecker() *dependencyChecker { FILE: analyzers/dependency_checker_internal_test.go function TestDependencyCheckerHandlesPhiCycleWithoutTarget (line 11) | func TestDependencyCheckerHandlesPhiCycleWithoutTarget(t *testing.T) { function TestDependencyCheckerFindsTargetInPhiCycle (line 27) | func TestDependencyCheckerFindsTargetInPhiCycle(t *testing.T) { function TestValueDependsOnHandlesPhiCycleWithoutTarget (line 47) | func TestValueDependsOnHandlesPhiCycleWithoutTarget(t *testing.T) { function TestValueDependsOnFindsTargetInPhiCycle (line 62) | func TestValueDependsOnFindsTargetInPhiCycle(t *testing.T) { function TestValueDependsOnSelfReferentialPhi (line 81) | func TestValueDependsOnSelfReferentialPhi(t *testing.T) { FILE: analyzers/form_parsing_limits.go function FormParsingLimits (line 29) | func FormParsingLimits() taint.Config { function newFormParsingLimitAnalyzer (line 46) | func newFormParsingLimitAnalyzer(id string, description string) *analysi... FILE: analyzers/hardcoded_nonce.go constant defaultIssueDescription (line 33) | defaultIssueDescription = "Use of hardcoded IV/nonce for encryption" constant statusVisiting (line 68) | statusVisiting = 1 << 0 constant statusHard (line 69) | statusHard = 1 << 1 constant statusDyn (line 70) | statusDyn = 1 << 2 function newHardCodedNonce (line 73) | func newHardCodedNonce(id string, description string) *analysis.Analyzer { function runHardCodedNonce (line 82) | func runHardCodedNonce(pass *analysis.Pass) (any, error) { type analysisState (line 104) | type analysisState struct method Release (line 140) | func (s *analysisState) Release() { method getInitialArgs (line 166) | func (s *analysisState) getInitialArgs(tracked map[string][]int) []ssa... method raiseIssue (line 225) | func (s *analysisState) raiseIssue(val ssa.Value, issueDescription str... method isHardcoded (line 351) | func (s *analysisState) isHardcoded(val ssa.Value) bool { method isFuncReturnsHardcoded (line 417) | func (s *analysisState) isFuncReturnsHardcoded(fn *ssa.Function) bool { method analyzeUsage (line 432) | func (s *analysisState) analyzeUsage(val ssa.Value) uint8 { method analyzeReferrer (line 506) | func (s *analysisState) analyzeReferrer(ref ssa.Instruction, val ssa.V... method allTaintedEventsCovered (line 618) | func (s *analysisState) allTaintedEventsCovered(val ssa.Value, usage s... method collectTaintedEvents (line 738) | func (s *analysisState) collectTaintedEvents(val ssa.Value, usage ssa.... method collectCoveredRanges (line 783) | func (s *analysisState) collectCoveredRanges(val ssa.Value, usage ssa.... method isFullDynamicRead (line 823) | func (s *analysisState) isFullDynamicRead(ref ssa.Instruction, val ssa... method resolveAbsoluteRange (line 874) | func (s *analysisState) resolveAbsoluteRange(val ssa.Value) (ByteRange... type ssaValueAndInstr (line 124) | type ssaValueAndInstr struct function newAnalysisState (line 129) | func newAnalysisState(pass *analysis.Pass, funcs []*ssa.Function) *analy... function isAEADOpenCall (line 155) | func isAEADOpenCall(c *ssa.Call) bool { FILE: analyzers/insecure_cookie.go function newInsecureCookieAnalyzer (line 30) | func newInsecureCookieAnalyzer(id string, description string) *analysis.... type cookieState (line 40) | type cookieState struct type insecureCookieState (line 51) | type insecureCookieState struct method trackCookieFieldStore (line 102) | func (s *insecureCookieState) trackCookieFieldStore(store *ssa.Store) { method getOrCreateCookieState (line 147) | func (s *insecureCookieState) getOrCreateCookieState(root ssa.Value) *... method reportInsecureCookies (line 156) | func (s *insecureCookieState) reportInsecureCookies() { method addIssue (line 180) | func (s *insecureCookieState) addIssue(pos token.Pos, msg string) { function newInsecureCookieState (line 57) | func newInsecureCookieState(pass *analysis.Pass) *insecureCookieState { function runInsecureCookieAnalysis (line 65) | func runInsecureCookieAnalysis(pass *analysis.Pass) (any, error) { function isHTTPCookiePointerType (line 191) | func isHTTPCookiePointerType(t types.Type) bool { function httpCookieFieldName (line 209) | func httpCookieFieldName(fieldAddr *ssa.FieldAddr) (string, bool) { function cookieRoot (line 233) | func cookieRoot(v ssa.Value, depth int) ssa.Value { function intConstValue (line 260) | func intConstValue(c *ssa.Const) (int64, bool) { FILE: analyzers/loginjection.go function LogInjection (line 24) | func LogInjection() taint.Config { function newLogInjectionAnalyzer (line 82) | func newLogInjectionAnalyzer(id string, description string) *analysis.An... FILE: analyzers/pathtraversal.go function PathTraversal (line 24) | func PathTraversal() taint.Config { function newPathTraversalAnalyzer (line 94) | func newPathTraversalAnalyzer(id string, description string) *analysis.A... FILE: analyzers/range_analyzer.go type ByteRange (line 31) | type ByteRange struct type RangeAction (line 37) | type RangeAction struct type rangeCacheKey (line 43) | type rangeCacheKey struct type rangeResult (line 48) | type rangeResult struct method Reset (line 84) | func (res *rangeResult) Reset() { method CopyFrom (line 95) | func (res *rangeResult) CopyFrom(other *rangeResult) { type RangeAnalyzer (line 59) | type RangeAnalyzer struct method Release (line 111) | func (ra *RangeAnalyzer) Release() { method ResetCache (line 116) | func (ra *RangeAnalyzer) ResetCache() { method acquireResult (line 130) | func (ra *RangeAnalyzer) acquireResult() *rangeResult { method releaseResult (line 143) | func (ra *RangeAnalyzer) releaseResult(res *rangeResult) { method ResolveRange (line 150) | func (ra *RangeAnalyzer) ResolveRange(v ssa.Value, block *ssa.BasicBlo... method IsReachable (line 262) | func (ra *RangeAnalyzer) IsReachable(start, target *ssa.BasicBlock, ex... method getResultRangeForIfEdge (line 294) | func (ra *RangeAnalyzer) getResultRangeForIfEdge(vIf *ssa.If, isTrue b... method updateResultFromBinOpForValue (line 304) | func (ra *RangeAnalyzer) updateResultFromBinOpForValue(result *rangeRe... method IsNonNegative (line 482) | func (ra *RangeAnalyzer) IsNonNegative(v ssa.Value) bool { method isNonNegativeRecursive (line 487) | func (ra *RangeAnalyzer) isNonNegativeRecursive(v ssa.Value) bool { method ComputeRange (line 568) | func (ra *RangeAnalyzer) ComputeRange(v ssa.Value, block *ssa.BasicBlo... method ResolveByteRange (line 1055) | func (ra *RangeAnalyzer) ResolveByteRange(val ssa.Value) (ByteRange, b... method recursiveByteRange (line 1075) | func (ra *RangeAnalyzer) recursiveByteRange(val ssa.Value) (ByteRange,... method BufferedLen (line 1182) | func (ra *RangeAnalyzer) BufferedLen(val ssa.Value) int64 { method Precedes (line 1193) | func (ra *RangeAnalyzer) Precedes(a, b ssa.Instruction) bool { method resolveAllocRange (line 1384) | func (ra *RangeAnalyzer) resolveAllocRange(alloc *ssa.Alloc, block *ss... function NewRangeAnalyzer (line 106) | func NewRangeAnalyzer() *RangeAnalyzer { function IsRangeCheck (line 1213) | func IsRangeCheck(v ssa.Value, x ssa.Value) bool { function updateExplicitValues (line 1237) | func updateExplicitValues(result *rangeResult, val int64) { function updateMinMaxForLessOrEqual (line 1250) | func updateMinMaxForLessOrEqual(result *rangeResult, val int64, op token... function updateMinMaxForGreaterOrEqual (line 1269) | func updateMinMaxForGreaterOrEqual(result *rangeResult, val int64, op to... function constrainRange (line 1289) | func constrainRange(result *rangeResult, newVal uint64, isMin bool, isSr... function mergeRanges (line 1307) | func mergeRanges(ranges []ByteRange) []ByteRange { function subtractRange (line 1331) | func subtractRange(safe []ByteRange, taint ByteRange, dest *[]ByteRange) { function expandRange (line 1350) | func expandRange(result *rangeResult, newVal uint64, isMin bool, isSrcUn... FILE: analyzers/redirect_header_propagation.go constant msgUnsafeRedirectHeaderCopy (line 32) | msgUnsafeRedirectHeaderCopy = "Unsafe redirect policy may propagate sens... constant msgSensitiveRedirectHeader (line 33) | msgSensitiveRedirectHeader = "Sensitive headers should not be re-added ... function newRedirectHeaderPropagationAnalyzer (line 42) | func newRedirectHeaderPropagationAnalyzer(id string, description string)... function runRedirectHeaderPropagationAnalysis (line 51) | func runRedirectHeaderPropagationAnalysis(pass *analysis.Pass) (any, err... function collectAnalyzerFunctions (line 102) | func collectAnalyzerFunctions(srcFuncs []*ssa.Function) []*ssa.Function { function addRedirectIssue (line 153) | func addRedirectIssue(issues map[token.Pos]*issue.Issue, pass *analysis.... function findRedirectLikeParams (line 163) | func findRedirectLikeParams(fn *ssa.Function) (*ssa.Parameter, bool) { function isRequestSliceType (line 187) | func isRequestSliceType(t types.Type) bool { function isRequestHeaderStore (line 195) | func isRequestHeaderStore(store *ssa.Store, reqParam *ssa.Parameter) bool { function isRequestHeaderValue (line 210) | func isRequestHeaderValue(val ssa.Value, reqParam *ssa.Parameter) bool { function isHeaderMutationCall (line 220) | func isHeaderMutationCall(call *ssa.Call) bool { function isHTTPHeaderType (line 238) | func isHTTPHeaderType(t types.Type) bool { function extractStringConst (line 255) | func extractStringConst(v ssa.Value) string { function valueDependsOn (line 263) | func valueDependsOn(value ssa.Value, target ssa.Value, depth int) bool { FILE: analyzers/request_smuggling.go constant msgConflictingHeaders (line 32) | msgConflictingHeaders = "Setting both Transfer-Encoding and Content-Leng... function newRequestSmugglingAnalyzer (line 37) | func newRequestSmugglingAnalyzer(id string, description string) *analysi... function runRequestSmugglingAnalysis (line 48) | func runRequestSmugglingAnalysis(pass *analysis.Pass) (any, error) { type requestSmugglingState (line 80) | type requestSmugglingState struct method Release (line 103) | func (s *requestSmugglingState) Release() { method trackHeaderOperation (line 109) | func (s *requestSmugglingState) trackHeaderOperation(instr ssa.Instruc... method isHTTPHeaderSet (line 163) | func (s *requestSmugglingState) isHTTPHeaderSet(call *ssa.Call) bool { method extractStringConstant (line 200) | func (s *requestSmugglingState) extractStringConstant(val ssa.Value) s... method findResponseWriter (line 210) | func (s *requestSmugglingState) findResponseWriter(headerSetCall *ssa.... method isHeaderMethodCall (line 263) | func (s *requestSmugglingState) isHeaderMethodCall(call *ssa.Call) bool { method detectHeaderConflicts (line 279) | func (s *requestSmugglingState) detectHeaderConflicts() []*issue.Issue { type headerTracker (line 88) | type headerTracker struct function newRequestSmugglingState (line 95) | func newRequestSmugglingState(pass *analysis.Pass, funcs []*ssa.Function... FILE: analyzers/slice_bounds.go type bound (line 35) | type bound constant lowerUnbounded (line 38) | lowerUnbounded bound = iota constant upperUnbounded (line 39) | upperUnbounded constant unbounded (line 40) | unbounded constant upperBounded (line 41) | upperBounded constant bounded (line 42) | bounded function newSliceBoundsAnalyzer (line 45) | func newSliceBoundsAnalyzer(id string, description string) *analysis.Ana... type valOffset (line 54) | type valOffset struct type sliceBoundsState (line 59) | type sliceBoundsState struct method Release (line 99) | func (s *sliceBoundsState) Release() { method acquireTrackCacheValue (line 114) | func (s *sliceBoundsState) acquireTrackCacheValue() *trackCacheValue { method releaseTrackCacheValue (line 120) | func (s *sliceBoundsState) releaseTrackCacheValue(res *trackCacheValue) { method Reset (line 132) | func (s *sliceBoundsState) Reset() { method trackSliceBounds (line 505) | func (s *sliceBoundsState) trackSliceBounds(depth int, sliceCap int, s... method extractIntValueIndexAddr (line 575) | func (s *sliceBoundsState) extractIntValueIndexAddr(refinstr *ssa.Inde... method checkAllSlicesBounds (line 770) | func (s *sliceBoundsState) checkAllSlicesBounds(depth int, sliceCap in... type trackCacheKey (line 81) | type trackCacheKey struct type trackCacheValue (line 86) | type trackCacheValue struct method Reset (line 127) | func (v *trackCacheValue) Reset() { function newSliceBoundsState (line 91) | func newSliceBoundsState(pass *analysis.Pass) *sliceBoundsState { function runSliceBounds (line 142) | func runSliceBounds(pass *analysis.Pass) (result any, err error) { function extractLenBound (line 361) | func extractLenBound(binop *ssa.BinOp) (ssa.Value, int, bool) { function extractIndexOffset (line 452) | func extractIndexOffset(indexVal ssa.Value, loopVar ssa.Value) (int, boo... function decomposeIndex (line 482) | func decomposeIndex(v ssa.Value) (ssa.Value, int) { function extractSliceIfLenCondition (line 813) | func extractSliceIfLenCondition(call *ssa.Call) (*ssa.If, *ssa.BinOp) { function invBound (line 843) | func invBound(bound bound) bound { function extractBinOpBound (line 862) | func extractBinOpBound(binop *ssa.BinOp) (bound, int, error) { function isSliceIndexInsideBounds (line 913) | func isSliceIndexInsideBounds(h int, index int) bool { function extractArrayLen (line 918) | func extractArrayLen(t types.Type) (int, bool) { FILE: analyzers/slice_bounds_test.go function TestExtractBinOpBound_NilGuards (line 25) | func TestExtractBinOpBound_NilGuards(t *testing.T) { function TestExtractLenBound_NilGuards (line 40) | func TestExtractLenBound_NilGuards(t *testing.T) { function TestSliceBoundsNilSafety (line 55) | func TestSliceBoundsNilSafety(t *testing.T) { function TestInvBound (line 87) | func TestInvBound(t *testing.T) { FILE: analyzers/smtpinjection.go function SMTPInjection (line 24) | func SMTPInjection() taint.Config { function newSMTPInjectionAnalyzer (line 61) | func newSMTPInjectionAnalyzer(id string, description string) *analysis.A... FILE: analyzers/sqlinjection.go function SQLInjection (line 24) | func SQLInjection() taint.Config { function newSQLInjectionAnalyzer (line 67) | func newSQLInjectionAnalyzer(id string, description string) *analysis.An... FILE: analyzers/ssh_callback.go constant defaultSSHCallbackIssueDescription (line 28) | defaultSSHCallbackIssueDescription = "Stateful misuse of ssh.PublicKeyCa... function newSSHCallbackAnalyzer (line 32) | func newSSHCallbackAnalyzer(id string, description string) *analysis.Ana... type callbackInfo (line 42) | type callbackInfo struct function runSSHCallbackAnalysis (line 48) | func runSSHCallbackAnalysis(pass *analysis.Pass) (any, error) { type sshCallbackState (line 81) | type sshCallbackState struct method findCallbackAssignments (line 94) | func (s *sshCallbackState) findCallbackAssignments() []callbackInfo { method analyzeCallback (line 199) | func (s *sshCallbackState) analyzeCallback(cb callbackInfo) *issue.Iss... method hasWritesToCapturedVars (line 222) | func (s *sshCallbackState) hasWritesToCapturedVars(closure *ssa.Functi... method isWriteToCapturedVar (line 253) | func (s *sshCallbackState) isWriteToCapturedVar(instr ssa.Instruction,... method isStoreToCapturedVar (line 283) | func (s *sshCallbackState) isStoreToCapturedVar(store *ssa.Store, free... method isValueFromCapturedVar (line 342) | func (s *sshCallbackState) isValueFromCapturedVar(val ssa.Value, freeV... function newSSHCallbackState (line 86) | func newSSHCallbackState(pass *analysis.Pass, funcs []*ssa.Function) *ss... FILE: analyzers/ssrf.go function SSRF (line 24) | func SSRF() taint.Config { function newSSRFAnalyzer (line 75) | func newSSRFAnalyzer(id string, description string) *analysis.Analyzer { FILE: analyzers/ssti.go function SSTI (line 33) | func SSTI() taint.Config { function newSSTIAnalyzer (line 98) | func newSSTIAnalyzer(id string, description string) *analysis.Analyzer { FILE: analyzers/tls_resumption_verifypeer.go constant msgTLSResumptionVerifyPeerBypass (line 30) | msgTLSResumptionVerifyPeerBypass = "tls.Config uses VerifyPeerCertificat... function newTLSResumptionVerifyPeerAnalyzer (line 32) | func newTLSResumptionVerifyPeerAnalyzer(id string, description string) *... type tlsConfigState (line 41) | type tlsConfigState struct type tlsResumptionState (line 52) | type tlsResumptionState struct method trackTLSConfigFieldStore (line 103) | func (s *tlsResumptionState) trackTLSConfigFieldStore(store *ssa.Store) { method getOrCreateConfigState (line 154) | func (s *tlsResumptionState) getOrCreateConfigState(root ssa.Value) *t... method resolveFunctions (line 163) | func (s *tlsResumptionState) resolveFunctions(v ssa.Value) []*ssa.Func... method reportDirectTLSConfigs (line 187) | func (s *tlsResumptionState) reportDirectTLSConfigs() { method reportGetConfigForClientBypassCandidates (line 203) | func (s *tlsResumptionState) reportGetConfigForClientBypassCandidates() { method getConfigForClientReturnsRiskyTLSConfig (line 218) | func (s *tlsResumptionState) getConfigForClientReturnsRiskyTLSConfig(f... method extractTLSConfigsFromValue (line 248) | func (s *tlsResumptionState) extractTLSConfigsFromValue(v ssa.Value, v... method addIssue (line 284) | func (s *tlsResumptionState) addIssue(pos token.Pos) { function newTLSResumptionState (line 58) | func newTLSResumptionState(pass *analysis.Pass) *tlsResumptionState { function runTLSResumptionVerifyPeerAnalysis (line 66) | func runTLSResumptionVerifyPeerAnalysis(pass *analysis.Pass) (any, error) { function tlsConfigRoot (line 295) | func tlsConfigRoot(v ssa.Value, depth int) ssa.Value { function tlsConfigFieldName (line 324) | func tlsConfigFieldName(fieldAddr *ssa.FieldAddr) (string, bool) { function isTLSConfigPointerType (line 350) | func isTLSConfigPointerType(t types.Type) bool { function boolConstValue (line 368) | func boolConstValue(v ssa.Value) (bool, bool) { function isNilValue (line 379) | func isNilValue(v ssa.Value) bool { FILE: analyzers/unsafe_deserialization.go function UnsafeDeserialization (line 35) | func UnsafeDeserialization() taint.Config { function newUnsafeDeserializationAnalyzer (line 81) | func newUnsafeDeserializationAnalyzer(id string, description string) *an... FILE: analyzers/util.go constant MaxDepth (line 35) | MaxDepth = 20 constant minInt64 (line 38) | minInt64 = int64(math.MinInt64) constant maxUint64 (line 39) | maxUint64 = uint64(math.MaxUint64) constant maxInt64 (line 40) | maxInt64 = uint64(math.MaxInt64) type BaseAnalyzerState (line 48) | type BaseAnalyzerState struct method Reset (line 100) | func (s *BaseAnalyzerState) Reset() { method Release (line 112) | func (s *BaseAnalyzerState) Release() { method ResolveFuncs (line 141) | func (s *BaseAnalyzerState) ResolveFuncs(val ssa.Value, funcs *[]*ssa.... function NewBaseState (line 88) | func NewBaseState(pass *analysis.Pass) *BaseAnalyzerState { type IntTypeInfo (line 172) | type IntTypeInfo struct function isSliceInsideBounds (line 180) | func isSliceInsideBounds(l, h int, cl, ch int) bool { function isThreeIndexSliceInsideBounds (line 185) | func isThreeIndexSliceInsideBounds(l, h, maxIdx int, oldCap int) bool { function BuildDefaultAnalyzers (line 190) | func BuildDefaultAnalyzers() []*analysis.Analyzer { function newIssue (line 199) | func newIssue(analyzerID string, desc string, fileSet *token.FileSet, function issueCodeSnippet (line 223) | func issueCodeSnippet(fileSet *token.FileSet, pos token.Pos) string { function GetIntTypeInfo (line 245) | func GetIntTypeInfo(t types.Type) (IntTypeInfo, error) { function GetConstantInt64 (line 285) | func GetConstantInt64(v ssa.Value) (int64, bool) { function GetConstantUint64 (line 302) | func GetConstantUint64(v ssa.Value) (uint64, bool) { function GetSliceBounds (line 314) | func GetSliceBounds(s *ssa.Slice) (int, int, int) { function GetSliceRange (line 336) | func GetSliceRange(s *ssa.Slice) (int64, int64) { function ComputeSliceNewCap (line 354) | func ComputeSliceNewCap(l, h, maxIdx, oldCap int) int { function IsFullSlice (line 371) | func IsFullSlice(sl *ssa.Slice, bufferLen int64) bool { function IsSubSlice (line 383) | func IsSubSlice(sub, super *ssa.Slice) bool { function GetBufferLen (line 399) | func GetBufferLen(val ssa.Value) int64 { function BuildCallerMap (line 420) | func BuildCallerMap(funcs []*ssa.Function, callerMap map[string][]*ssa.C... function toUint64 (line 435) | func toUint64(i int64) uint64 { function toInt64 (line 440) | func toInt64(u uint64) int64 { function GetDominators (line 445) | func GetDominators(block *ssa.BasicBlock) []*ssa.BasicBlock { function IsConstantInTypeRange (line 460) | func IsConstantInTypeRange(constVal *ssa.Const, dstInt IntTypeInfo) bool { function ExplicitValsInRange (line 479) | func ExplicitValsInRange(pos []uint, neg []int, dstInt IntTypeInfo) bool { function TraverseSSA (line 494) | func TraverseSSA(funcs []*ssa.Function, visitor func(block *ssa.BasicBlo... type operationInfo (line 504) | type operationInfo struct function minBounds (line 511) | func minBounds(aVal uint64, aSet bool, bVal uint64, bSet bool, isSrcUnsi... function maxBounds (line 531) | func maxBounds(aVal uint64, aSet bool, bVal uint64, bSet bool, isSrcUnsi... function isUint (line 551) | func isUint(v ssa.Value) bool { function getRealValueFromOperation (line 559) | func getRealValueFromOperation(v ssa.Value) (ssa.Value, operationInfo) { function isEquivalent (line 596) | func isEquivalent(a, b ssa.Value) bool { function isSameOrRelated (line 624) | func isSameOrRelated(a, b ssa.Value) bool { FILE: analyzers/walk_symlink_race.go constant msgWalkSymlinkRace (line 29) | msgWalkSymlinkRace = "Filesystem operation in filepath.Walk/WalkDir call... function newWalkSymlinkRaceAnalyzer (line 31) | func newWalkSymlinkRaceAnalyzer(id string, description string) *analysis... function runWalkSymlinkRaceAnalysis (line 40) | func runWalkSymlinkRaceAnalysis(pass *analysis.Pass) (any, error) { type walkSymlinkRaceState (line 95) | type walkSymlinkRaceState struct method resolveFunctions (line 107) | func (s *walkSymlinkRaceState) resolveFunctions(v ssa.Value) []*ssa.Fu... method scanCallbackForRaceSinks (line 130) | func (s *walkSymlinkRaceState) scanCallbackForRaceSinks(fn *ssa.Functi... method addIssue (line 161) | func (s *walkSymlinkRaceState) addIssue(pos token.Pos) { function newWalkSymlinkRaceState (line 100) | func newWalkSymlinkRaceState(pass *analysis.Pass) *walkSymlinkRaceState { function walkCallbackArgIndex (line 171) | func walkCallbackArgIndex(common *ssa.CallCommon) (int, bool) { function filesystemSinkArgIndexes (line 193) | func filesystemSinkArgIndexes(common *ssa.CallCommon) ([]int, bool) { function isRootScopedFilesystemCall (line 225) | func isRootScopedFilesystemCall(callee *ssa.Function) bool { function isOSRootType (line 237) | func isOSRootType(t types.Type) bool { function isStringType (line 254) | func isStringType(t types.Type) bool { function pathDependsOn (line 262) | func pathDependsOn(value ssa.Value, target ssa.Value, depth int, visited... function storedValues (line 305) | func storedValues(ptr ssa.Value) []ssa.Value { FILE: analyzers/xss.go function XSS (line 24) | func XSS() taint.Config { function newXSSAnalyzer (line 109) | func newXSSAnalyzer(id string, description string) *analysis.Analyzer { FILE: autofix/ai.go constant AIProviderFlagHelp (line 14) | AIProviderFlagHelp = `AI API provider to generate auto fixes to issues. ... constant AIPrompt (line 19) | AIPrompt = `Provide a brief explanation and a solution to fix this secur... constant timeout (line 23) | timeout = 30 * time.Second type GenAIClient (line 26) | type GenAIClient interface function GenerateSolution (line 31) | func GenerateSolution(model, aiAPIKey, baseURL string, skipSSL bool, iss... function generateSolution (line 65) | func generateSolution(client GenAIClient, issues []*issue.Issue) error { FILE: autofix/ai_test.go type MockGenAIClient (line 16) | type MockGenAIClient struct method GenerateSolution (line 20) | func (m *MockGenAIClient) GenerateSolution(ctx context.Context, prompt... function TestGenerateSolutionByGemini_Success (line 25) | func TestGenerateSolutionByGemini_Success(t *testing.T) { function TestGenerateSolutionByGemini_NoCandidates (line 43) | func TestGenerateSolutionByGemini_NoCandidates(t *testing.T) { function TestGenerateSolutionByGemini_APIError (line 60) | func TestGenerateSolutionByGemini_APIError(t *testing.T) { function TestGenerateSolution_UnsupportedProvider (line 77) | func TestGenerateSolution_UnsupportedProvider(t *testing.T) { function TestGenerateSolution_CachesSameIssue (line 93) | func TestGenerateSolution_CachesSameIssue(t *testing.T) { function TestGenerateSolution_MultipleIssues (line 121) | func TestGenerateSolution_MultipleIssues(t *testing.T) { function TestGenerateSolution_EmptyIssues (line 145) | func TestGenerateSolution_EmptyIssues(t *testing.T) { function TestGenerateSolution_ClaudeProvider (line 158) | func TestGenerateSolution_ClaudeProvider(t *testing.T) { function TestGenerateSolution_GeminiProvider (line 170) | func TestGenerateSolution_GeminiProvider(t *testing.T) { function TestGenerateSolution_OpenAIProvider (line 182) | func TestGenerateSolution_OpenAIProvider(t *testing.T) { FILE: autofix/claude.go constant ModelClaudeOpus4_0 (line 13) | ModelClaudeOpus4_0 = anthropic.ModelClaudeOpus4_0 constant ModelClaudeOpus4_1 (line 14) | ModelClaudeOpus4_1 = anthropic.ModelClaudeOpus4_1_20250805 constant ModelClaudeSonnet4_0 (line 15) | ModelClaudeSonnet4_0 = anthropic.ModelClaudeSonnet4_0 constant ModelClaudeSonnet4_5 (line 16) | ModelClaudeSonnet4_5 = anthropic.ModelClaudeSonnet4_5_20250929 constant ModelClaudeHaiku4_5 (line 17) | ModelClaudeHaiku4_5 = anthropic.ModelClaudeHaiku4_5_20251001 type claudeWrapper (line 22) | type claudeWrapper struct method GenerateSolution (line 42) | func (c *claudeWrapper) GenerateSolution(ctx context.Context, prompt s... function NewClaudeClient (line 27) | func NewClaudeClient(model, apiKey string) (GenAIClient, error) { function parseAnthropicModel (line 65) | func parseAnthropicModel(model string) anthropic.Model { FILE: autofix/claude_test.go function TestParseAnthropicModel_AllModels (line 11) | func TestParseAnthropicModel_AllModels(t *testing.T) { function TestNewClaudeClient_WithModel (line 77) | func TestNewClaudeClient_WithModel(t *testing.T) { function TestNewClaudeClient_ModelMapping (line 124) | func TestNewClaudeClient_ModelMapping(t *testing.T) { function TestClaudeWrapper_ClientProperties (line 151) | func TestClaudeWrapper_ClientProperties(t *testing.T) { function TestClaudeModel_Constants (line 164) | func TestClaudeModel_Constants(t *testing.T) { function TestClaudeWrapper_ImplementsInterface (line 173) | func TestClaudeWrapper_ImplementsInterface(t *testing.T) { function TestNewClaudeClient_WithEmptyAPIKey (line 177) | func TestNewClaudeClient_WithEmptyAPIKey(t *testing.T) { function TestNewClaudeClient_AllSupportedModels (line 188) | func TestNewClaudeClient_AllSupportedModels(t *testing.T) { FILE: autofix/gemini.go type GenAIModel (line 12) | type GenAIModel constant ModelGeminiPro2_5 (line 15) | ModelGeminiPro2_5 GenAIModel = "gemini-2.5-pro" constant ModelGeminiFlash2_5 (line 16) | ModelGeminiFlash2_5 GenAIModel = "gemini-2.5-flash" constant ModelGeminiFlash2_5Lite (line 17) | ModelGeminiFlash2_5Lite GenAIModel = "gemini-2.5-flash-lite" constant ModelGeminiFlash2_0 (line 18) | ModelGeminiFlash2_0 GenAIModel = "gemini-2.0-flash" constant ModelGeminiFlash2_0Lite (line 19) | ModelGeminiFlash2_0Lite GenAIModel = "gemini-2.0-flash-lite" constant ModelGeminiFlash1_5 (line 21) | ModelGeminiFlash1_5 GenAIModel = "gemini-1.5-flash" type geminiWrapper (line 26) | type geminiWrapper struct method GenerateSolution (line 55) | func (g *geminiWrapper) GenerateSolution(ctx context.Context, prompt s... function NewGeminiClient (line 31) | func NewGeminiClient(model, apiKey string) (GenAIClient, error) { function parseGeminiModel (line 74) | func parseGeminiModel(model string) (GenAIModel, error) { FILE: autofix/gemini_test.go function TestParseGeminiModel_AllModels (line 10) | func TestParseGeminiModel_AllModels(t *testing.T) { function TestNewGeminiClient_WithModel (line 94) | func TestNewGeminiClient_WithModel(t *testing.T) { function TestNewGeminiClient_ModelMapping (line 152) | func TestNewGeminiClient_ModelMapping(t *testing.T) { function TestGeminiWrapper_ClientProperties (line 177) | func TestGeminiWrapper_ClientProperties(t *testing.T) { function TestGeminiModel_Constants (line 190) | func TestGeminiModel_Constants(t *testing.T) { FILE: autofix/openai.go constant ModelGPT4o (line 15) | ModelGPT4o = openai.ChatModelGPT4o constant ModelGPT4oMini (line 16) | ModelGPT4oMini = openai.ChatModelGPT4oMini constant DefaultOpenAIBaseURL (line 17) | DefaultOpenAIBaseURL = "https://api.openai.com/v1" type OpenAIConfig (line 22) | type OpenAIConfig struct type openaiWrapper (line 31) | type openaiWrapper struct method GenerateSolution (line 84) | func (o *openaiWrapper) GenerateSolution(ctx context.Context, prompt s... function NewOpenAIClient (line 38) | func NewOpenAIClient(config OpenAIConfig) (GenAIClient, error) { function parseOpenAIModel (line 111) | func parseOpenAIModel(model string) openai.ChatModel { FILE: autofix/openai_test.go function TestParseOpenAIModel_AllModels (line 11) | func TestParseOpenAIModel_AllModels(t *testing.T) { function TestNewOpenAIClient_WithBasicConfig (line 52) | func TestNewOpenAIClient_WithBasicConfig(t *testing.T) { function TestNewOpenAIClient_WithCustomBaseURL (line 101) | func TestNewOpenAIClient_WithCustomBaseURL(t *testing.T) { function TestNewOpenAIClient_WithSkipSSL (line 135) | func TestNewOpenAIClient_WithSkipSSL(t *testing.T) { function TestNewOpenAIClient_WithTokensAndTemperature (line 165) | func TestNewOpenAIClient_WithTokensAndTemperature(t *testing.T) { function TestNewOpenAIClient_ModelMapping (line 216) | func TestNewOpenAIClient_ModelMapping(t *testing.T) { function TestOpenAIWrapper_ClientProperties (line 243) | func TestOpenAIWrapper_ClientProperties(t *testing.T) { function TestOpenAIModel_Constants (line 267) | func TestOpenAIModel_Constants(t *testing.T) { function TestOpenAIWrapper_ImplementsInterface (line 274) | func TestOpenAIWrapper_ImplementsInterface(t *testing.T) { function TestNewOpenAIClient_CompleteConfig (line 278) | func TestNewOpenAIClient_CompleteConfig(t *testing.T) { function TestNewOpenAIClient_AllSupportedModels (line 298) | func TestNewOpenAIClient_AllSupportedModels(t *testing.T) { function TestNewOpenAIClient_OllamaCompatibility (line 317) | func TestNewOpenAIClient_OllamaCompatibility(t *testing.T) { function TestNewOpenAIClient_DefaultValues (line 334) | func TestNewOpenAIClient_DefaultValues(t *testing.T) { FILE: call_list.go constant vendorPath (line 21) | vendorPath = "vendor/" type set (line 23) | type set type CallList (line 27) | type CallList method AddAll (line 35) | func (c CallList) AddAll(selector string, idents ...string) { method Add (line 42) | func (c CallList) Add(selector, ident string) { method Contains (line 51) | func (c CallList) Contains(selector, ident string) bool { method ContainsPointer (line 61) | func (c CallList) ContainsPointer(selector, indent string) bool { method ContainsPkgCallExpr (line 74) | func (c CallList) ContainsPkgCallExpr(n ast.Node, ctx *Context, stripV... method ContainsCallExpr (line 108) | func (c CallList) ContainsCallExpr(n ast.Node, ctx *Context) *ast.Call... function NewCallList (line 30) | func NewCallList() CallList { FILE: cmd/gosec/main.go constant usageText (line 37) | usageText = ` constant aiAPIKeyEnv (line 69) | aiAPIKeyEnv = "GOSEC_AI_API_KEY" constant exitSuccess (line 72) | exitSuccess = 0 constant exitFailure (line 73) | exitFailure = 1 type arrayFlags (line 76) | type arrayFlags method String (line 78) | func (a *arrayFlags) String() string { method Set (line 82) | func (a *arrayFlags) Set(value string) error { function usage (line 190) | func usage() { function loadConfig (line 220) | func loadConfig(configFile string) (gosec.Config, error) { function loadRules (line 256) | func loadRules(include, exclude string) rules.RuleList { function loadAnalyzers (line 276) | func loadAnalyzers(include, exclude string) *analyzers.AnalyzerList { function getRootPaths (line 296) | func getRootPaths(paths []string) ([]string, error) { function getPrintedFormat (line 310) | func getPrintedFormat(format string, verbose string) string { function printReport (line 317) | func printReport(format string, color bool, rootPaths []string, reportIn... function saveReport (line 321) | func saveReport(filename, format string, rootPaths []string, reportInfo ... function convertToScore (line 330) | func convertToScore(value string) (issue.Score, error) { function filterIssues (line 344) | func filterIssues(issues []*issue.Issue, severity issue.Score, confidenc... function computeExitCode (line 359) | func computeExitCode(issues []*issue.Issue, errors map[string][]gosec.Er... function buildPathExclusionFilter (line 373) | func buildPathExclusionFilter(config gosec.Config, cliFlag string) (*gos... function main (line 393) | func main() { function run (line 397) | func run() int { FILE: cmd/gosec/profiling_debug.go type Profiler (line 23) | type Profiler struct method Start (line 46) | func (p *Profiler) Start() error { method Stop (line 70) | func (p *Profiler) Stop() { method writeMemoryProfile (line 91) | func (p *Profiler) writeMemoryProfile() error { function NewProfiler (line 33) | func NewProfiler(cpuProfile, memProfile string, logger *log.Logger) *Pro... function initProfiling (line 104) | func initProfiling(logger *log.Logger) (*Profiler, error) { function finishProfiling (line 113) | func finishProfiling(profiler *Profiler) { FILE: cmd/gosec/profiling_release.go type Profiler (line 8) | type Profiler struct function initProfiling (line 12) | func initProfiling(_ *log.Logger) (*Profiler, error) { function finishProfiling (line 18) | func finishProfiling(_ *Profiler) {} FILE: cmd/gosec/run_test.go function TestRun_NoInputReturnsFailure (line 13) | func TestRun_NoInputReturnsFailure(t *testing.T) { function TestRun_VersionReturnsSuccess (line 22) | func TestRun_VersionReturnsSuccess(t *testing.T) { function runInSubprocess (line 31) | func runInSubprocess(t *testing.T, scenario string) int { function TestRunHelperProcess (line 55) | func TestRunHelperProcess(t *testing.T) { FILE: cmd/gosec/sort_issues.go function extractLineNumber (line 13) | func extractLineNumber(s string) int { function sortIssues (line 19) | func sortIssues(issues []*issue.Issue) { FILE: cmd/gosec/sort_issues_test.go function createIssue (line 24) | func createIssue() issue.Issue { function TestRules (line 28) | func TestRules(t *testing.T) { function firstIsGreater (line 33) | func firstIsGreater(less, greater *issue.Issue) { FILE: cmd/gosec/version.go function prepareVersionInfo (line 16) | func prepareVersionInfo() { FILE: cmd/gosecutil/tools.go type command (line 30) | type command type utilities (line 31) | type utilities struct method String (line 50) | func (u *utilities) String() string { method Set (line 60) | func (u *utilities) Set(opt string) error { method run (line 68) | func (u *utilities) run(args ...string) { function newUtils (line 38) | func newUtils() *utilities { function shouldSkip (line 76) | func shouldSkip(path string) bool { function dumpAst (line 89) | func dumpAst(files ...string) { type context (line 110) | type context struct function createContext (line 119) | func createContext(filename string) *context { function printObject (line 148) | func printObject(obj types.Object) { function checkContext (line 165) | func checkContext(ctx *context, file string) bool { function dumpCallObj (line 174) | func dumpCallObj(files ...string) { function dumpUses (line 201) | func dumpUses(files ...string) { function dumpTypes (line 216) | func dumpTypes(files ...string) { function dumpDefs (line 231) | func dumpDefs(files ...string) { function dumpComments (line 246) | func dumpComments(files ...string) { function dumpImports (line 261) | func dumpImports(files ...string) { function main (line 279) | func main() { FILE: cmd/gosecutil/tools_test.go function TestGosecutil (line 15) | func TestGosecutil(t *testing.T) { FILE: cmd/tlsconfig/tls_version.go function mapTLSVersions (line 8) | func mapTLSVersions(tlsVersions []string) []int { FILE: cmd/tlsconfig/tlsconfig.go constant TLSConfURL (line 26) | TLSConfURL = "https://statics.tls.security.mozilla.org/server-side-tls-c... type ServerSideTLSJson (line 29) | type ServerSideTLSJson struct type Configuration (line 36) | type Configuration struct type goCipherConfiguration (line 54) | type goCipherConfiguration struct type goTLSConfiguration (line 61) | type goTLSConfiguration struct function getTLSConfFromURL (line 66) | func getTLSConfFromURL(url string) (*ServerSideTLSJson, error) { function getGoCipherConfig (line 82) | func getGoCipherConfig(name string, sstls ServerSideTLSJson) (goCipherCo... function getGoTLSConf (line 116) | func getGoTLSConf() (goTLSConfiguration, error) { function getCurrentDir (line 147) | func getCurrentDir() (string, error) { function main (line 161) | func main() { FILE: cmd/tlsconfig/tlsconfig_test.go function TestMapTLSVersions (line 13) | func TestMapTLSVersions(t *testing.T) { function TestGetTLSConfFromURL (line 23) | func TestGetTLSConfFromURL(t *testing.T) { function TestGetGoCipherConfig (line 64) | func TestGetGoCipherConfig(t *testing.T) { function TestGetCurrentDir (line 123) | func TestGetCurrentDir(t *testing.T) { FILE: cmd/vflag/flag.go type ValidatedFlag (line 9) | type ValidatedFlag struct method String (line 13) | func (f *ValidatedFlag) String() string { method Set (line 18) | func (f *ValidatedFlag) Set(value string) error { FILE: config.go constant Globals (line 13) | Globals = "global" constant ExcludeRulesKey (line 15) | ExcludeRulesKey = "exclude-rules" type GlobalOption (line 19) | type GlobalOption constant Nosec (line 23) | Nosec GlobalOption = "nosec" constant ShowIgnored (line 25) | ShowIgnored GlobalOption = "show-ignored" constant Audit (line 27) | Audit GlobalOption = "audit" constant NoSecAlternative (line 29) | NoSecAlternative GlobalOption = "#nosec" constant ExcludeRules (line 31) | ExcludeRules GlobalOption = "exclude" constant IncludeRules (line 33) | IncludeRules GlobalOption = "include" constant SSA (line 35) | SSA GlobalOption = "ssa" function NoSecTag (line 39) | func NoSecTag(tag string) string { type Config (line 44) | type Config method keyToGlobalOptions (line 55) | func (c Config) keyToGlobalOptions(key string) GlobalOption { method convertGlobals (line 59) | func (c Config) convertGlobals() { method ReadFrom (line 74) | func (c Config) ReadFrom(r io.Reader) (int64, error) { method WriteTo (line 88) | func (c Config) WriteTo(w io.Writer) (int64, error) { method Get (line 97) | func (c Config) Get(section string) (interface{}, error) { method Set (line 106) | func (c Config) Set(section string, value interface{}) { method GetGlobal (line 111) | func (c Config) GetGlobal(option GlobalOption) (string, error) { method SetGlobal (line 124) | func (c Config) SetGlobal(option GlobalOption, value string) { method IsGlobalEnabled (line 133) | func (c Config) IsGlobalEnabled(option GlobalOption) (bool, error) { method GetExcludeRules (line 143) | func (c Config) GetExcludeRules() ([]PathExcludeRule, error) { method SetExcludeRules (line 169) | func (c Config) SetExcludeRules(rules []PathExcludeRule) { function NewConfig (line 49) | func NewConfig() Config { FILE: cwe/cwe_suite_test.go function TestCwe (line 10) | func TestCwe(t *testing.T) { FILE: cwe/data.go constant Acronym (line 5) | Acronym = "CWE" constant Version (line 7) | Version = "4.4" constant ReleaseDateUtc (line 9) | ReleaseDateUtc = "2021-03-15" constant Organization (line 11) | Organization = "MITRE" constant Description (line 13) | Description = "The MITRE Common Weakness Enumeration" constant InformationURI (line 15) | InformationURI = "https://cwe.mitre.org/data/published/cwe_v" + Version ... constant DownloadURI (line 17) | DownloadURI = "https://cwe.mitre.org/data/xml/cwec_v" + Version + ".xml.... function Get (line 194) | func Get(id string) *Weakness { FILE: cwe/types.go type Weakness (line 9) | type Weakness struct method SprintURL (line 16) | func (w *Weakness) SprintURL() string { method SprintID (line 21) | func (w *Weakness) SprintID() string { method MarshalJSON (line 30) | func (w *Weakness) MarshalJSON() ([]byte, error) { FILE: errors.go type Error (line 8) | type Error struct function NewError (line 15) | func NewError(line, column int, err string) *Error { function sortErrors (line 24) | func sortErrors(allErrors map[string][]Error) { FILE: goanalysis/analyzer.go constant Doc (line 36) | Doc = `gosec is a static analysis tool that scans Go code for security p... function init (line 55) | func init() { function run (line 63) | func run(pass *analysis.Pass) (any, error) { function convertPassToPackage (line 138) | func convertPassToPackage(pass *analysis.Pass) *packages.Package { function buildFilters (line 158) | func buildFilters[T any](include, exclude string, newFilter func(bool, .... function parseRuleIDs (line 174) | func parseRuleIDs(s string) []string { function parseScore (line 186) | func parseScore(s string) (issue.Score, error) { function parsePosition (line 200) | func parsePosition(fset *token.FileSet, iss *issue.Issue) token.Pos { FILE: goanalysis/analyzer_internal_test.go function TestBuildFilters (line 29) | func TestBuildFilters(t *testing.T) { function TestParseRuleIDs (line 52) | func TestParseRuleIDs(t *testing.T) { function TestParseScore (line 64) | func TestParseScore(t *testing.T) { function TestParsePosition (line 94) | func TestParsePosition(t *testing.T) { function TestConvertPassToPackage (line 150) | func TestConvertPassToPackage(t *testing.T) { FILE: goanalysis/analyzer_test.go function TestAnalyzer (line 25) | func TestAnalyzer(t *testing.T) { FILE: goanalysis/testdata/src/a/basic_output.go function VulnerableFunction (line 9) | func VulnerableFunction() { function getUserInput (line 23) | func getUserInput() string { function SecureFunction (line 27) | func SecureFunction() { function IntegerOverflow (line 31) | func IntegerOverflow() { function SliceBounds (line 38) | func SliceBounds() { FILE: goanalysis/testdata/src/a/nosec.go function NosecVariants (line 9) | func NosecVariants() { FILE: gosec_cache.go type LRUCache (line 18) | type LRUCache struct type entry (line 25) | type entry struct function NewLRUCache (line 31) | func NewLRUCache[K comparable, V any](capacity int) *LRUCache[K, V] { method Get (line 41) | func (c *LRUCache[K, V]) Get(key K) (V, bool) { method Add (line 56) | func (c *LRUCache[K, V]) Add(key K, value V) { method removeOldest (line 75) | func (c *LRUCache[K, V]) removeOldest() { FILE: gosec_cache_test.go function TestLRUCache_AddGet (line 9) | func TestLRUCache_AddGet(t *testing.T) { function TestLRUCache_Miss (line 23) | func TestLRUCache_Miss(t *testing.T) { function TestLRUCache_Eviction (line 31) | func TestLRUCache_Eviction(t *testing.T) { function TestLRUCache_UpdateExisting (line 61) | func TestLRUCache_UpdateExisting(t *testing.T) { FILE: gosec_suite_test.go function TestGosec (line 10) | func TestGosec(t *testing.T) { FILE: helpers.go constant envGoModVersion (line 43) | envGoModVersion = "GOSECGOVERSION" function MatchCallByPackage (line 52) | func MatchCallByPackage(n ast.Node, c *Context, pkg string, names ...str... function MatchCompLit (line 78) | func MatchCompLit(n ast.Node, ctx *Context, required string) *ast.Compos... function GetInt (line 89) | func GetInt(n ast.Node) (int64, error) { function GetFloat (line 97) | func GetFloat(n ast.Node) (float64, error) { function GetChar (line 105) | func GetChar(n ast.Node) (byte, error) { function GetStringRecursive (line 124) | func GetStringRecursive(n ast.Node) (string, error) { function GetString (line 147) | func GetString(n ast.Node) (string, error) { function GetCallObject (line 158) | func GetCallObject(n ast.Node, ctx *Context) (*ast.CallExpr, types.Objec... type callInfo (line 171) | type callInfo struct function GetCallInfo (line 185) | func GetCallInfo(n ast.Node, ctx *Context) (string, string, error) { function getCallInfo (line 199) | func getCallInfo(n ast.Node, ctx *Context) (string, string, error) { function GetCallStringArgsValues (line 259) | func GetCallStringArgsValues(n ast.Node, _ *Context) []string { function getIdentStringValues (line 278) | func getIdentStringValues(ident *ast.Ident, stringFinder func(ast.Node) ... function GetIdentStringValuesRecursive (line 305) | func GetIdentStringValuesRecursive(ident *ast.Ident) []string { function GetIdentStringValues (line 310) | func GetIdentStringValues(ident *ast.Ident) []string { function GetBinaryExprOperands (line 316) | func GetBinaryExprOperands(be *ast.BinaryExpr) []ast.Node { function GetImportedNames (line 337) | func GetImportedNames(path string, ctx *Context) (names []string, found ... function GetImportPath (line 344) | func GetImportPath(name string, ctx *Context) (string, bool) { function GetLocation (line 359) | func GetLocation(n ast.Node, ctx *Context) (string, int) { function Gopath (line 365) | func Gopath() []string { function Getenv (line 382) | func Getenv(key, userDefault string) string { function GetPkgRelativePath (line 391) | func GetPkgRelativePath(path string) (string, error) { function GetPkgAbsPath (line 410) | func GetPkgAbsPath(pkgPath string) (string, error) { function ConcatString (line 424) | func ConcatString(expr ast.Expr, ctx *Context) (string, bool) { function FindVarIdentities (line 462) | func FindVarIdentities(n *ast.BinaryExpr, c *Context) ([]*ast.Ident, boo... function FindModuleRoot (line 500) | func FindModuleRoot(dir string) string { function PackagePaths (line 516) | func PackagePaths(root string, excludes []*regexp.Regexp) ([]string, err... function isExcluded (line 545) | func isExcluded(str string, excludes []*regexp.Regexp) bool { function ExcludedDirsRegExp (line 558) | func ExcludedDirsRegExp(excludedDirs []string) []*regexp.Regexp { function RootPath (line 569) | func RootPath(root string) (string, error) { function GoVersion (line 582) | func GoVersion() (int, int, int) { type goListOutput (line 600) | type goListOutput struct function goModVersion (line 604) | func goModVersion() (string, error) { function parseGoVersion (line 627) | func parseGoVersion(version string) (int, int, int) { function CLIBuildTags (line 645) | func CLIBuildTags(buildTags []string) []string { function ContainingFile (line 665) | func ContainingFile(p interface{ Pos() token.Pos }, ctx *Context) *ast.F... FILE: import_tracker.go type ImportTracker (line 27) | type ImportTracker struct method TrackFile (line 40) | func (t *ImportTracker) TrackFile(file *ast.File) { method TrackPackages (line 47) | func (t *ImportTracker) TrackPackages(pkgs ...*types.Package) { method TrackImport (line 54) | func (t *ImportTracker) TrackImport(imported *ast.ImportSpec) { function NewImportTracker (line 33) | func NewImportTracker() *ImportTracker { function importName (line 66) | func importName(importPath string) string { FILE: internal/ssautil/package_analysis_cache.go type PackageAnalysisCache (line 13) | type PackageAnalysisCache struct method CallGraph (line 27) | func (c *PackageAnalysisCache) CallGraph() *callgraph.Graph { function NewPackageAnalysisCache (line 21) | func NewPackageAnalysisCache(ssaResult *buildssa.SSA) *PackageAnalysisCa... FILE: internal/ssautil/package_analysis_cache_test.go function buildSSAFromSource (line 21) | func buildSSAFromSource(source string) *buildssa.SSA { FILE: internal/ssautil/ssa_result.go type SSAAnalyzerResult (line 19) | type SSAAnalyzerResult struct function GetSSAResult (line 27) | func GetSSAResult(pass *analysis.Pass) (*SSAAnalyzerResult, error) { FILE: internal/ssautil/ssa_result_test.go function TestSSAUtil (line 15) | func TestSSAUtil(t *testing.T) { FILE: issue/issue.go type Score (line 31) | type Score method MarshalJSON (line 171) | func (c Score) MarshalJSON() ([]byte, error) { method String (line 176) | func (c Score) String() string { constant Low (line 35) | Low Score = iota constant Medium (line 37) | Medium constant High (line 39) | High constant SnippetOffset (line 44) | SnippetOffset = 1 function GetCweByRule (line 47) | func GetCweByRule(id string) *cwe.Weakness { type Issue (line 118) | type Issue struct method FileLocation (line 141) | func (i *Issue) FileLocation() string { method WithSuppressions (line 261) | func (i *Issue) WithSuppressions(suppressions []SuppressionInfo) *Issue { type SuppressionInfo (line 135) | type SuppressionInfo struct type MetaData (line 147) | type MetaData struct method ID (line 166) | func (m MetaData) ID() string { function NewMetaData (line 155) | func NewMetaData(id, what string, severity, confidence Score) MetaData { function CodeSnippet (line 189) | func CodeSnippet(file *os.File, start int64, end int64) (string, error) { function codeSnippetStartLine (line 206) | func codeSnippetStartLine(node ast.Node, fobj *token.File) int64 { function codeSnippetEndLine (line 214) | func codeSnippetEndLine(node ast.Node, fobj *token.File) int64 { function New (line 220) | func New(fobj *token.File, node ast.Node, ruleID, desc string, severity,... function GetLine (line 267) | func GetLine(fobj *token.File, node ast.Node) string { FILE: issue/issue_suite_test.go function TestIssue (line 10) | func TestIssue(t *testing.T) { FILE: path_filter.go type PathExcludeRule (line 12) | type PathExcludeRule struct type compiledPathRule (line 18) | type compiledPathRule struct type PathExclusionFilter (line 26) | type PathExclusionFilter struct method ShouldExclude (line 74) | func (f *PathExclusionFilter) ShouldExclude(filePath, ruleID string) b... method FilterIssues (line 98) | func (f *PathExclusionFilter) FilterIssues(issues []*issue.Issue) ([]*... method String (line 194) | func (f *PathExclusionFilter) String() string { function NewPathExclusionFilter (line 32) | func NewPathExclusionFilter(rules []PathExcludeRule) (*PathExclusionFilt... function ParseCLIExcludeRules (line 120) | func ParseCLIExcludeRules(input string) ([]PathExcludeRule, error) { function MergeExcludeRules (line 178) | func MergeExcludeRules(configRules, cliRules []PathExcludeRule) []PathEx... FILE: path_filter_test.go function TestShouldExclude (line 333) | func TestShouldExclude(t *testing.T) { FILE: regex_cache.go type regexCacheKey (line 6) | type regexCacheKey struct function RegexMatchWithCache (line 13) | func RegexMatchWithCache(re *regexp.Regexp, s string) bool { FILE: regex_cache_test.go function TestGlobalCache_Stress (line 10) | func TestGlobalCache_Stress(t *testing.T) { FILE: report.go type ReportInfo (line 8) | type ReportInfo struct method WithVersion (line 25) | func (r *ReportInfo) WithVersion(version string) *ReportInfo { function NewReportInfo (line 16) | func NewReportInfo(issues []*issue.Issue, metrics *Metrics, errors map[s... FILE: report/csv/writer.go function WriteReport (line 11) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/csv/writer_test.go function TestCSV (line 16) | func TestCSV(t *testing.T) { FILE: report/formatter.go type Format (line 34) | type Format constant ReportText (line 38) | ReportText Format = iota constant ReportJSON (line 41) | ReportJSON constant ReportCSV (line 44) | ReportCSV constant ReportJUnitXML (line 47) | ReportJUnitXML constant ReportSARIF (line 50) | ReportSARIF function CreateReport (line 55) | func CreateReport(w io.Writer, format string, enableColor bool, rootPath... function filterOutSuppressedIssues (line 85) | func filterOutSuppressedIssues(issues []*issue.Issue) []*issue.Issue { FILE: report/formatter_suite_test.go function TestRules (line 10) | func TestRules(t *testing.T) { FILE: report/formatter_test.go function createIssueWithFileWhat (line 20) | func createIssueWithFileWhat(file, what string) *issue.Issue { function createIssue (line 27) | func createIssue(ruleID string, weakness *cwe.Weakness) issue.Issue { function createReportInfo (line 41) | func createReportInfo(rule string, weakness *cwe.Weakness) gosec.ReportI... function stripString (line 53) | func stripString(str string) string { FILE: report/golint/writer.go function WriteReport (line 12) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/golint/writer_test.go function TestGolint (line 16) | func TestGolint(t *testing.T) { FILE: report/html/writer.go function WriteReport (line 15) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/html/writer_test.go function TestHTML (line 16) | func TestHTML(t *testing.T) { FILE: report/json/writer.go function WriteReport (line 11) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/json/writer_test.go function TestJSON (line 16) | func TestJSON(t *testing.T) { FILE: report/junit/builder.go function NewTestsuite (line 4) | func NewTestsuite(name string) *Testsuite { function NewFailure (line 11) | func NewFailure(message string, text string) *Failure { function NewTestcase (line 19) | func NewTestcase(name string, failure *Failure) *Testcase { FILE: report/junit/formatter.go function generatePlaintext (line 11) | func generatePlaintext(issue *issue.Issue) string { function GenerateReport (line 25) | func GenerateReport(data *gosec.ReportInfo) Report { FILE: report/junit/types.go type Report (line 8) | type Report struct type Testsuite (line 14) | type Testsuite struct type Testcase (line 22) | type Testcase struct type Failure (line 29) | type Failure struct FILE: report/junit/writer.go function WriteReport (line 11) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/junit/writer_test.go function TestJUnit (line 16) | func TestJUnit(t *testing.T) { FILE: report/sarif/builder.go function NewReport (line 4) | func NewReport(version string, schema string) *Report { method WithRuns (line 12) | func (r *Report) WithRuns(runs ...*Run) *Report { function NewMultiformatMessageString (line 18) | func NewMultiformatMessageString(text string) *MultiformatMessageString { function NewRun (line 25) | func NewRun(tool *Tool) *Run { method WithTaxonomies (line 32) | func (r *Run) WithTaxonomies(taxonomies ...*ToolComponent) *Run { method WithResults (line 38) | func (r *Run) WithResults(results ...*Result) *Run { function NewArtifactLocation (line 44) | func NewArtifactLocation(uri string) *ArtifactLocation { function NewRegion (line 51) | func NewRegion(startLine int, endLine int, startColumn int, endColumn in... method WithSnippet (line 62) | func (r *Region) WithSnippet(snippet *ArtifactContent) *Region { function NewArtifactContent (line 68) | func NewArtifactContent(text string) *ArtifactContent { function NewTool (line 75) | func NewTool(driver *ToolComponent) *Tool { function NewResult (line 82) | func NewResult(ruleID string, ruleIndex int, level Level, message string... function NewMessage (line 120) | func NewMessage(text string) *Message { method WithLocations (line 127) | func (r *Result) WithLocations(locations ...*Location) *Result { function NewLocation (line 133) | func NewLocation(physicalLocation *PhysicalLocation) *Location { function NewPhysicalLocation (line 140) | func NewPhysicalLocation(artifactLocation *ArtifactLocation, region *Reg... function NewToolComponent (line 148) | func NewToolComponent(name string, version string, informationURI string... method WithLanguage (line 158) | func (t *ToolComponent) WithLanguage(language string) *ToolComponent { method WithSemanticVersion (line 164) | func (t *ToolComponent) WithSemanticVersion(semanticVersion string) *Too... method WithReleaseDateUtc (line 170) | func (t *ToolComponent) WithReleaseDateUtc(releaseDateUtc string) *ToolC... method WithDownloadURI (line 176) | func (t *ToolComponent) WithDownloadURI(downloadURI string) *ToolCompone... method WithOrganization (line 182) | func (t *ToolComponent) WithOrganization(organization string) *ToolCompo... method WithShortDescription (line 188) | func (t *ToolComponent) WithShortDescription(shortDescription *Multiform... method WithIsComprehensive (line 194) | func (t *ToolComponent) WithIsComprehensive(isComprehensive bool) *ToolC... method WithMinimumRequiredLocalizedDataSemanticVersion (line 200) | func (t *ToolComponent) WithMinimumRequiredLocalizedDataSemanticVersion(... method WithTaxa (line 206) | func (t *ToolComponent) WithTaxa(taxa ...*ReportingDescriptor) *ToolComp... method WithSupportedTaxonomies (line 212) | func (t *ToolComponent) WithSupportedTaxonomies(supportedTaxonomies ...*... method WithRules (line 218) | func (t *ToolComponent) WithRules(rules ...*ReportingDescriptor) *ToolCo... function NewToolComponentReference (line 224) | func NewToolComponentReference(name string) *ToolComponentReference { function NewSuppression (line 232) | func NewSuppression(kind string, justification string) *Suppression { FILE: report/sarif/common_test.go function validateSarifSchema (line 26) | func validateSarifSchema(report *sarif.Report) error { FILE: report/sarif/data.go type Level (line 5) | type Level constant None (line 10) | None = Level("none") constant Note (line 13) | Note = Level("note") constant Warning (line 15) | Warning = Level("warning") constant Error (line 17) | Error = Level("error") constant Version (line 19) | Version = "2.1.0" constant Schema (line 21) | Schema = "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sa... FILE: report/sarif/formatter.go function GenerateReport (line 17) | func GenerateReport(rootPaths []string, data *gosec.ReportInfo) (*Report... function addRuleInOrder (line 72) | func addRuleInOrder(rules []*ReportingDescriptor, rule *ReportingDescrip... function parseSarifRule (line 91) | func parseSarifRule(i *issue.Issue) *ReportingDescriptor { function buildSarifReportingDescriptorRelationship (line 119) | func buildSarifReportingDescriptorRelationship(weakness *cwe.Weakness) *... function buildCWETaxonomy (line 133) | func buildCWETaxonomy(taxa []*ReportingDescriptor) *ToolComponent { function parseSarifTaxon (line 145) | func parseSarifTaxon(weakness *cwe.Weakness) *ReportingDescriptor { function parseSemanticVersion (line 155) | func parseSemanticVersion(version string) string { function buildSarifDriver (line 165) | func buildSarifDriver(rules []*ReportingDescriptor, gosecVersion string)... function uuid3 (line 173) | func uuid3(value string) string { function parseSarifLocation (line 178) | func parseSarifLocation(i *issue.Issue, rootPaths []string) (*Location, ... function parseSarifArtifactLocation (line 187) | func parseSarifArtifactLocation(i *issue.Issue, rootPaths []string) *Art... function parseSarifRegion (line 197) | func parseSarifRegion(i *issue.Issue) (*Region, error) { function getSarifLevel (line 235) | func getSarifLevel(s string) Level { function buildSarifSuppressions (line 248) | func buildSarifSuppressions(suppressions []issue.SuppressionInfo) []*Sup... FILE: report/sarif/sarif_suite_test.go function TestRules (line 10) | func TestRules(t *testing.T) { FILE: report/sarif/self_scan_test.go function currentRepoRoot (line 53) | func currentRepoRoot() string { FILE: report/sarif/types.go type Address (line 6) | type Address struct type Artifact (line 40) | type Artifact struct type ArtifactChange (line 83) | type ArtifactChange struct type ArtifactContent (line 96) | type ArtifactContent struct type ArtifactLocation (line 112) | type ArtifactLocation struct type Attachment (line 131) | type Attachment struct type CodeFlow (line 150) | type CodeFlow struct type ConfigurationOverride (line 163) | type ConfigurationOverride struct type Conversion (line 176) | type Conversion struct type Edge (line 192) | type Edge struct type EdgeTraversal (line 211) | type EdgeTraversal struct type Exception (line 230) | type Exception struct type ExternalProperties (line 249) | type ExternalProperties struct type ExternalPropertyFileReference (line 316) | type ExternalPropertyFileReference struct type ExternalPropertyFileReferences (line 332) | type ExternalPropertyFileReferences struct type Fix (line 387) | type Fix struct type Graph (line 400) | type Graph struct type GraphTraversal (line 416) | type GraphTraversal struct type Invocation (line 441) | type Invocation struct type Location (line 523) | type Location struct type LocationRelationship (line 548) | type LocationRelationship struct type LogicalLocation (line 564) | type LogicalLocation struct type Message (line 589) | type Message struct type MultiformatMessageString (line 608) | type MultiformatMessageString struct type Node (line 621) | type Node struct type Notification (line 640) | type Notification struct type PhysicalLocation (line 671) | type PhysicalLocation struct type PropertyBag (line 690) | type PropertyBag type Rectangle (line 693) | type Rectangle struct type Region (line 715) | type Region struct type Replacement (line 755) | type Replacement struct type ReportingConfiguration (line 768) | type ReportingConfiguration struct type ReportingDescriptor (line 787) | type ReportingDescriptor struct type ReportingDescriptorReference (line 833) | type ReportingDescriptorReference struct type ReportingDescriptorRelationship (line 852) | type ReportingDescriptorRelationship struct type Result (line 868) | type Result struct type ResultProvenance (line 962) | type ResultProvenance struct type Run (line 987) | type Run struct type RunAutomationDetails (line 1075) | type RunAutomationDetails struct type SpecialLocations (line 1094) | type SpecialLocations struct type Stack (line 1104) | type Stack struct type StackFrame (line 1117) | type StackFrame struct type Report (line 1136) | type Report struct type Suppression (line 1155) | type Suppression struct type ThreadFlow (line 1177) | type ThreadFlow struct type ThreadFlowLocation (line 1199) | type ThreadFlowLocation struct type Tool (line 1245) | type Tool struct type ToolComponent (line 1258) | type ToolComponent struct type ToolComponentReference (line 1346) | type ToolComponentReference struct type TranslationMetadata (line 1362) | type TranslationMetadata struct type VersionControlDetails (line 1387) | type VersionControlDetails struct type WebRequest (line 1412) | type WebRequest struct type WebResponse (line 1443) | type WebResponse struct FILE: report/sarif/writer.go function WriteReport (line 11) | func WriteReport(w io.Writer, data *gosec.ReportInfo, rootPaths []string... FILE: report/sonar/builder.go function NewLocation (line 4) | func NewLocation(message string, filePath string, textRange *TextRange) ... function NewTextRange (line 13) | func NewTextRange(startLine int, endLine int) *TextRange { function NewIssue (line 21) | func NewIssue(ruleID string, primaryLocation *Location, effortMinutes in... function NewImpact (line 30) | func NewImpact(softwareQuality string, severity string) *Impact { function NewRule (line 38) | func NewRule(id string, name string, description string, engineID string... FILE: report/sonar/formatter.go constant EffortMinutes (line 14) | EffortMinutes = 5 constant sonarEngineID (line 16) | sonarEngineID = "gosec" constant sonarSoftwareQuality (line 17) | sonarSoftwareQuality = "SECURITY" constant sonarCleanCodeAttribute (line 18) | sonarCleanCodeAttribute = "TRUSTWORTHY" function GenerateReport (line 22) | func GenerateReport(rootPaths []string, data *gosec.ReportInfo) (*Report... function parseFilePath (line 67) | func parseFilePath(issue *issue.Issue, rootPaths []string) string { function parseTextRange (line 77) | func parseTextRange(issue *issue.Issue) (*TextRange, error) { function getImpactSeverity (line 93) | func getImpactSeverity(s string) string { function mergeRuleImpacts (line 106) | func mergeRuleImpacts(existing []*Impact, severity string) []*Impact { function compareImpactSeverity (line 121) | func compareImpactSeverity(a string, b string) int { FILE: report/sonar/sonar_suite_test.go function TestRules (line 10) | func TestRules(t *testing.T) { FILE: report/sonar/types.go type TextRange (line 4) | type TextRange struct type Location (line 12) | type Location struct type Issue (line 19) | type Issue struct type Impact (line 27) | type Impact struct type Rule (line 33) | type Rule struct type Report (line 43) | type Report struct FILE: report/sonar/writer.go function WriteReport (line 11) | func WriteReport(w io.Writer, data *gosec.ReportInfo, rootPaths []string... FILE: report/text/writer.go function WriteReport (line 29) | func WriteReport(w io.Writer, data *gosec.ReportInfo, enableColor bool) ... function plainTextFuncMap (line 41) | func plainTextFuncMap(enableColor bool) template.FuncMap { function highlight (line 65) | func highlight(t string, s issue.Score, ignored bool) string { function printCodeSnippet (line 80) | func printCodeSnippet(issue *issue.Issue) string { function parseLine (line 99) | func parseLine(line string) (int, int) { FILE: report/text/writer_test.go function TestText (line 16) | func TestText(t *testing.T) { FILE: report/yaml/writer.go function WriteReport (line 12) | func WriteReport(w io.Writer, data *gosec.ReportInfo) error { FILE: report/yaml/writer_test.go function TestYAML (line 16) | func TestYAML(t *testing.T) { FILE: resolve.go function resolveIdent (line 19) | func resolveIdent(n *ast.Ident, c *Context) bool { function resolveValueSpec (line 29) | func resolveValueSpec(n *ast.ValueSpec, c *Context) bool { function resolveAssign (line 41) | func resolveAssign(n *ast.AssignStmt, c *Context) bool { function resolveCompLit (line 53) | func resolveCompLit(n *ast.CompositeLit, c *Context) bool { function resolveBinExpr (line 65) | func resolveBinExpr(n *ast.BinaryExpr, c *Context) bool { function resolveCallExpr (line 69) | func resolveCallExpr(_ *ast.CallExpr, _ *Context) bool { function TryResolve (line 77) | func TryResolve(n ast.Node, c *Context) bool { FILE: rule.go type Rule (line 23) | type Rule interface type RuleBuilder (line 29) | type RuleBuilder type RuleSet (line 36) | type RuleSet struct method Register (line 48) | func (r RuleSet) Register(rule Rule, isSuppressed bool, nodes ...ast.N... method RegisteredFor (line 62) | func (r RuleSet) RegisteredFor(n ast.Node) []Rule { method IsRuleSuppressed (line 70) | func (r RuleSet) IsRuleSuppressed(ruleID string) bool { function NewRuleSet (line 42) | func NewRuleSet() RuleSet { FILE: rule_test.go type mockrule (line 14) | type mockrule struct method ID (line 20) | func (m *mockrule) ID() string { method Match (line 24) | func (m *mockrule) Match(n ast.Node, ctx *gosec.Context) (*issue.Issue... FILE: rules/archive.go type archive (line 13) | type archive struct method Match (line 53) | func (a *archive) Match(n ast.Node, ctx *gosec.Context) (*issue.Issue,... function getArchiveBaseType (line 21) | func getArchiveBaseType(expr ast.Expr, ctx *gosec.Context, file *ast.Fil... function NewArchive (line 69) | func NewArchive(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/base.go type callListRule (line 12) | type callListRule struct method Add (line 24) | func (r *callListRule) Add(selector, ident string) *callListRule { method AddAll (line 29) | func (r *callListRule) AddAll(selector string, idents ...string) *call... method Match (line 34) | func (r *callListRule) Match(n ast.Node, c *gosec.Context) (*issue.Iss... function newCallListRule (line 17) | func newCallListRule(id, what string, severity, confidence issue.Score) ... FILE: rules/bind.go type bindsToAllNetworkInterfaces (line 26) | type bindsToAllNetworkInterfaces struct method Match (line 31) | func (r *bindsToAllNetworkInterfaces) Match(n ast.Node, c *gosec.Conte... function NewBindsToAllNetworkInterfaces (line 65) | func NewBindsToAllNetworkInterfaces(id string, _ gosec.Config) (gosec.Ru... FILE: rules/blocklist.go type blocklistedImport (line 25) | type blocklistedImport struct method Match (line 36) | func (r *blocklistedImport) Match(n ast.Node, c *gosec.Context) (*issu... function unquote (line 30) | func unquote(original string) string { function NewBlocklistedImports (line 47) | func NewBlocklistedImports(id string, _ gosec.Config, blocklist map[stri... function NewBlocklistedImportMD5 (line 55) | func NewBlocklistedImportMD5(id string, conf gosec.Config) (gosec.Rule, ... function NewBlocklistedImportDES (line 62) | func NewBlocklistedImportDES(id string, conf gosec.Config) (gosec.Rule, ... function NewBlocklistedImportRC4 (line 69) | func NewBlocklistedImportRC4(id string, conf gosec.Config) (gosec.Rule, ... function NewBlocklistedImportCGI (line 76) | func NewBlocklistedImportCGI(id string, conf gosec.Config) (gosec.Rule, ... function NewBlocklistedImportSHA1 (line 83) | func NewBlocklistedImportSHA1(id string, conf gosec.Config) (gosec.Rule,... function NewBlocklistedImportMD4 (line 90) | func NewBlocklistedImportMD4(id string, conf gosec.Config) (gosec.Rule, ... function NewBlocklistedImportRIPEMD160 (line 97) | func NewBlocklistedImportRIPEMD160(id string, conf gosec.Config) (gosec.... FILE: rules/decompression_bomb.go type decompressionBombCheck (line 26) | type decompressionBombCheck struct method Match (line 41) | func (d *decompressionBombCheck) Match(node ast.Node, ctx *gosec.Conte... function containsReaderCall (line 32) | func containsReaderCall(node ast.Node, ctx *gosec.Context, list gosec.Ca... function NewDecompressionBombCheck (line 89) | func NewDecompressionBombCheck(id string, _ gosec.Config) (gosec.Rule, [... FILE: rules/directory_traversal.go type traversal (line 11) | type traversal struct method Match (line 16) | func (r *traversal) Match(n ast.Node, ctx *gosec.Context) (*issue.Issu... method matchCallExpr (line 24) | func (r *traversal) matchCallExpr(assign *ast.CallExpr, ctx *gosec.Con... function NewDirectoryTraversal (line 41) | func NewDirectoryTraversal(id string, conf gosec.Config) (gosec.Rule, []... FILE: rules/errors.go type noErrorCheck (line 25) | type noErrorCheck struct method Match (line 49) | func (r *noErrorCheck) Match(n ast.Node, ctx *gosec.Context) (*issue.I... function returnsError (line 30) | func returnsError(callExpr *ast.CallExpr, ctx *gosec.Context) int { function NewNoErrorCheck (line 78) | func NewNoErrorCheck(id string, conf gosec.Config) (gosec.Rule, []ast.No... function toStringSlice (line 106) | func toStringSlice(values []interface{}) []string { FILE: rules/fileperms.go type filePermissions (line 26) | type filePermissions struct method Match (line 55) | func (r *filePermissions) Match(n ast.Node, c *gosec.Context) (*issue.... function getConfiguredMode (line 33) | func getConfiguredMode(conf map[string]interface{}, configKey string, de... function modeIsSubset (line 50) | func modeIsSubset(subset int64, superset int64) bool { function isOsPerm (line 68) | func isOsPerm(n ast.Node) bool { function NewWritePerms (line 80) | func NewWritePerms(id string, conf gosec.Config) (gosec.Rule, []ast.Node) { function NewFilePerms (line 92) | func NewFilePerms(id string, conf gosec.Config) (gosec.Rule, []ast.Node) { function NewMkdirPerms (line 104) | func NewMkdirPerms(id string, conf gosec.Config) (gosec.Rule, []ast.Node) { type osCreatePermissions (line 114) | type osCreatePermissions struct method Match (line 124) | func (r *osCreatePermissions) Match(n ast.Node, c *gosec.Context) (*is... constant defaultOsCreateMode (line 121) | defaultOsCreateMode = 0o666 function NewOsCreatePerms (line 137) | func NewOsCreatePerms(id string, conf gosec.Config) (gosec.Rule, []ast.N... FILE: rules/hardcoded_credentials.go type secretPattern (line 30) | type secretPattern struct type entropyCacheKey (line 36) | type entropyCacheKey type secretPatternCacheKey (line 39) | type secretPatternCacheKey type credentials (line 168) | type credentials struct method isHighEntropyString (line 185) | func (r *credentials) isHighEntropyString(str string) bool { method isSecretPattern (line 209) | func (r *credentials) isSecretPattern(str string) (bool, string) { method Match (line 228) | func (r *credentials) Match(n ast.Node, ctx *gosec.Context) (*issue.Is... method matchAssign (line 242) | func (r *credentials) matchAssign(assign *ast.AssignStmt, ctx *gosec.C... method matchValueSpec (line 274) | func (r *credentials) matchValueSpec(valueSpec *ast.ValueSpec, ctx *go... method matchEqualityCheck (line 305) | func (r *credentials) matchEqualityCheck(binaryExpr *ast.BinaryExpr, c... method matchCompositeLit (line 343) | func (r *credentials) matchCompositeLit(lit *ast.CompositeLit, ctx *go... function truncate (line 178) | func truncate(s string, n int) string { type secretResult (line 204) | type secretResult struct function NewHardcodedCredentials (line 383) | func NewHardcodedCredentials(id string, conf gosec.Config) (gosec.Rule, ... FILE: rules/http_serve.go type httpServeWithoutTimeouts (line 10) | type httpServeWithoutTimeouts struct function NewHTTPServeWithoutTimeouts (line 15) | func NewHTTPServeWithoutTimeouts(id string, _ gosec.Config) (gosec.Rule,... FILE: rules/implicit_aliasing.go type implicitAliasing (line 12) | type implicitAliasing struct method Match (line 45) | func (r *implicitAliasing) Match(n ast.Node, c *gosec.Context) (*issue... function containsUnary (line 19) | func containsUnary(exprs []*ast.UnaryExpr, expr *ast.UnaryExpr) bool { function getIdentExpr (line 28) | func getIdentExpr(expr ast.Expr) (*ast.Ident, bool) { function doGetIdentExpr (line 32) | func doGetIdentExpr(expr ast.Expr, hasSelector bool) (*ast.Ident, bool) { function NewImplicitAliasing (line 113) | func NewImplicitAliasing(id string, _ gosec.Config) (gosec.Rule, []ast.N... FILE: rules/integer_overflow.go type integerOverflowCheck (line 26) | type integerOverflowCheck struct method Match (line 30) | func (i *integerOverflowCheck) Match(node ast.Node, ctx *gosec.Context... function NewIntegerOverflowCheck (line 80) | func NewIntegerOverflowCheck(id string, _ gosec.Config) (gosec.Rule, []a... FILE: rules/pprof.go type pprofCheck (line 10) | type pprofCheck struct method Match (line 17) | func (p *pprofCheck) Match(n ast.Node, c *gosec.Context) (*issue.Issue... function NewPprofCheck (line 27) | func NewPprofCheck(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/rand.go type weakRand (line 24) | type weakRand struct function NewWeakRandCheck (line 29) | func NewWeakRandCheck(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/readfile.go type readfile (line 25) | type readfile struct method isJoinFunc (line 37) | func (r *readfile) isJoinFunc(n ast.Node, c *gosec.Context) bool { method isFilepathClean (line 59) | func (r *readfile) isFilepathClean(v *types.Var, _ *gosec.Context) bool { method trackCleanAssign (line 65) | func (r *readfile) trackCleanAssign(assign *ast.AssignStmt, c *gosec.C... method trackJoinAssignStmt (line 85) | func (r *readfile) trackJoinAssignStmt(assign *ast.AssignStmt, c *gose... method osRootSuggestion (line 105) | func (r *readfile) osRootSuggestion() string { method isSafeJoin (line 114) | func (r *readfile) isSafeJoin(call *ast.CallExpr, c *gosec.Context) bo... method Match (line 143) | func (r *readfile) Match(n ast.Node, c *gosec.Context) (*issue.Issue, ... function NewReadFile (line 230) | func NewReadFile(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/rsa.go type weakKeyStrength (line 25) | type weakKeyStrength struct method Match (line 31) | func (w *weakKeyStrength) Match(n ast.Node, c *gosec.Context) (*issue.... function NewWeakKeyStrength (line 41) | func NewWeakKeyStrength(id string, _ gosec.Config) (gosec.Rule, []ast.No... FILE: rules/rulelist.go type RuleDefinition (line 21) | type RuleDefinition struct type RuleList (line 29) | type RuleList struct method RulesInfo (line 36) | func (rl RuleList) RulesInfo() (map[string]gosec.RuleBuilder, map[stri... type RuleFilter (line 46) | type RuleFilter function NewRuleFilter (line 50) | func NewRuleFilter(action bool, ruleIDs ...string) RuleFilter { function Generate (line 64) | func Generate(trackSuppressions bool, filters ...RuleFilter) RuleList { FILE: rules/rules_suite_test.go function TestRules (line 10) | func TestRules(t *testing.T) { FILE: rules/secret_serialization.go type secretSerialization (line 17) | type secretSerialization struct method Match (line 107) | func (r *secretSerialization) Match(n ast.Node, ctx *gosec.Context) (*... method findSerializedArgument (line 279) | func (r *secretSerialization) findSerializedArgument(callExpr *ast.Cal... method findSensitiveFieldForType (line 450) | func (r *secretSerialization) findSensitiveFieldForType(typ types.Type... method findSensitiveFieldForTypeWithVisited (line 454) | func (r *secretSerialization) findSensitiveFieldForTypeWithVisited(typ... method findSensitiveSerializedField (line 497) | func (r *secretSerialization) findSensitiveSerializedField(st *types.S... type formatSpec (line 23) | type formatSpec struct type functionSink (line 31) | type functionSink struct type methodSink (line 36) | type methodSink struct type typeAnalysisCacheKey (line 42) | type typeAnalysisCacheKey struct type sensitiveFieldMatch (line 47) | type sensitiveFieldMatch struct function isInsideCustomMarshaler (line 158) | func isInsideCustomMarshaler(callExpr *ast.CallExpr, ctx *gosec.Context)... function typeImplementsMarshaler (line 195) | func typeImplementsMarshaler(typ types.Type, methodName string) bool { function elementNamedType (line 216) | func elementNamedType(typ types.Type) *types.Named { function compositeLitFieldIsTransformed (line 236) | func compositeLitFieldIsTransformed(expr ast.Expr, fieldName string) bool { function isNamedTypeInPackage (line 260) | func isNamedTypeInPackage(typ types.Type, pkgPath, typeName string) bool { function callMatchesMethodSink (line 304) | func callMatchesMethodSink(callExpr *ast.CallExpr, ctx *gosec.Context, s... function callMatchesPackageFunction (line 342) | func callMatchesPackageFunction(callExpr *ast.CallExpr, ctx *gosec.Conte... function importAliasMatchesPath (line 382) | func importAliasMatchesPath(ctx *gosec.Context, alias, pkgPath string) b... function importAliasPathContains (line 406) | func importAliasPathContains(ctx *gosec.Context, alias, fragment string)... function packageNameFromPath (line 430) | func packageNameFromPath(path string) string { function packagePathMatches (line 437) | func packagePathMatches(actual, expected string) bool { function isSecretCandidateType (line 525) | func isSecretCandidateType(typ types.Type) bool { function serializedNameFromTag (line 548) | func serializedNameFromTag(defaultName, tag, tagKey string) (name string... function NewSecretSerialization (line 573) | func NewSecretSerialization(id string, conf gosec.Config) (gosec.Rule, [... FILE: rules/slowloris.go type slowloris (line 24) | type slowloris struct method Match (line 44) | func (r *slowloris) Match(n ast.Node, ctx *gosec.Context) (*issue.Issu... function containsReadHeaderTimeout (line 28) | func containsReadHeaderTimeout(node *ast.CompositeLit) bool { function NewSlowloris (line 57) | func NewSlowloris(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/sql.go type sqlStatement (line 28) | type sqlStatement struct method MatchPatterns (line 87) | func (s *sqlStatement) MatchPatterns(str string) bool { function findQueryArg (line 71) | func findQueryArg(call *ast.CallExpr, ctx *gosec.Context) (ast.Expr, err... type sqlStrConcat (line 96) | type sqlStrConcat struct method findInjectionInBranch (line 103) | func (s *sqlStrConcat) findInjectionInBranch(ctx *gosec.Context, branc... method checkQuery (line 121) | func (s *sqlStrConcat) checkQuery(call *ast.CallExpr, ctx *gosec.Conte... method Match (line 281) | func (s *sqlStrConcat) Match(n ast.Node, ctx *gosec.Context) (*issue.I... function NewSQLStrConcat (line 298) | func NewSQLStrConcat(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { type sqlStrFormat (line 317) | type sqlStrFormat struct method checkQuery (line 326) | func (s *sqlStrFormat) checkQuery(call *ast.CallExpr, ctx *gosec.Conte... method checkFormatting (line 382) | func (s *sqlStrFormat) checkFormatting(n ast.Node, ctx *gosec.Context)... method Match (line 430) | func (s *sqlStrFormat) Match(n ast.Node, ctx *gosec.Context) (*issue.I... function NewSQLStrFormat (line 454) | func NewSQLStrFormat(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/ssh.go type sshHostKey (line 10) | type sshHostKey struct function NewSSHHostKey (line 15) | func NewSSHHostKey(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/ssrf.go type ssrf (line 11) | type ssrf struct method ResolveVar (line 17) | func (r *ssrf) ResolveVar(n *ast.CallExpr, c *gosec.Context) bool { method Match (line 38) | func (r *ssrf) Match(n ast.Node, c *gosec.Context) (*issue.Issue, erro... function NewSSRFCheck (line 49) | func NewSSRFCheck(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/subproc.go type subprocess (line 26) | type subprocess struct method Match (line 62) | func (r *subprocess) Match(n ast.Node, c *gosec.Context) (*issue.Issue... method isContext (line 98) | func (r *subprocess) isContext(n ast.Node, ctx *gosec.Context) bool { function getEnclosingBodyStart (line 32) | func getEnclosingBodyStart(pos token.Pos, ctx *gosec.Context) token.Pos { function NewSubproc (line 110) | func NewSubproc(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/tempfiles.go type badTempFile (line 25) | type badTempFile struct method findTempDirArgs (line 32) | func (t *badTempFile) findTempDirArgs(n ast.Node, c *gosec.Context, su... method Match (line 54) | func (t *badTempFile) Match(n ast.Node, c *gosec.Context) (gi *issue.I... function NewBadTempFile (line 62) | func NewBadTempFile(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/templates.go type templateCheck (line 24) | type templateCheck struct method Match (line 30) | func (t *templateCheck) Match(n ast.Node, c *gosec.Context) (*issue.Is... function NewTemplateCheck (line 43) | func NewTemplateCheck(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/tls.go type insecureConfigTLS (line 31) | type insecureConfigTLS struct method mapVersion (line 50) | func (t *insecureConfigTLS) mapVersion(version string) int64 { method processTLSCipherSuites (line 54) | func (t *insecureConfigTLS) processTLSCipherSuites(n ast.Node, c *gose... method resolveTLSVersion (line 69) | func (t *insecureConfigTLS) resolveTLSVersion(expr ast.Expr, c *gosec.... method resolveBoolConst (line 104) | func (t *insecureConfigTLS) resolveBoolConst(expr ast.Expr, c *gosec.C... method processTLSConfVal (line 155) | func (t *insecureConfigTLS) processTLSConfVal(key ast.Expr, value ast.... method processTLSConf (line 191) | func (t *insecureConfigTLS) processTLSConf(n ast.Node, c *gosec.Contex... method findDefinition (line 207) | func (t *insecureConfigTLS) findDefinition(obj types.Object, c *gosec.... method checkVersion (line 239) | func (t *insecureConfigTLS) checkVersion(n ast.Node, c *gosec.Context)... method resetVersion (line 263) | func (t *insecureConfigTLS) resetVersion() { method Match (line 270) | func (t *insecureConfigTLS) Match(n ast.Node, c *gosec.Context) (*issu... FILE: rules/tls_config.go function NewModernTLSCheck (line 12) | func NewModernTLSCheck(id string, conf gosec.Config) (gosec.Rule, []ast.... function NewIntermediateTLSCheck (line 28) | func NewIntermediateTLSCheck(id string, conf gosec.Config) (gosec.Rule, ... function NewOldTLSCheck (line 54) | func NewOldTLSCheck(id string, conf gosec.Config) (gosec.Rule, []ast.Nod... FILE: rules/trojansource.go type trojanSource (line 11) | type trojanSource struct method Match (line 16) | func (r *trojanSource) Match(node ast.Node, c *gosec.Context) (*issue.... function NewTrojanSource (line 70) | func NewTrojanSource(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/unsafe.go type usingUnsafe (line 24) | type usingUnsafe struct function NewUsingUnsafe (line 30) | func NewUsingUnsafe(id string, _ gosec.Config) (gosec.Rule, []ast.Node) { FILE: rules/weakcrypto.go type weakCryptoUsage (line 24) | type weakCryptoUsage struct function NewUsesWeakCryptographyHash (line 29) | func NewUsesWeakCryptographyHash(id string, _ gosec.Config) (gosec.Rule,... function NewUsesWeakCryptographyEncryption (line 36) | func NewUsesWeakCryptographyEncryption(id string, _ gosec.Config) (gosec... function NewUsesWeakDeprecatedCryptographyHash (line 43) | func NewUsesWeakDeprecatedCryptographyHash(id string, _ gosec.Config) (g... FILE: taint/analyzer.go type RuleInfo (line 18) | type RuleInfo struct function NewGosecAnalyzer (line 27) | func NewGosecAnalyzer(rule *RuleInfo, config *Config) *analysis.Analyzer { function makeAnalyzerRunner (line 37) | func makeAnalyzerRunner(rule *RuleInfo, config *Config) func(*analysis.P... function newIssue (line 106) | func newIssue(analyzerID string, desc string, fileSet *token.FileSet, function issueCodeSnippet (line 129) | func issueCodeSnippet(fileSet *token.FileSet, pos token.Pos) string { FILE: taint/analyzer_internal_test.go function TestMakeAnalyzerRunnerReturnsErrorWithoutSSA (line 23) | func TestMakeAnalyzerRunnerReturnsErrorWithoutSSA(t *testing.T) { function TestMakeAnalyzerRunnerReturnsNilWhenNoSourceFunctions (line 35) | func TestMakeAnalyzerRunnerReturnsNilWhenNoSourceFunctions(t *testing.T) { function TestNewIssuePopulatesFields (line 56) | func TestNewIssuePopulatesFields(t *testing.T) { function TestIssueCodeSnippetReadsSource (line 87) | func TestIssueCodeSnippetReadsSource(t *testing.T) { function TestIsContextTypeWithContextContext (line 109) | func TestIsContextTypeWithContextContext(t *testing.T) { function TestIsContextTypeWithPointerToContextContext (line 123) | func TestIsContextTypeWithPointerToContextContext(t *testing.T) { function TestIsContextTypeRejectsNonContextTypes (line 137) | func TestIsContextTypeRejectsNonContextTypes(t *testing.T) { function TestNewIssueReturnsEmptyWhenPositionCannotBeResolved (line 195) | func TestNewIssueReturnsEmptyWhenPositionCannotBeResolved(t *testing.T) { function TestLookupNamedTypeNoDot (line 206) | func TestLookupNamedTypeNoDot(t *testing.T) { function TestLookupNamedTypePackageNotInProgram (line 214) | func TestLookupNamedTypePackageNotInProgram(t *testing.T) { function TestLookupNamedTypeFound (line 223) | func TestLookupNamedTypeFound(t *testing.T) { function TestLookupNamedTypeMemberIsNotTypeName (line 249) | func TestLookupNamedTypeMemberIsNotTypeName(t *testing.T) { function TestLookupNamedTypeMemberNotInScope (line 266) | func TestLookupNamedTypeMemberNotInScope(t *testing.T) { function TestGuardsSatisfiedEmptyGuards (line 283) | func TestGuardsSatisfiedEmptyGuards(t *testing.T) { function TestGuardsSatisfiedNilProg (line 290) | func TestGuardsSatisfiedNilProg(t *testing.T) { function TestGuardsSatisfiedArgIdxOutOfRange (line 298) | func TestGuardsSatisfiedArgIdxOutOfRange(t *testing.T) { function TestGuardsSatisfiedRequiredTypeNotFound (line 308) | func TestGuardsSatisfiedRequiredTypeNotFound(t *testing.T) { function TestGuardsSatisfiedInterfaceNotSatisfied (line 320) | func TestGuardsSatisfiedInterfaceNotSatisfied(t *testing.T) { function TestGuardsSatisfiedEmptyInterfaceSatisfied (line 343) | func TestGuardsSatisfiedEmptyInterfaceSatisfied(t *testing.T) { function TestGuardsSatisfiedConcreteTypeNotSatisfied (line 364) | func TestGuardsSatisfiedConcreteTypeNotSatisfied(t *testing.T) { function TestResolveOriginalTypeDefault (line 386) | func TestResolveOriginalTypeDefault(t *testing.T) { function TestAnalyzeSetsProgAndBuildsCallGraph (line 396) | func TestAnalyzeSetsProgAndBuildsCallGraph(t *testing.T) { function buildManySinkCallsFixture (line 449) | func buildManySinkCallsFixture(tb testing.TB) (*ssa.Program, []*ssa.Func... function TestTaintAnalysisPerformanceWithManySinkCalls (line 505) | func TestTaintAnalysisPerformanceWithManySinkCalls(t *testing.T) { function BenchmarkTaintAnalysisManySinkCalls (line 533) | func BenchmarkTaintAnalysisManySinkCalls(b *testing.B) { function TestResolveOriginalTypeMakeInterface (line 549) | func TestResolveOriginalTypeMakeInterface(t *testing.T) { FILE: taint/taint.go constant maxTaintDepth (line 24) | maxTaintDepth = 50 constant maxCallerEdges (line 30) | maxCallerEdges = 32 function isContextType (line 37) | func isContextType(t types.Type) bool { type Source (line 56) | type Source struct type Sink (line 71) | type Sink struct function resolveOriginalType (line 99) | func resolveOriginalType(v ssa.Value) types.Type { function guardsSatisfied (line 122) | func guardsSatisfied(args []ssa.Value, sink Sink, prog *ssa.Program) bool { function lookupNamedType (line 161) | func lookupNamedType(typePath string, prog *ssa.Program) types.Type { type Sanitizer (line 186) | type Sanitizer struct type Result (line 198) | type Result struct type Config (line 210) | type Config struct type paramKey (line 221) | type paramKey struct type Analyzer (line 226) | type Analyzer struct method SetCallGraph (line 238) | func (a *Analyzer) SetCallGraph(cg *callgraph.Graph) { method Analyze (line 311) | func (a *Analyzer) Analyze(prog *ssa.Program, srcFuncs []*ssa.Function... method analyzeFunctionSinks (line 340) | func (a *Analyzer) analyzeFunctionSinks(fn *ssa.Function) []Result { method isSinkCall (line 399) | func (a *Analyzer) isSinkCall(call *ssa.Call) (Sink, bool) { method isSanitizerCall (line 475) | func (a *Analyzer) isSanitizerCall(call *ssa.Call) bool { method isTainted (line 524) | func (a *Analyzer) isTainted(v ssa.Value, fn *ssa.Function, visited ma... method isSourceType (line 779) | func (a *Analyzer) isSourceType(t types.Type) bool { method isSourceFuncCall (line 816) | func (a *Analyzer) isSourceFuncCall(call *ssa.Call) bool { method isParameterTainted (line 838) | func (a *Analyzer) isParameterTainted(param *ssa.Parameter, fn *ssa.Fu... method isFreeVarTainted (line 930) | func (a *Analyzer) isFreeVarTainted(fv *ssa.FreeVar, fn *ssa.Function,... method isFieldAccessTainted (line 969) | func (a *Analyzer) isFieldAccessTainted(fa *ssa.FieldAddr, fn *ssa.Fun... method isFieldTaintedOnValue (line 1039) | func (a *Analyzer) isFieldTaintedOnValue(v ssa.Value, fieldIdx int, fn... method isFieldOfAllocTainted (line 1073) | func (a *Analyzer) isFieldOfAllocTainted(alloc *ssa.Alloc, fieldIdx in... method isFieldAccessOnPointerTainted (line 1100) | func (a *Analyzer) isFieldAccessOnPointerTainted(unop *ssa.UnOp, field... method isFieldTaintedViaCall (line 1110) | func (a *Analyzer) isFieldTaintedViaCall(call *ssa.Call, fieldIdx int,... method isFieldOfAllocTaintedInCallee (line 1158) | func (a *Analyzer) isFieldOfAllocTaintedInCallee(alloc *ssa.Alloc, fie... method isCalleValueTainted (line 1192) | func (a *Analyzer) isCalleValueTainted(v ssa.Value, callee *ssa.Functi... method doTaintedArgsFlowToReturn (line 1284) | func (a *Analyzer) doTaintedArgsFlowToReturn(call *ssa.Call, callee *s... method valueReachableFromParams (line 1333) | func (a *Analyzer) valueReachableFromParams(v ssa.Value, taintedParams... method buildPath (line 1458) | func (a *Analyzer) buildPath(fn *ssa.Function) []*ssa.Function { function New (line 243) | func New(config *Config) *Analyzer { function formatSourceKey (line 277) | func formatSourceKey(src Source) string { function formatSinkKey (line 286) | func formatSinkKey(sink Sink) string { function formatSanitizerKey (line 298) | func formatSanitizerKey(san Sanitizer) string { function traceToAlloc (line 1423) | func traceToAlloc(v ssa.Value) *ssa.Alloc { function traceToAllocImpl (line 1428) | func traceToAllocImpl(v ssa.Value, seen map[ssa.Value]bool) *ssa.Alloc { FILE: taint/taint_suite_test.go function TestTaint (line 10) | func TestTaint(t *testing.T) { FILE: testutils/log.go function NewLogger (line 9) | func NewLogger() (*log.Logger, *bytes.Buffer) { FILE: testutils/pkg.go type buildObj (line 16) | type buildObj struct type TestPackage (line 23) | type TestPackage struct method AddFile (line 58) | func (p *TestPackage) AddFile(filename, content string) { method write (line 62) | func (p *TestPackage) write() error { method Build (line 76) | func (p *TestPackage) Build(opts ...Option) error { method CreateContext (line 120) | func (p *TestPackage) CreateContext(filename string, opts ...Option) *... method Close (line 150) | func (p *TestPackage) Close() { method Pkgs (line 160) | func (p *TestPackage) Pkgs() []*packages.Package { method PrintErrors (line 168) | func (p *TestPackage) PrintErrors() int { type Option (line 32) | type Option function WithBuildTags (line 35) | func WithBuildTags(tags []string) Option { function NewTestPackage (line 43) | func NewTestPackage() *TestPackage { FILE: testutils/sample_types.go type CodeSample (line 6) | type CodeSample struct FILE: testutils/visitor.go type MockVisitor (line 11) | type MockVisitor struct method Visit (line 23) | func (v *MockVisitor) Visit(n ast.Node) ast.Visitor { function NewMockVisitor (line 18) | func NewMockVisitor() *MockVisitor {