Class: Scanny::Checks::Check
- Inherits:
-
Object
- Object
- Scanny::Checks::Check
show all
- Defined in:
- lib/scanny/checks/check.rb
Direct Known Subclasses
AccessControlCheck, BackticksCheck, BeforeFiltersCheck, CSRFCheck, DenialOfServiceCheck, FileOpenCheck, FrameworksCheck, HTTPBasicAuthCheck, HTTPRedirectCheck, HTTPRequestCheck, HTTPUsageCheck, HttpHeader::HeaderInjectionCheck, InformationLeakCheck, InputFilteringCheck, InsecureMethod::EvalMethodCheck, InsecureMethod::MarshalCheck, InsecureMethod::SystemMethodCheck, MassAssignmentCheck, RandomNumbersCheck, RedirectWithParamsCheck, RegexpCheck, ResetSessionCheck, SSL::VerifyCheck, SSL::VerifyPeerCheck, Session::AccessToSessionCheck, Session::SessionSecureCheck, SetRailsEnvCheck, SetSecretCheck, SetSessionKeyCheck, ShellExpandingMethodsCheck, SkipBeforeFiltersCheck, Sql::SqlCheck, SystemTools::GpgUsageCheck, SystemTools::SudoCheck, SystemTools::TarCheck, SystemTools::TarCommandsCheck, SystemTools::UnzipCheck, TempFileOpenCheck, UserFindCheck, ValidatesCheck, VerifyMethodCheck, XssFlashCheck, XssLoggerCheck, XssMarkCheck, XssSendCheck
Instance Method Summary
collapse
Instance Method Details
#compiled_pattern ⇒ Object
28
29
30
|
# File 'lib/scanny/checks/check.rb', line 28
def compiled_pattern
@compiled_pattern ||= Machete::Parser.new.parse(pattern)
end
|
#issue(impact, message, options = {}) ⇒ Object
20
21
22
|
# File 'lib/scanny/checks/check.rb', line 20
def issue(impact, message, options = {})
@issues << Issue.new(@file, @line, impact, message, options[:cwe])
end
|
#pattern ⇒ String
Returns pattern used to find relevant nodes. It must respect Machete’s syntax.
15
16
17
18
|
# File 'lib/scanny/checks/check.rb', line 15
def pattern
raise "The Check class requires its childrens to provide an "\
"implementation of the 'pattern' method."
end
|
#strict? ⇒ Boolean
24
25
26
|
# File 'lib/scanny/checks/check.rb', line 24
def strict?
false
end
|
#visit(file, node) ⇒ Object
4
5
6
7
8
9
10
11
12
|
# File 'lib/scanny/checks/check.rb', line 4
def visit(file, node)
@file = file
@line = node.line
@issues = []
check(node)
@issues
end
|