Skip to content

Commit

Permalink
Completely revamp github pages
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 665809757
Change-Id: Ib10225dfcdf006994ed539a82c6c982d93f98c31
  • Loading branch information
tooryx authored and copybara-github committed Aug 21, 2024
1 parent a53590c commit a06a27d
Show file tree
Hide file tree
Showing 18 changed files with 196 additions and 18 deletions.
8 changes: 8 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
remote_theme: pages-themes/[email protected]
url: https://google.github.io
baseurl: /tsunami-security-scanner
paginate: 5
paginate_path: "/blog/page:num/"
plugins:
- jekyll-remote-theme
- jekyll-paginate
14 changes: 14 additions & 0 deletions docs/_data/nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
- title: "What's new"
path: /

- title: "All articles"
path: /blog/

- title: "Documentation"
path: /howto/

- title: "Contributing"
path: /contribute/

- title: "About Tsunami"
path: /about/
11 changes: 11 additions & 0 deletions docs/_includes/nav.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{% for nav in site.data.nav %}
{% if nav.subcategories != null %}
{% for subcategory in nav.subcategories %}
<a class="btn" href="{{ subcategory.path | relative_url }}">{{ subcategory.title }}</a>
{% endfor %}
{% elsif nav.title == page.title %}
<a class="btn" href="{{ nav.path | relative_url }}">{{ nav.title }}</a>
{% else %}
<a class="btn" href="{{ nav.path | relative_url }}">{{ nav.title }}</a>
{% endif %}
{% endfor %}
42 changes: 42 additions & 0 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">

{% seo %}
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="preload" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap" as="style" type="text/css" crossorigin>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#157878">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
{% include head-custom.html %}
</head>
<body>
<a id="skip-to-content" href="#content">Skip to the content.</a>

<header class="page-header" role="banner">
<h1 class="project-name">{{ page.title | default: site.title | default: site.github.repository_name }}</h1>
<h2 class="project-tagline">{{ page.excerpt | default: site.description | default: site.github.project_tagline }}</h2>
{% include nav.html %}
{% if site.github.is_project_page %}
<a href="{{ site.github.repository_url }}" class="btn">View on GitHub</a>
{% endif %}
{% if site.show_downloads %}
<a href="{{ site.github.zip_url }}" class="btn">Download .zip</a>
<a href="{{ site.github.tar_url }}" class="btn">Download .tar.gz</a>
{% endif %}
</header>

<main id="content" class="main-content" role="main">
{{ content }}

<footer class="site-footer">
{% if site.github.is_project_page %}
<span class="site-footer-owner"><a href="{{ site.github.repository_url }}">{{ site.github.repository_name }}</a> is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a>.</span>
{% endif %}
<span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a>.</span>
</footer>
</main>
</body>
</html>
5 changes: 5 additions & 0 deletions docs/_layouts/home.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
layout: none
---

{{ site.posts.first }}
11 changes: 11 additions & 0 deletions docs/_layouts/post.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: default
---
<h3>
Posted on {{ page.date | date_to_long_string: "ordinal" }} by
{% for author in page.authors %}
{{ author.name }}
{% endfor %}
</h3>

{{ content }}
52 changes: 52 additions & 0 deletions docs/_posts/2024-03-19-tsunami-network-scanner-ai-security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
authors:
- name: Annie Mao
excerpt: 'Interested in creating an AI-related plugin for the Tsunami network scanner and
getting rewarded for your efforts? See this post for details!'
title: 'Tsunami Network Scanner & AI Security'
---

