Compare commits

...

1 Commits

Author SHA1 Message Date
Jean Helie
78a34811b2 wip 2022-06-02 18:30:52 +02:00
4 changed files with 52 additions and 61 deletions

View File

@@ -34,24 +34,18 @@ class XssSinkType extends EndpointType, TXssSinkType {
override int getEncoding() { result = 1 } override int getEncoding() { result = 1 }
} }
// /** The `NosqlInjectionSink` class that can be predicted by endpoint scoring models. */
/** The `NosqlInjectionSink` class that can be predicted by endpoint scoring models. */ // class NosqlInjectionSinkType extends EndpointType, TNosqlInjectionSinkType {
class NosqlInjectionSinkType extends EndpointType, TNosqlInjectionSinkType { // override string getDescription() { result = "NosqlInjectionSink" }
override string getDescription() { result = "NosqlInjectionSink" } // override int getEncoding() { result = 2 }
// }
override int getEncoding() { result = 2 } // /** The `SqlInjectionSink` class that can be predicted by endpoint scoring models. */
} // class SqlInjectionSinkType extends EndpointType, TSqlInjectionSinkType {
// override string getDescription() { result = "SqlInjectionSink" }
/** The `SqlInjectionSink` class that can be predicted by endpoint scoring models. */ // override int getEncoding() { result = 3 }
class SqlInjectionSinkType extends EndpointType, TSqlInjectionSinkType { // }
override string getDescription() { result = "SqlInjectionSink" } // /** The `TaintedPathSink` class that can be predicted by endpoint scoring models. */
// class TaintedPathSinkType extends EndpointType, TTaintedPathSinkType {
override int getEncoding() { result = 3 } // override string getDescription() { result = "TaintedPathSink" }
} // override int getEncoding() { result = 4 }
// }
/** The `TaintedPathSink` class that can be predicted by endpoint scoring models. */
class TaintedPathSinkType extends EndpointType, TTaintedPathSinkType {
override string getDescription() { result = "TaintedPathSink" }
override int getEncoding() { result = 4 }
}

View File

@@ -14,9 +14,9 @@ import experimental.adaptivethreatmodeling.EndpointFeatures as EndpointFeatures
import experimental.adaptivethreatmodeling.EndpointScoring as EndpointScoring import experimental.adaptivethreatmodeling.EndpointScoring as EndpointScoring
import experimental.adaptivethreatmodeling.EndpointTypes import experimental.adaptivethreatmodeling.EndpointTypes
import experimental.adaptivethreatmodeling.FilteringReasons import experimental.adaptivethreatmodeling.FilteringReasons
import experimental.adaptivethreatmodeling.NosqlInjectionATM as NosqlInjectionATM // import experimental.adaptivethreatmodeling.NosqlInjectionATM as NosqlInjectionATM
import experimental.adaptivethreatmodeling.SqlInjectionATM as SqlInjectionATM // import experimental.adaptivethreatmodeling.SqlInjectionATM as SqlInjectionATM
import experimental.adaptivethreatmodeling.TaintedPathATM as TaintedPathATM // import experimental.adaptivethreatmodeling.TaintedPathATM as TaintedPathATM
import experimental.adaptivethreatmodeling.XssATM as XssATM import experimental.adaptivethreatmodeling.XssATM as XssATM
import Labels import Labels
import NoFeaturizationRestrictionsConfig import NoFeaturizationRestrictionsConfig
@@ -24,13 +24,13 @@ import Queries
/** Gets the ATM configuration object for the specified query. */ /** Gets the ATM configuration object for the specified query. */
AtmConfig getAtmCfg(Query query) { AtmConfig getAtmCfg(Query query) {
query instanceof NosqlInjectionQuery and // query instanceof NosqlInjectionQuery and
result instanceof NosqlInjectionATM::NosqlInjectionAtmConfig // result instanceof NosqlInjectionATM::NosqlInjectionAtmConfig
or // or
query instanceof SqlInjectionQuery and result instanceof SqlInjectionATM::SqlInjectionAtmConfig // query instanceof SqlInjectionQuery and result instanceof SqlInjectionATM::SqlInjectionAtmConfig
or // or
query instanceof TaintedPathQuery and result instanceof TaintedPathATM::TaintedPathAtmConfig // query instanceof TaintedPathQuery and result instanceof TaintedPathATM::TaintedPathAtmConfig
or // or
query instanceof XssQuery and result instanceof XssATM::DomBasedXssAtmConfig query instanceof XssQuery and result instanceof XssATM::DomBasedXssAtmConfig
} }
@@ -39,12 +39,12 @@ deprecated ATMConfig getATMCfg(Query query) { result = getAtmCfg(query) }
/** Gets the ATM data flow configuration for the specified query. */ /** Gets the ATM data flow configuration for the specified query. */
DataFlow::Configuration getDataFlowCfg(Query query) { DataFlow::Configuration getDataFlowCfg(Query query) {
query instanceof NosqlInjectionQuery and result instanceof NosqlInjectionATM::Configuration // query instanceof NosqlInjectionQuery and result instanceof NosqlInjectionATM::Configuration
or // or
query instanceof SqlInjectionQuery and result instanceof SqlInjectionATM::Configuration // query instanceof SqlInjectionQuery and result instanceof SqlInjectionATM::Configuration
or // or
query instanceof TaintedPathQuery and result instanceof TaintedPathATM::Configuration // query instanceof TaintedPathQuery and result instanceof TaintedPathATM::Configuration
or // or
query instanceof XssQuery and result instanceof XssATM::Configuration query instanceof XssQuery and result instanceof XssATM::Configuration
} }

