Commit Graph

48840 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
c67951682a C++: Fix two bad join orders in readStep and storeStep. And use a min aggregate to guarentee that a FieldContent's toString has at most one result. 2020-09-04 17:12:30 +02:00
Taus Brock-Nannestad
266365d0b6 Python: Update strange-essaflow test 2020-09-04 16:38:59 +02:00
Taus Brock-Nannestad
260763a748 Python: Update consistency test results 2020-09-04 16:35:49 +02:00
Taus Brock-Nannestad
df1448cfb2 Merge branch 'main' into python-remove-spurious-global-flow 2020-09-04 16:28:03 +02:00
Chris Smowton
56f6e67671 Protobufs: improve comment and code style
No functional changes
2020-09-04 15:14:49 +01:00
Chris Smowton
65dc6272d1 Remove prototype tests
I don't think we need these when we have the end-to-end taintFlows test.
2020-09-04 15:14:49 +01:00
Chris Smowton
b639b6ec6a Remove redundant copies of the generated protoc output 2020-09-04 15:14:49 +01:00
Chris Smowton
8058d096d2 Model and test UnmarshalOptions.Unmarshal
Support for UnmarshalOptions.UnmarshalState is dropped for now as too hard to model.
2020-09-04 15:14:49 +01:00
Chris Smowton
c2ff2df403 Add test showing false-negative for MarshalState 2020-09-04 15:14:49 +01:00
Chris Smowton
42d6250b8d Add modern-API variants of tests 2020-09-04 15:14:49 +01:00
Chris Smowton
8682eb9dec Add tests showing imprecision of our current implementation 2020-09-04 15:14:49 +01:00
Chris Smowton
a832342ecb Add test for unmarshalling submessages 2020-09-04 15:14:49 +01:00
Chris Smowton
596204f79d Add (currently-failing) expectations for submessage tainting 2020-09-04 15:14:49 +01:00
Chris Smowton
c9296abe25 Restrict tainting from field-writes to Message types 2020-09-04 15:14:49 +01:00
Chris Smowton
95798590ce Implement MarshalState method
Currently relies on blanket field-write propagation.
2020-09-04 15:14:49 +01:00
Chris Smowton
c34fc3c9ad Add tests for MarshalAppend and MarshalState
The MarshalState test doesn't work yet, because we don't know to read taint from the Message field of the input or write it to the Buf field of the output
2020-09-04 15:14:49 +01:00
Chris Smowton
2ca6157836 Protobuf: support both legacy and modern APIs 2020-09-04 15:14:49 +01:00
Chris Smowton
df0238a352 Fix proto.Clone method
This is top-level, not a member.
2020-09-04 15:14:49 +01:00
Chris Smowton
e76c07d77b Temporarily taint all structs from field writes
This should be either refined to just Message types, or else a macro taint step should be added conducting taint from field-write-of-argument to Marshal's result.