You may already be familiar with the
[Tsunami Network Scanner](https://github.com/google/tsunami-security-scanner)
from our
[Patch Rewards program](https://bughunters.google.com/about/rules/4928084514701312/patch-rewards-program-rules#tsunami-patch-rewards),
which rewards external contributors for creating new
[detector plugins](https://github.com/google/tsunami-security-scanner-plugins/tree/master/google).
Now with AI being on everyone's minds, we want to double down on securing open
source AI infrastructure via Tsunami.

On our
[GitHub page](https://github.com/google/tsunami-security-scanner-plugins/issues),
you can find a list of AI-relevant **plugin & web fingerprint** implementation
requests tagged as "help wanted". **Anyone** can contribute to a Tsunami plugin
from this list, and the implementation will be reviewed & rewarded under our
Tsunami Patch Rewards program, with rewards ranging from $500 to $3,133.7
([details](https://bughunters.google.com/about/rules/4928084514701312/patch-rewards-program-rules#reward-amounts-tsunami-)).

Here are the rules of engagement for implementing AI-related plugins:

* **First come, first served**: Each contributor can pick up any of the
unassigned plugins, but please only take one **at a time**.
* **Reassignment of inactive plugins**: If an assigned plugin has not been
worked on for **over a week**, then the Tsunami review panel will unassign
the contributor from the plugin. The plugin request is returned to the
free-for-all pool.
* **Vulnerability Research**: As a first step, the contributor has to provide
detailed vulnerability research & an implementation design for the plugin to
the review panel, and then wait for confirmation from the review panel
before moving on to the implementation stage.
* **Testbed Requirement**: All test containers or configurations for each
plugin have to be submitted to
[google/security-testbeds](https://github.com/google/security-testbeds).
* **Review Priority**: If a contributor already has a different plugin in the
review queue, we will prioritize reviewing the ML plugin, unless the
originally provided plugin is critical.

Finally, we welcome you to propose new plugins that address critical security
issues in AI-serving frameworks and related tools on our
[GitHub page](https://github.com/google/tsunami-security-scanner-plugins/issues).
For faster acceptance, when sharing your proposal, please provide context on how
a given service is used in the AI ecosystem.

We're looking forward to collaborating with you to keep AI infrastructure
secure!
2 changes: 2 additions & 0 deletions docs/about/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# About Tsunami

## <a name="why_tsunami"></a>Why Tsunami?

When security vulnerabilities or misconfigurations are actively exploited by
Expand Down
13 changes: 13 additions & 0 deletions docs/assets/css/style.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
---

@import '{{ site.theme }}';

.pagination {
text-align: center;
background-color: #eee;
border-radius: 0.3rem;
padding: 3px;
margin-top: 0.75rem;
margin-bottom: 0.75rem;
}
28 changes: 28 additions & 0 deletions docs/blog/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Posts
layout: default
---

{% for post in paginator.posts %}
<h1><a href="{{ post.url | relative_url }}">{{ post.title }}</a></h1>
<h3 class="author">
Posted on <span class="date">{{ post.date | date_to_long_string: "ordinal" }}</span>
</h3>
<div class="content">
{{ post.excerpt }}
</div>
{% endfor %}

<div class="pagination">
{% if paginator.previous_page %}
<a href="{{ paginator.previous_page_path | relative_url }}">
Previous
</a> ::
{% endif %}
<span class="page_number ">
{{ paginator.page }} of {{ paginator.total_pages }}
</span>
{% if paginator.next_page %}
:: <a href="{{ paginator.next_page_path | relative_url }}">Next</a>
{% endif %}
</div>
File renamed without changes.
File renamed without changes.
5 changes: 5 additions & 0 deletions docs/contribute/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Contributing to Tsunami

{% include_relative contributing.md %}

{% include_relative code-of-conduct.md %}
File renamed without changes.
File renamed without changes
4 changes: 4 additions & 0 deletions docs/howto/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Tsunami documentation

- [How tsunami works]({{ site.baseurl }}/howto/orchestration)
- [Howto]({{ site.baseurl }}/howto/howto)
2 changes: 1 addition & 1 deletion docs/orchestration.md → docs/howto/orchestration.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ exposed network endpoint:

Following diagram shows the overall workflow for a Tsunami scan.

![orchestration](/docs/img/orchestration.svg)
![orchestration](img/orchestration.svg)

## Reconnaissance

Expand Down
17 changes: 0 additions & 17 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,17 +0,0 @@
# Tsunami

{% include_relative about/index.md %}

## <a name="orchestration"></a>How Tsunami Scan Works

See [Tsunami Scan Orchestration](/docs/orchestration.md).

## <a name="howto"></a>How do I ...

* ... [build and execute the scanner?](/docs/howto.md#build_n_execute)
* ... [install Tsunami plugins?](/docs/howto.md#install_plugins)
* ... [create a new Tsunami plugin?](/docs/howto.md#create_plugins)
* ...
[apply my plugins to certain types of services / software?](/docs/howto.md#filter_plugins)
* ... [add command line arguments for my plugin?](/docs/howto.md#command_line)
* ... [add configuration properties for my plugin?](/docs/howto.md#configuration)

0 comments on commit a06a27d

Please sign in to comment.