Được TopGit lập chỉ mục từ metadata GitHub: yahoo/gryffin có 2.1k sao, viết chủ yếu bằng Go. Gryffin is a large scale web security scanning platform.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Gryffin is a large scale web security scanning platform. It is not yet another scanner. It was written to solve two specific problems with existing scanners: coverage and scale.
Better coverage translates to fewer false negatives. Inherent scalability translates to capability of scanning, and supporting a large elastic application infrastructure. Simply put, the ability to scan 1000 applications today to 100,000 applications tomorrow by straightforward horizontal scaling.
Coverage
Coverage has two dimensions - one during crawl and the other during fuzzing. In crawl phase, coverage implies being able to find as much of the application footprint. In scan phase, or while fuzzing, it implies being able to test each part of the application for an applied set of vulnerabilities in a deep.
Crawl Coverage
Today a large number of web applications are template-driven, meaning the same code or path generates millions of URLs. For a security scanner, it just needs one of the millions of URLs generated by the same code or path. Gryffin's crawler does just that.
Page Deduplication
At the heart of Gryffin is a deduplication engine that compares a new page with already seen pages. If the HTML structure of the new page is similar to those already seen, it is classified as a duplicate and not crawled further.
DOM Rendering and Navigation
A large number of applications today are rich applications. They are heavily driven by client-side JavaScript. In order to discover links and code paths in such applications, Gryffin's crawler uses PhantomJS for DOM rendering and navigation.
Scan Coverage
As Gryffin is a scanning platform, not a scanner, it does not have its own fuzzer modules, even for fuzzing common web vulnerabilities like XSS and SQL Injection.
It's not wise to reinvent the wheel where you do not have to. Gryffin at production scale at Yahoo uses open source and custom fuzzers. Some of these custom fuzzers might be open sourced in the future, and might or might not be part of the Gryffin repository.
For demonstration purposes, Gryffin comes integrated with sqlmap and arachni. It does not endorse them or any other scanner in particular.
The philosophy is to improve scan coverage by being able to fuzz for just what you need.
Scale
While Gryffin is available as a standalone package, it's primarily built for scale.
Gryffin is built on the publisher-subscriber model. Each component is either a publisher, or a subscriber, or both. This allows Gryffin to scale horizontally by simply adding more subscriber or publisher nodes.
Operating Gryffin
Pre-requisites
Go - go1.13 or later
PhantomJS, v2
Sqlmap (for fuzzing SQLi)
Arachni (for fuzzing XSS and web vulnerabilities)
NSQ ,
running lookupd at port 4160,4161
running nsqd at port 4150,4151
with --max-msg-size=5000000
Kibana and Elastic search, for dashboarding
listening to JSON over port 5000
Preconfigured docker image available in https://hub.docker.com/r/yukinying/elk/
Installation
go get -u github.com/yahoo/gryffin/...
Run
(WIP)
TODO
Mobile browser user agent
Preconfigured docker images
Redis for sharing states across machines
Instruction to run gryffin (distributed or standalone)
Documentation for html-distance
Implement a JSON serializable cookiejar.
Identify duplicate url patterns based on simhash result.
Talks and Slides
AppsecUSA 2015: abstract, slide, recording
Credits
Adonis Fung @ Yahoo, for the asynchronous phantomjs based crawler and DOM event navigator.
Simhash algorithm by Moses Charikar
Simhash implementation provided by mfonda/simhash.
Sqlmap
Arachni
Licence
Code licensed under the BSD-style license. See LICENSE file for terms.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/yahoo/gryffin là nguồn chính thức.
yahoo/gryffin có phải mã nguồn mở không?
Có — yahoo/gryffin phát hành theo license BSD-3-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/yahoo/gryffin.
yahoo/gryffin có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho yahoo/gryffin. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
yahoo/gryffin dùng license gì?
yahoo/gryffin phát hành theo license BSD-3-Clause. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
yahoo/gryffin là gì?
yahoo/gryffin (yahoo/gryffin) là dự án Go trên GitHub. Theo mô tả gốc: Gryffin is a large scale web security scanning platform.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về gryffin?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về gryffin.