cats
Our great sponsors
bachelor-thesis | cats | |
---|---|---|
2 | 22 | |
1 | 1,091 | |
- | 3.4% | |
0.0 | 9.7 | |
over 2 years ago | 4 days ago | |
TeX | Java | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bachelor-thesis
-
Show HN: OpenAPI fuzzer – fuzzing APIs based on OpenAPI specification
Yes, we looked into it. There is a chapter in my thesis[0] about RESTler and comparison with OpenAPI fuzzer. The main difference between those two fuzzer is that RESTler is a statefull fuzzer and OpenAPI fuzzer is a stateless fuzzer.
Thanks to being statefull, RESTler is able to analyze a dependencies between a requests. For example, it will not call and endpoint to get user details before calling endpoint to create a user. This should make it more efficient because it does not waste requests to calling endpoint that will return 404.
On the other hand, fuzzing is all about trying to supply unexpected input to the software. Therefore, OpenAPI fuzzer makes those requests, since it may cause some undefined behavior when we try to get user before creating one.
So while RESTler tries to check some invariant (for example if deleted user cannot be accessed) OpenAPI fuzzer tries to cause the service to crash by invalid input. RESTler is usually not able to crash the service by providing invalid input, because it needs to keep the fuzzing dictionary small (bigger dictionary would make the dependency finding slow). So I think, they complements each other nicely.
Another difference it in reporting error. RESTler considers only status code 500 as an error. However, OpenAPI specification states all possible status codes that we can get from an endpoint. OpenAPI fuzzer utilizes this and reports every time it receives and unexpected status code.
0: https://github.com/matusf/bachelor-thesis/releases/download/...
cats
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
- Yet Another REST API Fuzzer
-
CWE Top Most Dangerous Software Weaknesses
Out of this frustration I've built: https://github.com/Endava/cats. It's for APIs, but mostly addressing exactly this case: don't use strings for everything, if you choose to use it though, make sure you add patterns for checking if things are valid, make sure you think about all the corner cases and all the weird characters that can brake you app, and so on.
-
API Security Testing
If the API has an OpenAPI spec available, you can use: https://github.com/Endava/cats
-
Cucumber Maintainer out of Job and future of the project is uncertain
This is why we need better tools which will give benefits for the added complexity. If you need to create both the feature files AND the code, it's just complexity with little benefits. But frameworks like https://github.com/karatelabs/karate or https://github.com/Endava/cats are hiding this complexity and remove the code layer entirely. Which, in my view, this is where you need to be in 2023, particularly for API testing.
-
Invisible Characters
I've built a tool specifically to test if these kind of characters will reach API backends: https://github.com/Endava/cats. My idea was that APIs should explicitly reject or sanitise input containing such characters.
- REST API fuzzer with minimum configuration
- Learnings from 5 Years of Tech Startup Code Audits
-
ce framework pentru fuzzing folositi ?
Cats by Endava
- am creat un web server in C imun la buffer overflows
What are some alternatives?
openapi-fuzzer - Black-box fuzzer that fuzzes APIs based on OpenAPI specification. Find bugs for free!
restler-fuzzer - RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.
mimic - [ab]using Unicode to create tragedy
RESTest - RESTest: Automated Black-Box Testing of RESTful Web APIs
mitmproxy2swagger - Automagically reverse-engineer REST APIs via capturing traffic
jcrapi2 - A Java Wrapper For Official Supercell Clash Royal Api
Logback - The reliable, generic, fast and flexible logging framework for Java.
Spotbugs - SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
awesome-saas-boilerplates
oss-fuzz - OSS-Fuzz - continuous fuzzing for open source software.