On the read-side we're currently fine: the bytes are tainted, so the object is tainted, so the field reads are tainted.
2020-09-04 15:14:49 +01:00
Chris Smowton
19e1dacced WIP: add more (manual) protobuf models, and a test that checks various taint-flow cases
Only some of the cases are currently working.
2020-09-04 15:14:49 +01:00
Sauyon Lee
4ff325aa13 --wip-- [skip ci] 2020-09-04 15:14:49 +01:00
Geoffrey White
156a174cf4 C++: Add explanation. 2020-09-04 14:55:55 +01:00
Geoffrey White
96098c5244 C++: Simplify getConstructedFrom. 2020-09-04 14:52:01 +01:00
Taus
5ffc959e32 Merge pull request #4211 from RasmusWL/python-strange-essaflow
Python: Add example of strange DataFlow::jumpStep
2020-09-04 15:47:22 +02:00
Geoffrey White
2472b40b31 C++: Fix test comments. 2020-09-04 14:37:23 +01:00
Geoffrey White
43d8e83258 Merge branch 'main' into taintbits 2020-09-04 14:26:42 +01:00
Rasmus Wriedt Larsen
720e8c432e Python: Update comment for validTest expectations 2020-09-04 15:08:57 +02:00
Geoffrey White
5d1c2a3689 Merge pull request #4204 from jbj/SimpleRangeAnalysis-NEExpr
C++: Support `!= constant` in range analysis
2020-09-04 13:47:59 +01:00
Rasmus Wriedt Larsen
cf57afd102 Python: Add example of strange DataFlow::jumpStep
The example code is just copied from command injection tests, that is not too
important. The important part is that `jumpStep` says there is flow from the
import of `os` to `app.route()` :O
2020-09-04 14:39:16 +02:00
Taus
59c7907ee4 Merge pull request #4207 from RasmusWL/python-typetracker-small-fixes
Python: Small fixes for TypeTracker
2020-09-04 14:30:10 +02:00
Taus Brock-Nannestad
98266ad5da Python: Remove implicit uses from essaFlowStep 2020-09-04 14:22:43 +02:00
Erik Krogh Kristensen
f13a4f5771 require that the plugin and sink are in the same toplevel 2020-09-04 13:59:16 +02:00
Rasmus Wriedt Larsen
6aae75799e Python: Fix import in type tracking test
Fixes 7855576a6
2020-09-04 13:36:25 +02:00
CodeQL CI
fd715a5b66 Merge pull request #4179 from RasmusWL/python-tainttracking-ala-go
Approved by tausbn, yoff
2020-09-04 12:20:12 +01:00
Erik Krogh Kristensen
d47c852767 autoformat 2020-09-04 12:44:18 +02:00
Jonas Jensen
958f89905d Merge pull request #4197 from github/aeisenberg/devcontainer-settings
Update devcontainer memory settings
2020-09-04 12:42:34 +02:00
Slavomir
095baeb8b6 Remove taint-tracking of booleans and numbers (but keep uintptr) 2020-09-04 12:06:34 +02:00
Max Schaefer
cfc91cc5f1 JavaScript: Drop "feature" terminology.
It turned out to be more confusing than helpful, so we're back with plain old API-graph "nodes".
2020-09-04 10:57:21 +01:00
Erik Krogh Kristensen
9ed9ecd333 copied updated dbscheme to upgrade folder 2020-09-04 11:55:39 +02:00
Erik Krogh Kristensen
6e54cf426c autoformat 2020-09-04 11:55:39 +02:00
Erik Krogh Kristensen
5a159abd75 renamed "interfacedefinition" to "interface_definition" 2020-09-04 11:55:33 +02:00
Erik Krogh Kristensen
3785a10ee8 renamed "classdefinition" to "class_definition" 2020-09-04 11:55:32 +02:00
Erik Krogh Kristensen
5467efe117 renamed "typeassertion" to "type_assertion" 2020-09-04 11:55:31 +02:00
Erik Krogh Kristensen
4af9508506 renamed "importspecifier" to "import_specifier" 2020-09-04 11:55:30 +02:00
Erik Krogh Kristensen
35caaf5c93 renamed "comprehensionblock" to "comprehension_block" 2020-09-04 11:55:30 +02:00
Erik Krogh Kristensen
273ae710b0 renamed "comprehensionexpr" to "comprehension_expr" 2020-09-04 11:55:29 +02:00
Erik Krogh Kristensen
586a823ce7 renamed "exprparent" to "expr_parent" 2020-09-04 11:55:28 +02:00
Erik Krogh Kristensen
b28cbf310e renamed "typedefinition" to "type_definition" 2020-09-04 11:55:28 +02:00
Erik Krogh Kristensen
bcbd1f045f renamed "namespacedefinition" to "namespace_definition" 2020-09-04 11:55:27 +02:00
Erik Krogh Kristensen
8c812dcdfb renamed "exportdeclaration" to "export_declaration" 2020-09-04 11:55:26 +02:00