View File

@@ -4,24 +4,24 @@
* Maps ML-powered queries to their `EndpointType` for clearer labelling while evaluating ML model during training. * Maps ML-powered queries to their `EndpointType` for clearer labelling while evaluating ML model during training.
*/ */
import experimental.adaptivethreatmodeling.SqlInjectionATM as SqlInjectionATM // import experimental.adaptivethreatmodeling.SqlInjectionATM as SqlInjectionATM
import experimental.adaptivethreatmodeling.NosqlInjectionATM as NosqlInjectionATM // import experimental.adaptivethreatmodeling.NosqlInjectionATM as NosqlInjectionATM
import experimental.adaptivethreatmodeling.TaintedPathATM as TaintedPathATM // import experimental.adaptivethreatmodeling.TaintedPathATM as TaintedPathATM
import experimental.adaptivethreatmodeling.XssATM as XssATM import experimental.adaptivethreatmodeling.XssATM as XssATM
import experimental.adaptivethreatmodeling.AdaptiveThreatModeling import experimental.adaptivethreatmodeling.AdaptiveThreatModeling
from string queryName, AtmConfig c, EndpointType e from string queryName, AtmConfig c, EndpointType e
where where
( (
queryName = "SqlInjection" and // queryName = "SqlInjection" and
c instanceof SqlInjectionATM::SqlInjectionAtmConfig // c instanceof SqlInjectionATM::SqlInjectionAtmConfig
or // or
queryName = "NosqlInjection" and // queryName = "NosqlInjection" and
c instanceof NosqlInjectionATM::NosqlInjectionAtmConfig // c instanceof NosqlInjectionATM::NosqlInjectionAtmConfig
or // or
queryName = "TaintedPath" and // queryName = "TaintedPath" and
c instanceof TaintedPathATM::TaintedPathAtmConfig // c instanceof TaintedPathATM::TaintedPathAtmConfig
or // or
queryName = "Xss" and c instanceof XssATM::DomBasedXssAtmConfig queryName = "Xss" and c instanceof XssATM::DomBasedXssAtmConfig
) and ) and
e = c.getASinkEndpointType() e = c.getASinkEndpointType()

View File

@@ -16,18 +16,15 @@ abstract class Query extends TQuery {
string toString() { result = getName() } string toString() { result = getName() }
} }
class NosqlInjectionQuery extends Query, TNosqlInjectionQuery { // class NosqlInjectionQuery extends Query, TNosqlInjectionQuery {
override string getName() { result = "NosqlInjection" } // override string getName() { result = "NosqlInjection" }
} // }
// class SqlInjectionQuery extends Query, TSqlInjectionQuery {
class SqlInjectionQuery extends Query, TSqlInjectionQuery { // override string getName() { result = "SqlInjection" }
override string getName() { result = "SqlInjection" } // }
} // class TaintedPathQuery extends Query, TTaintedPathQuery {
// override string getName() { result = "TaintedPath" }
class TaintedPathQuery extends Query, TTaintedPathQuery { // }
override string getName() { result = "TaintedPath" }
}
class XssQuery extends Query, TXssQuery { class XssQuery extends Query, TXssQuery {
override string getName() { result = "Xss" } override string getName() { result = "Xss" }
} }