<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Juliana Gaioso</title>
    <description>The latest articles on DEV Community by Juliana Gaioso (@juligaioso).</description>
    <link>https://dev.to/juligaioso</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F262287%2F086cd382-8ebc-413b-8f62-a4ed3996c2d9.png</url>
      <title>DEV Community: Juliana Gaioso</title>
      <link>https://dev.to/juligaioso</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juligaioso"/>
    <language>en</language>
    <item>
      <title>AWS Community Builders: O que é e como se tornar [PT/BR]</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Wed, 17 Jan 2024 15:03:44 +0000</pubDate>
      <link>https://dev.to/aws-builders/aws-community-builders-o-que-e-e-como-se-tornar-ptbr-3h4m</link>
      <guid>https://dev.to/aws-builders/aws-community-builders-o-que-e-e-como-se-tornar-ptbr-3h4m</guid>
      <description>&lt;p&gt;TL,DR: Neste artigo irei falar sobre o programa AWS Community Builders, a minha experiência nos últimos 4 meses no programa e também como se inscrever para participar também.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é o AWS Community Builders?
&lt;/h2&gt;

&lt;p&gt;O programa é uma iniciativa da AWS para incentivar que pessoas em quaisquer níveis de senioridade que gostam de criar e compartilhar conteúdos. A AWS irá ajudar com recursos técnicos, cursos e seminários exclusivos (tanto técnicos quanto para ajudar a melhorar na criação e divulgação do conteúdo), eventos e networking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdl7nsvzbt7pg3am5prq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdl7nsvzbt7pg3am5prq8.png" alt="Quadro com os principais beneficios do programa" width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alguns dos principais benefícios que todos os AWS Community Builder recebem são:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Vouchers para exames AWS;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;$500 em créditos AWS/ano;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Um ano de Cloud Academy;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Seminários e eventos de discussões exclusivos;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Swag kit;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Além disso, existem alguns outros benefícios adicionais que são oferecidos durante as sessões, aos membros mais participativos e a minorias, como bolsas para viagens em eventos, créditos e swags extras.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como tem sido a minha experiência até aqui
&lt;/h2&gt;

&lt;p&gt;Sinceramente eu não imaginei que seria escolhida quando submeti, e esperava menos ainda que eu fosse curtir tanto a experiência, visto que não sou uma grande conhecedora de cloud, e principalmente porque meu foco atual é segurança ofensiva (e as regras para isso em ambientes cloud são bem... especificas). No entanto, estou gostando bastante da experiência.&lt;br&gt;
O primeiro ponto, para mim, é a ajuda para me organizar melhor enquanto criadora de conteúdo e também para melhorar a forma como eu &lt;em&gt;crio&lt;/em&gt;. O programa me ajudou muito a prezar mais por qualidade do conteúdo criado que a quantidade. Também me ajudou a desapegar de &lt;em&gt;alcance&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7r7pudp6a22bpph4wrlw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7r7pudp6a22bpph4wrlw.jpg" alt="quadro com o texto: Brazil na primeira linha, Juliana Gaioso na segunda linha e Security &amp;amp; Identity Builder since 2023 na terceira linha" width="800" height="241"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Outra coisa foi ter tido a chance de conhecer pessoas sensacionais do mundo todo. Conheci pessoas da América Latina, África, Leste Europeu e principalmente Índia. É bem enriquecedor ter contato com pessoas que olham para a mesma coisa que eu (segurança) mas com vivências tão diferentes da minha.&lt;br&gt;
Um último ponto que eu quero citar e que eu tenho gostado bastante é o contato com os times da AWS e o acesso antecipado a novos produtos. Sim! Os AWS Community Builders e AWS Heroes possuem sessões com os times da AWS para dar feedbacks sobre os serviços que eles oferecem, além de terem a chance de testar antes de todo mundo as novidades (várias coisas vem envoltas de um NDA, sempre bom lembrar). &lt;/p&gt;

&lt;h2&gt;
  
  
  Como se tornar um Community Builder
&lt;/h2&gt;

&lt;p&gt;Uma diferença do programa da AWS para outros semelhantes como o Microsoft MVP e o Github Stars é que aqui é a própria pessoa quem deve se candidatar. E isso é muito legal, pois você não precisa ainda ter um grande público para conseguir, basta ter um &lt;em&gt;conteúdo de qualidade&lt;/em&gt;.&lt;br&gt;
Anualmente a AWS analisa novas submissões (que podem ser feitas &lt;a href="https://pulse.aws/application/ZDVCOXKA"&gt;neste link&lt;/a&gt;). Se o período de inscrição não estiver aberto quando você chegar aqui, é possível se inscrever na waitlist e eles te avisam quando as inscrições reabrirem.&lt;br&gt;
O programa tem duração de um ano. Depois, você pode reaplicar para continuar no programa (eu ainda não passei por este processo).&lt;br&gt;
Outro ponto importante de mencionar aqui: eles não olham a quantidade de contribuições, e sim a relevância delas. Ou seja: você não precisa ter cinco páginas de contribuições. Basta que o que você fez tenha qualidade.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Se você curtiu e quiser conversar sobre ou precisar de ajuda para se inscrever, eu estou a disposição para te ajudar. Basta me enviar um email em &lt;a href="mailto:hey@julianagaioso.wtf"&gt;hey@julianagaioso.wtf&lt;/a&gt; com o assunto AWS community builder (ou enviar um comentário, que eu responderei aqui).&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>aws</category>
      <category>braziliandevs</category>
      <category>cloud</category>
      <category>career</category>
    </item>
    <item>
      <title>Cloud Pentest 101</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Sun, 03 Dec 2023 22:07:25 +0000</pubDate>
      <link>https://dev.to/aws-builders/cloud-pentest-101-2nfb</link>
      <guid>https://dev.to/aws-builders/cloud-pentest-101-2nfb</guid>
      <description>&lt;h2&gt;
  
  
  Why Conduct Penetration Testing in the Cloud
&lt;/h2&gt;

&lt;p&gt;Most penetration testing methodologies are not cloud-native because this type of testing requires specific and diverse knowledge in both cloud and penetration testing, as well as expertise in areas such as authentication and authorization, APIs, and databases. That said, we need to consider the reasons for investing in this type of penetration testing: the main ones being the identification of risks and vulnerabilities. However, the tests can also help ensure that all best practices are being followed for audit purposes or internal improvement processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shared Responsibility Model
&lt;/h2&gt;

&lt;p&gt;There are various frameworks for cloud testing, and we will discuss the most common one: the shared responsibility model. In this model, the testing involves examining the security requirements of the cloud (rather than testing the security of the cloud itself). Essentially, the provider is responsible for ensuring that the platform is secure, while the customer ensures that the environment and its components are secure. In this model, it is the provider's responsibility to define the scope of the tests, the frequency at which they can be conducted, and any other agreements (SLA). You can learn more about the &lt;a href="https://aws.amazon.com/security/penetration-testing/"&gt;rules for testing&lt;/a&gt; and also about the &lt;a href="https://aws.amazon.com/compliance/shared-responsibility-model/"&gt;shared responsibility model&lt;/a&gt; in the AWS documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stages
&lt;/h2&gt;

&lt;p&gt;At this point, the penetration test is quite similar to any other penetration testing. We basically have three stages: Discovery, Exploitation, and Remediation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Discovery&lt;/strong&gt;&lt;br&gt;
The pentester will search for known vulnerabilities, misconfigurations, information, or anything else that allows penetration into the environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Exploitation&lt;/strong&gt;&lt;br&gt;
Using the information gathered in phase 1, the pentester will combine information to exploit vulnerabilities and gain access to the environment. The focus here may also be on resilience, monitoring, or service availability, in addition to collecting evidence of everything achieved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Remediation&lt;/strong&gt;&lt;br&gt;
Involves the follow-up of corrections and retests to ensure that the vulnerabilities have been addressed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- Understand the shared responsibility model&lt;/strong&gt;&lt;br&gt;
This ensures that you are working within the correct scope and areas that fall under your responsibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Clearly define the type of test&lt;/strong&gt;&lt;br&gt;
Before starting, determine whether it will be a gray box, black box, or white box test. This will help better define the tactics to be used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Understand your provider's SLA&lt;/strong&gt;&lt;br&gt;
Avoiding disruptions and unnecessary processes is always a good idea.&lt;/p&gt;

&lt;h2&gt;
  
  
  OWASP
&lt;/h2&gt;

&lt;p&gt;Just as for software and API development, &lt;a href="https://owasp.org/"&gt;OWASP&lt;/a&gt; maintains a list of the &lt;a href="https://owasp.org/www-project-cloud-native-application-security-top-10/"&gt;top ten vulnerabilities commonly exploited in cloud-native environments&lt;/a&gt;, along with a &lt;a href="https://github.com/OWASP/owasp-cstg"&gt;guide for security testing in cloud-native environments&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;First, thoroughly understand the shared responsibility model and all the involved SLAs. The next step is to understand how to exploit. In this stage, we will use &lt;a href="https://aws.amazon.com"&gt;AWS&lt;/a&gt; as an example cloud. See you in the next chapter :)&lt;/p&gt;

&lt;p&gt;*You can read this article in pt-br &lt;a href="https://julianagaioso.wtf/posts/cloud-pentest-101/"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>security</category>
      <category>pentest</category>
      <category>cloudnative</category>
    </item>
    <item>
      <title>O arco-íris da cybersegurança</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Mon, 10 Jul 2023 22:02:23 +0000</pubDate>
      <link>https://dev.to/juligaioso/o-arco-iris-da-cyberseguranca-fje</link>
      <guid>https://dev.to/juligaioso/o-arco-iris-da-cyberseguranca-fje</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TL;DR&lt;br&gt;
Neste texto vou explicar um pouco sobre as áreas de cyberseguranças definidas pelo Colour Team Structure, partindo pela origem de Red Teams e Blue Teams até o conceito mais atual de Rainbow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A maioria das vezes que alguém me fala que quer começar a trabalhar em cybersegurança, a pessoa quer me dizer, porém sem dizer com essas palavras, que quer trabalhar com red team. E, pelo que escuto, isso não é uma preferência ou glamourização causada pelo Mr. Robot, mas um desconhecimento de como um time de segurança funciona na prática.&lt;/p&gt;

&lt;h2&gt;
  
  
  Red Team X Blue team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfbuckj3pep53zeuu4qv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfbuckj3pep53zeuu4qv.gif" alt="Duas cobras, uma azul e uma vermelha, girando no espaço. a cobra azul gira em sentido horário e a vermelha em sentido anti-horário"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Os primeiros times a surgirem foram os Red teams e os Blue teams. Várias fontes apontam que os nomes surgiram graças a treinamentos das forças armadas americanas durante a guerra fria - os soldados eram divididos em dois times: os Red (que representavam a extinta URSS), eram responsáveis por atacar, enquanto os Blue (representando os EUA e a OTAN) se defendiam.&lt;/p&gt;

&lt;p&gt;E é basicamente isso que estes times fazem. Atacam e defendem o sistema que será protegido. Sendo mais descritiva:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red team:&lt;/strong&gt; são os "hackers éticos", ou white hat hack. Pessoas treinadas que utilizam técnicas e táticas semelhantes a dos black hats para encontrar vulnerabilidades no sistema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blue team:&lt;/strong&gt; estão a postos para proteger o sistema dos ataques. Dentre suas atribuições estão análise de logs, auditorias de segurança, testes DDoS e outros.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5w391ul5y8yhtkioto9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5w391ul5y8yhtkioto9.gif" alt="Power Rangers azul, vermelho e amarelo em posições de ataque"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No entanto, os gerentes notaram que os ataques avançavam muito mais rápido que a defesa. Para auxiliar, então, com desenvolvimento de ferramentas e infraestruturas, temos a criação do Yellow Team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Yellow team e a tríade primária de segurança
&lt;/h2&gt;

&lt;p&gt;A origem do nome Yellow Team vem das cores primárias. Já tinhamos os times vermelho e azul, a idéia é que, com o amarelo, seria possível misturar e conseguir times com vários focos, conforme fosse necessário.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjd3tou4y0lj452up6vs.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjd3tou4y0lj452up6vs.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Yellow Team, também conhecido como builders, é composto por programadores, arquitetos, testers e quaisquer outro profissional que irá auxiliar a criar e manter uma estrutura de segurança que o red team irá atacar - e o blue team, por consequência, defender.&lt;/p&gt;

&lt;h2&gt;
  
  
  Times secundários: misturando tudo e gerando o arco íris
&lt;/h2&gt;

&lt;p&gt;A partir dos três times fundamentais - Red, Blue e Yellow -, temos a criação de três outros times, que existem, basicamente, para cobrir possíveis brechas deixadas pelos três times.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Lembrando que são chamados de secundários por surgirem a partir da mistura de dois times primários, não por serem menos importantes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1uyexvw0ezjwigrwrqt.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1uyexvw0ezjwigrwrqt.gif" alt="Ursinhos carinhosos"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Da mistura do red team com o blue team, surge o &lt;strong&gt;purple team&lt;/strong&gt;. Sua missão é, basicamente, utilizar métodos e descobertas de ataque (red) para provisionar a defesa (blue). &lt;/p&gt;

&lt;p&gt;Entre o red team e o yellow team, temos o &lt;strong&gt;orange team&lt;/strong&gt;, que tem como principal missão auxiliar os builders com security awareness através de insights conseguidos com práticas de red team, de forma a aumentar a qualidade o código e arquitetura do sistema, com ênfase na segurança.&lt;/p&gt;

&lt;p&gt;Temos ainda entre os times blue e yellow o &lt;strong&gt;green team&lt;/strong&gt;, que busca provissionar o yellow team com uma visão de defesa.&lt;/p&gt;

&lt;p&gt;É comum que as empresas incorporem os orange e green teams ao Yellow, pois ainda não são conceitos totalmente maduros operacionalmente falando. Ao contrário dos purple teams, que já são amplamente maduros e difundidos por várias empresas mundo afora.&lt;/p&gt;

&lt;h2&gt;
  
  
  Governança, auditoria e afins
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzfmis15lsxtqd15n7svf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzfmis15lsxtqd15n7svf.gif" alt="Prisma com luz branca entrando e luzes coloridas saindo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para finalizar, temos a junção de todos eles: o &lt;strong&gt;white team&lt;/strong&gt;. Apesar de serem menos técnicos, especialmente se comparados aos outros, são extremamente importantes. Aqui temos as pessoas que irão cuidar de auditorias, normas, politicas, gestões de acesso... Enfim, toda a burocracia que é necessária para organizar os demais times, planejar as ações futuras e monitorar o que vem sendo feito.&lt;/p&gt;

&lt;p&gt;Desta forma, temos então o circulo cromático dos times de cybersegurança, descrito na imagem abaixo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xfu4wk6g9yczwr6n8fb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xfu4wk6g9yczwr6n8fb.png" alt="ciclo de times cybersegurança"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esta, apesar de ser a mais comumente citada (especialmente por causa das áreas de Red team e Blue team), não é a única forma de organizar times de segurança. Outros exemplos famosos são o framework da &lt;a href="https://www.nist.gov/cyberframework" rel="noopener noreferrer"&gt;Nist&lt;/a&gt;, o &lt;a href="https://www.cisecurity.org/controls" rel="noopener noreferrer"&gt;CIS&lt;/a&gt; e o &lt;a href="https://www.iso.org/standard/27001" rel="noopener noreferrer"&gt;ISO/IEC 27001&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Se você leu até aqui, muito obrigada. Me ajuda muito para conteúdos futuros saber o que você achou do texto. Pode ser aqui ou no meu email: &lt;a href="mailto:julianagaioso@protonmail.com"&gt;julianagaioso@protonmail.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>beginners</category>
      <category>braziliandevs</category>
      <category>security</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Vulnerabilidade de Software Para Devs</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Sat, 06 May 2023 13:24:16 +0000</pubDate>
      <link>https://dev.to/juligaioso/vulnerabilidade-de-software-para-devs-21ne</link>
      <guid>https://dev.to/juligaioso/vulnerabilidade-de-software-para-devs-21ne</guid>
      <description>&lt;p&gt;O mínimo que qualquer pessoa desenvolvedora deve saber sobre vulnerabilidades&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TL,DR&lt;br&gt;
O artigo aborda o conceito de vulnerabilidades, suas formas de exploração e classificação através de CVEs, além de apresentar as principais ferramentas utilizadas para identificá-las, bem como a importância do OWASP TOP 10 na garantia da segurança de aplicativos WEB.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Durante os vários anos que eu trabalhei como desenvolvedora, a segurança não era um grande problema na minha cabeça. A maior parte do tempo eu já recebia de forma meio pronta o que eu deveria fazer para corrigir a vulnerabilidade (geralmente indicada por um pentester ou pela OWASP).&lt;br&gt;
Hoje, trabalhando em um time de segurança, eu consigo perceber como a maior parte dos devs (e isso me inclui no passado) não possuem clareza sobre o que pode ser classificado como uma vulnerabilidade, como é feita a classificação e também como elas são descobertas. São estes temas que pretendo discorrer neste artigo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Entendendo o que é uma vulnerabilidade
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5qpkz9ekkv6urgzgunds.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5qpkz9ekkv6urgzgunds.gif" alt="IMulher gesticulando enquanto fala e a legenda "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basicamente, qualquer coisa que possa ser usada ou explorada de forma intenciona (e principalmente maliciosa) por pessoas que não deveriam poder realizar aquela ação.&lt;br&gt;
Uma vulnerabilidade pode vir de várias formas: erro de código ou de arquitetura de sistema, portas abertas na infraestrutura, falhas na configuração de políticas de acesso ou de rede, ausência de validações em entradas de dados, ausência ou má configuração de criptografias... Esta lista pode ser infinita.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9czaxeznex6f7si4a4x3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9czaxeznex6f7si4a4x3.gif" alt="Homem falando com a legenda "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Encontrando vulnerabilidades
&lt;/h2&gt;

&lt;p&gt;O grande trabalho dos times de segurança é encontrar as possíveis vulnerabilidades no sistema e corrigi-las antes que ocorra um ataque. Para isso, são usadas várias ferramentas. Aqui listaremos algumas das mais comuns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Teste de Penetração (Pentest)
&lt;/h3&gt;

&lt;p&gt;Não é necessariamente o mais comum, mas com certeza é o mais famoso, já que emula a forma como os crackers atacam o sistema. &lt;/p&gt;

&lt;h3&gt;
  
  
  Análise Estática de Segurança de Aplicação (Static Application Security Testing - SAST)
&lt;/h3&gt;

&lt;p&gt;É um scan que é realizado na base de código (incluindo binários, em alguns casos) para encontrar algumas vulnerabilidades de "assinatura", como por exemplo vulnerabilidade de dependências.&lt;/p&gt;

&lt;h3&gt;
  
  
  Análise Dinâmica de Segurança de Aplicação(Dynamic Application Security Testing - DAST)
&lt;/h3&gt;

&lt;p&gt;São testes automáticos que simulam um ataque ativo contra a aplicação, com o objetivo de encontrar vulnerabilidades.&lt;/p&gt;

&lt;h3&gt;
  
  
  Auditoria de configurações
&lt;/h3&gt;

&lt;p&gt;Geralmente é utilizado para validar que todas as configurações (como por exemplo as de IAM ou de criptografia) estão como o desejado, e que estão em pleno funcionamento.&lt;/p&gt;

&lt;h2&gt;
  
  
  Entendendo CVEs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1wrfwh73rk6zcyo35p9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1wrfwh73rk6zcyo35p9.gif" alt="Homem gesticulando enquanto fala e a legenda "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CVE - Common Vulnerabilities and Exposures é uma lista pública de falhas de segurança. São classificadas por um número do tipo CVE-2023-1234567, com os quatro primeiros algarismos sempre representando o ano em que a vulnerabilidade foi registrada. Este número é chamado de CNA (CVE Numbering Authority). Ao ser tornada pública, uma CVE necessariamente deve ter um CNA, uma descrição da vulnerabilidade e evidências da existência dela.&lt;br&gt;
A lista de CVEs é mantida pela &lt;a href="https://cve.mitre.org/" rel="noopener noreferrer"&gt;Mitre Corporation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reconhecendo uma CVE
&lt;/h3&gt;

&lt;p&gt;Para ser considerada uma CVE, uma vulnerabilidade deve atender a três critérios:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Resolução independente&lt;/strong&gt;&lt;br&gt;
A correção da vulnerabilidade não deve ser dependente da correção de nenhuma outra vulnerabilidade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Agente afetado reconhecido&lt;/strong&gt;&lt;br&gt;
O fornecedor ou mantenedor daquele software (ou hardware) deve reconhecer que determinada falha afeta a segurança do software OU alguém deve detalhar um relatório de vulnerabilidade expondo o impacto daquela falha, e também a forma como ela viola a politica daquele produto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Afetar somente um ambiente&lt;/strong&gt;&lt;br&gt;
Bugs que afetam ambientes diferentes possuem diferentes CVEs para cada produto. Em caso de bibliotecas compartilhadas (como no caso do &lt;a href="https://www.cisa.gov/news-events/news/apache-log4j-vulnerability-guidance" rel="noopener noreferrer"&gt;Log4J&lt;/a&gt;), só terá uma CVE única como uma vulnerabilidade caso seja impossível usar o código da biblioteca sem ser afetado pelo bug.&lt;/p&gt;

&lt;h2&gt;
  
  
  OWASP TOP 10
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b5v2whdx17zbmwgfak3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b5v2whdx17zbmwgfak3.gif" alt="Criança falando e a legenda "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://owasp.org/" rel="noopener noreferrer"&gt;OWASP&lt;/a&gt; é uma organização sem fins lucrativos que se dedica a garantir a segurança de aplicativos WEB. Regularmente ela publica um relatório chamado OWASP TOP 10, citando as dez vulnerabilidades mais exploradas. Este relatório é feito de forma colaborativa por uma equipe que reúne especialistas em segurança de todo o mundo. O último relatório foi publicado em 2021 e trouxe três novas vulnerabilidades para a lista.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17dz7x4n080xvpypdi0e.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17dz7x4n080xvpypdi0e.gif" alt="dois homens conversando enquanto um gesticula e a legenda "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste artigo, foi possível entender o que é uma vulnerabilidade, os tipos mais comuns, como são encontradas e classificadas através de CVEs e a importância do OWASP TOP 10. É evidente que a segurança da informação é cada vez mais importante no mundo digital em que vivemos e a conscientização sobre vulnerabilidades é fundamental para prevenir ataques cibernéticos e proteger dados sensíveis. Cabe aos desenvolvedores e equipes de segurança trabalharem juntos para garantir a segurança dos sistemas e a proteção das informações confidenciais dos usuários.&lt;/p&gt;

</description>
      <category>devsecops</category>
      <category>security</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>OWASP TOP 10 - SSRF</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Mon, 30 May 2022 11:07:00 +0000</pubDate>
      <link>https://dev.to/juligaioso/owasp-top-10-ssrf-1egb</link>
      <guid>https://dev.to/juligaioso/owasp-top-10-ssrf-1egb</guid>
      <description>&lt;p&gt;A &lt;a href="https://owasp.org/"&gt;OWASP&lt;/a&gt; é uma entidade internacional sem fins lucrativos que atua de forma colaborativa com o fortalecimento da segurança de software no mundo todo.&lt;/p&gt;

&lt;p&gt;De anos em anos ela atualiza a sua lista com as dez vulnerabilidades mais comuns na atualidade. A mais recente, de 2021, é:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;OWASP TOP 10: 2021

1. Broken Access Control
2. Cryptographic Failures
3. Injection
4. Insecure Design
5. Security Misconfiguration
6. Vulnerable and outdated components
7. Identification and Authentication Failures
8. Software and Data Integrity Failures
9. Security Logging and Monitoring Failures
10. Server-Side Request Forgery (SSRF)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nesse artigo, iremos explorar a vulnerabilidade 10, além de ver algumas formas de previnir ataques SSRF da ótica da pessoa desenvolvedora de software.&lt;/p&gt;

&lt;h2&gt;
  
  
  SSRF
&lt;/h2&gt;

&lt;p&gt;Server-Side Request Forgery - ou SSRF - é uma das adições da OWASP à lista de 2021. Ele funciona "enganando" o servidor, o levando a fazer uma requisição a uma rede externa, mas de forma que pareça estar sendo realizada uma requisição para uma rede interna. Assim, os atacantes conseguem acesso a áreas que não deveriam ser acessadas externamente, como intranets ou páginas administrativas. Este tipo de ataque pode expor dados sensíveis como metadados da cloud onde o serviço é hospedado, arquivos internos com informações sensíveis ou até mesmo executar ataques RCE ou DoS dentro do servidor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como se proteger via software
&lt;/h2&gt;

&lt;p&gt;A forma mais simples de evitar este problema é proteger a entrada do usuário, garantindo que somente as informações que são esperadas sejam permitidas. A melhor forma de garantir isso ainda é com uma boa cobertura de testes, tanto unitários quanto e2e. Desabilitar redirecionamentos HTTP, o uso de um URL Schema, port e destination, com uma lista das entradas autorizadas, o não envio de raw responses para o cliente e a garantia de consistência da URL também são medidas recomendadas para mitigar os riscos de um ataque SSRF.&lt;/p&gt;

&lt;p&gt;Na camada do frontend, a OWASP tem uma recomendação extra: o uso de criptografia de rede (como por exemplo VPNs) para lidar com grupos de usuários dedicados e/ou gerenciáveis.&lt;/p&gt;

&lt;p&gt;Existem ainda outras 9 vulnerabilidades, das quais iremos tratar em artigos posteriores.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lista de referências
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"&gt;OWASP - Server-Side Request Forgery Prevention Cheat Sheet&lt;/a&gt;&lt;br&gt;
&lt;a href="https://cwe.mitre.org/data/definitions/918.html"&gt;CWE-918 Server-Side Request Forgery (SSRF)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://cheatsheetseries.owasp.org/assets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet_SSRF_Bible.pdf"&gt;SSRF bible&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Imagem de &lt;a href="https://pixabay.com/pt/users/652234-652234/?utm_source=link-attribution&amp;amp;utm_medium=referral&amp;amp;utm_campaign=image&amp;amp;utm_content=1670222"&gt;Hands off my tags! Michael Gaida&lt;/a&gt; por &lt;a href="https://pixabay.com/pt/?utm_source=link-attribution&amp;amp;utm_medium=referral&amp;amp;utm_campaign=image&amp;amp;utm_content=1670222"&gt;Pixabay&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>owasp</category>
      <category>security</category>
      <category>devsec</category>
      <category>programming</category>
    </item>
    <item>
      <title>Coisas que ninguém te ensina a fazer mas que todo mundo espera que você saiba: escrever documentação</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Sun, 12 Sep 2021 16:07:03 +0000</pubDate>
      <link>https://dev.to/juligaioso/coisas-que-ninguem-te-ensina-a-fazer-mas-que-todo-mundo-espera-que-voce-saiba-escrever-documentacao-55ie</link>
      <guid>https://dev.to/juligaioso/coisas-que-ninguem-te-ensina-a-fazer-mas-que-todo-mundo-espera-que-voce-saiba-escrever-documentacao-55ie</guid>
      <description>&lt;p&gt;Documentar ou não documentar o código não é exatamente um consenso na comunidade. Muita gente diz que um código bem escrito é a própria documentação. O argumento contrário diz que se você é capaz de escrever um código legível, então você é capaz de documentá-lo. Ter uma documentação adequada do projeto (que é diferente de comentários soltos ao longo do código) ajuda tanto no onboarding de novos devs (é mais fácil entender como o projeto funciona quando tudo já está documentado) quanto para refatorar códigos que foram escritos já a algum tempo, evitando que ele se torne legado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation As Code
&lt;/h2&gt;

&lt;p&gt;DaC é uma forma de automatizar a escrita da documentação com as mesmas ferramentas do código que está sendo escrito. Desta forma, a documentação vai sendo escrita junto do código e ao mesmo tempo do código, o que torna a documentação um organismo vivo e continuamente atualizado. Uma das formas de se criar e manter esta documentação é justamente a colocando nos arquivos de código na forma de um comentário especiais (com marcações próprias) que podem ser extraídos por um framework especifico que gera a documentação de uma forma organizada (em HTML, PDF, Markdown e etc).&lt;/p&gt;

&lt;h2&gt;
  
  
  Framework
&lt;/h2&gt;

&lt;p&gt;Eu pessoalmente recomendo o &lt;a href="[https://jsdoc.app/](https://jsdoc.app/)"&gt;JSDoc&lt;/a&gt; para projetos frontend pela facilidade de usá-lo já com o javascript. Outras linguagens possuem seus próprios frameworks de documentação, como por exemplo o &lt;a href="https://www.phpdoc.org/" rel="noopener noreferrer"&gt;PHPDoc&lt;/a&gt;, o &lt;a href="https://swagger.io/" rel="noopener noreferrer"&gt;Swagger&lt;/a&gt; do Java e o &lt;a href="https://www.sphinx-doc.org/en/master/" rel="noopener noreferrer"&gt;Sphinx&lt;/a&gt;, do Python. &lt;/p&gt;

&lt;p&gt;A documentação geralmente é escrita na forma de um comentário no próprio código com uma marcação e depois é exportada automaticamente para um documento, que pode ser lido pelo time de desenvolvimento, de produto e até mesmo por usuários (em alguns casos).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz37if3ao23xvpflm62fd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz37if3ao23xvpflm62fd.png" alt="ex1b"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que documentar?
&lt;/h2&gt;

&lt;p&gt;Uma forma simples é descrever as partes principais e explicar a funcionalidade das partes menores (ou auxiliares). Fique atento ao paradigma que está sendo usado. Se você usa orientação a objeto, a parte principal será uma classe, e a parte auxiliar será um método. Em programação funcional, a parte principal e as auxiliares serão funções, então descreva a main e explique a utilidade das funções utilizadas na main.&lt;/p&gt;

&lt;p&gt;Outro ponto é que a documentação deve falar do negócio, e não do código. Um código bom e limpo é auto-explicável. A função da documentação é explicar a regra de negócio por trás dele e não o código em si.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como escrever?
&lt;/h2&gt;

&lt;p&gt;Eu pessoalmente acho que cada trecho de documentação deve caber em um tweet. A idéia não é escrever um artigo para cada parte, apenas ajudar a explicar o que acontece ali. No entanto, aqui é interessante procurar os padrões da comunidade da linguagem que você usa. Em Python, o padrão é ser mais extenso e, em alguns casos, até embutir testes nas docstrings.&lt;br&gt;
Tenha sempre em vista &lt;em&gt;quem&lt;/em&gt; vai ler a documentação. Se na sua equipe as pessoas de produto e operações também terão acesso ao documento, não é tão legal usar linguagem técnica demais.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkoh0zmyx3cd8a6ffbp4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkoh0zmyx3cd8a6ffbp4e.png" alt="ex2b"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que não documentar?
&lt;/h2&gt;

&lt;p&gt;Algumas coisas devem ser explicadas a nível de código, e não deveriam ir para a documentação do produto por referenciarem apenas a utilização de um código que não é auto explicável (como por exemplo uma RegExp). Quaisquer comentário que só faça sentido junto ao código não deve ir para a documentação. Todos, de forma geral, são uma prática ruim e não devem nunca ir para a documentação (ou produção). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizurpempod06f1lyalo8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizurpempod06f1lyalo8.png" alt="ex3b"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Seguindo o mapa da mina
&lt;/h2&gt;

&lt;p&gt;Caso seu time esteja adotando a escrita de documentação, veja esse texto como um mapa da mina, que vai auxiliar todos a chegar mais rápido nas especificações do software. Escreva com atenção, mantenha o documento sempre atualizado e o mais  importante: leia sempre, isso vai te ajudar bastante (especialmente em refatorações).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Para escrever este texto eu tive a revisão do &lt;a href="https://twitter.com/gwidion" rel="noopener noreferrer"&gt;João Bueno&lt;/a&gt; e do &lt;a href="https://twitter.com/caiodelgadonew" rel="noopener noreferrer"&gt;Caio Delgado&lt;/a&gt; e colaboração do &lt;a href="https://twitter.com/gwidion" rel="noopener noreferrer"&gt;João Bueno&lt;/a&gt;. Muito obrigada pela ajuda!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Coisas que ninguém te ensina a fazer mas que todo mundo espera que você saiba: submissão de C4P</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Sun, 11 Jul 2021 19:56:28 +0000</pubDate>
      <link>https://dev.to/juligaioso/coisas-que-ninguem-te-ensina-a-fazer-mas-que-todo-mundo-espera-que-voce-saiba-submissao-de-c4p-54f5</link>
      <guid>https://dev.to/juligaioso/coisas-que-ninguem-te-ensina-a-fazer-mas-que-todo-mundo-espera-que-voce-saiba-submissao-de-c4p-54f5</guid>
      <description>&lt;p&gt;Call For Papers (CFP ou C4P para os íntimos) é a documentação que deve ser submetida para uma conferência, um evento ou até mesmo uma publicação científica. Muitas vezes é o maior obstáculo para quem quer começar a palestrar, porque &lt;em&gt;não basta enviar para a comissão organizadora&lt;/em&gt;, seu C4P precisa se destacar dentre os demais e ser escolhido.&lt;br&gt;
Eu já recebi várias dicas ao longo da vida, tanto de pessoas ligadas à academia, que geralmente está mais focada em publicações científicas, como também de pessoas que contribuem ativamente em comunidades, mais focadas em evento. Este artigo é um compilado dessas dicas, aliadas com outras diversas e também com a minha experiência profissional para te ajudar a escrever um bom paper.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mini bio
&lt;/h3&gt;

&lt;p&gt;Aqui, mais importante do que saber quem é você é saber se você tem background para falar do assunto que você se propõe.  Tenha em mente que você não precisa ser especialista, mas um frontend falando de construção de banco de dados faz tanto sentido quanto um neurocirurgião falando de problemas ósseos no joelho.&lt;br&gt;
Seja breve aqui, provavelmente você terá um lugar para colocar seu currículo inteiro. Eu tento limitar aqui a um tweet (280 caracteres).&lt;/p&gt;

&lt;h3&gt;
  
  
  Titulo
&lt;/h3&gt;

&lt;p&gt;Pode ser marqueteiro aqui. Você tem pouco mais de 50 caracteres para tentar chamar a atenção das pessoas do evento, mas não fuja do assunto: ele precisa dizer de forma clara &lt;code&gt;o assunto que você vai abordar&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resumo
&lt;/h3&gt;

&lt;p&gt;Sabe quando você lê a sinopse de um livro ou de um filme e ela te atrai tanto que você não consegue parar de pensar nele? O seu resumo aqui tem essa função. É aqui que a sua palestra irá se destacar. Seu resumo deve ser breve (tente se limitar a dois tweets, algo em torno de 550 caracteres), e mais que isso: deve fazer com que a comissão &lt;em&gt;pelo menos&lt;/em&gt; queira ler o seu outline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Outline
&lt;/h3&gt;

&lt;p&gt;Aqui é o momento de colocar em prática o que você aprendeu nas aulas de redação do ensino médio. Tente estruturar seu outline como se ele fosse uma dissertação: introdução, desenvolvimento e conclusão. &lt;br&gt;
Na introdução, apresente o assunto, descreva o problema que você irá resolver. &lt;br&gt;
Eu gosto de dividir o desenvolvimento em dois parágrafos: um onde exploro o problema apresentado e outro mostrando um pouco da solução. &lt;br&gt;
Por fim, na conclusão, eu faço um resumo do texto todo e tento finalizar com a importância daquele tema.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enviando o C4P
&lt;/h3&gt;

&lt;p&gt;Nem todo evento possui a mesma estrutura, portanto, &lt;strong&gt;leia com atenção&lt;/strong&gt; o que eles pedem na submissão. Tente também pedir ajuda a um amigo ou mentor, opiniões externas sempre ajudam. &lt;br&gt;
Caso não consiga de primeira, não desista! Tente ver onde você pode melhorar na sua submissão, pratique, trabalhe mais na sua escrita e também no seu marketing pessoal. Eu te garanto que o trabalho irá valer a pena.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Este é o primeiro de uma série de textos onde irei organizar e compartilhar conteúdos que não são usuais, mas ainda assim, importantes.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>braziliandevs</category>
      <category>girlsintech</category>
    </item>
    <item>
      <title>I'm a newbie. Should I create contents?</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Sun, 06 Jun 2021 18:48:11 +0000</pubDate>
      <link>https://dev.to/juligaioso/i-m-a-newbie-should-i-create-contents-3ne0</link>
      <guid>https://dev.to/juligaioso/i-m-a-newbie-should-i-create-contents-3ne0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Short Answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long Answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is no one person who's know everything. As the same, has no one person who's know nothing. All content you're been creating should be at the same level of the challenges you're passing by in your career. And if you don't feel challenged, maybe this have to be your actual challenge, and you have to talk about it.&lt;br&gt;
A regular person work for thirty years or more. Over this years, a different types of skills can be demanded, and probably never two times at the same way. So, if you really feel and if you really want to share with the community something relevant, I'm a hundred per cent sure you have a thing to say. And if you share what you want to say, I totally believe who someone in someplace can be helped for this.&lt;br&gt;
And if even so you don't feel good enough to share technical stuffs, share your experiences, your fears, your way to solve this feeling. Soft skills are a skill too.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[PT-BR] Aprendendo ReactJS - Guia de Estudos</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Thu, 10 Dec 2020 11:20:46 +0000</pubDate>
      <link>https://dev.to/juligaioso/aprendendo-reactjs-guia-de-estudos-je</link>
      <guid>https://dev.to/juligaioso/aprendendo-reactjs-guia-de-estudos-je</guid>
      <description>&lt;p&gt;Este artigo tem como objetivo ser um pequeno guia para quem nunca estudou ReactJS. O objetivo é realmente um primeiro passo, uma visão geral sobre o framework. &lt;/p&gt;

&lt;h2&gt;
  
  
  Antes de tudo
&lt;/h2&gt;

&lt;p&gt;É interessante que, antes de começar com ReactJS, você tenha, pelo menos, conhecimentos básicos sobre HTML, CSS e VanillaJS (o Javascript puro). Também é interessante que conheça as features do ES6+ antes de começar. Por último, é legal que se tenha alguma familiaridade com o NPM (ou Yarn).&lt;/p&gt;

&lt;h2&gt;
  
  
  O começo
&lt;/h2&gt;

&lt;p&gt;Você precisa preparar seu ambiente React. Considerando que já tem o &lt;a href="https://github.com/nodejs/node"&gt;Node.JS&lt;/a&gt; configurado em sua máquina, pode começar com [create-react-app].(&lt;a href="https://github.com/facebook/create-react-app"&gt;https://github.com/facebook/create-react-app&lt;/a&gt;). Se preferir, pode usar um ambiente online para começar (eu criei um aqui no &lt;a href="https://codepen.io/julianatechs/pen/QWKKXMO"&gt;codepen&lt;/a&gt;, basta forkar e usar!).&lt;/p&gt;

&lt;p&gt;Com o ambiente criado, pode ser interessante dar uma lida na &lt;a href="https://pt-br.reactjs.org/docs/getting-started.html"&gt;documentação oficial do React&lt;/a&gt;. Também recomendo este &lt;a href="https://medium.com/rocketseat/um-guia-para-iniciantes-no-react-js-80e1ac357649"&gt;artigo do Thiago Reis&lt;/a&gt; e o &lt;a href="https://pt-br.reactjs.org/tutorial/tutorial.html"&gt;tutorial oficial feito pelo time do Facebook&lt;/a&gt;. Caso consuma conteúdo em inglês, também tem &lt;a href="https://egghead.io/courses/the-beginner-s-guide-to-react"&gt;este artigo escrito pelo Kent Dodds&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Até aqui já temos uma idéia bem consistente sobre os fundamentos do React, certo? Então está na hora de tentar criar alguns pequenos projetos em React.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sugestões de projetos até aqui:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Todo-list&lt;/li&gt;
&lt;li&gt;Pomodoro Timer&lt;/li&gt;
&lt;li&gt;Calculadora&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Já criamos um app simples, então talvez seja a hora de aprender a consumir uma API com React. &lt;a href="https://alefesouza.github.io/workshop-react/api/"&gt;Aqui tem um artigo excelente escrito pelo Alefe Souza&lt;/a&gt;. Tente fazer um pequeno projeto consumindo uma API pública. &lt;/p&gt;

&lt;h4&gt;
  
  
  Dicas de API públicas para estudo:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://api.nasa.gov/"&gt;Nasa Open API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.marvel.com/"&gt;Marvel API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://public-apis.io/harry-potter-api"&gt;Harry Potter API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://makeup-api.herokuapp.com/"&gt;MakeUp API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://public-apis.io/star-wars-api"&gt;Star Wars API&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Agora que já somos incríveis em apps single pages, está na hora de aprender a usar o &lt;strong&gt;React Router&lt;/strong&gt;. &lt;a href="https://medium.com/collabcode/roteamento-no-react-com-os-poderes-do-react-router-v4-fbc191b9937d"&gt;Aqui tenho este artigo incrível do Mario Souto&lt;/a&gt;. O &lt;a href="https://www.tipscode.com.br/react-router-versao-5-guia-completo/"&gt;tipscode também tem um material incrível sobre isso&lt;/a&gt;. O melhor material, infelizmente, está em inglês. Mas se for tranquilo para você, &lt;a href="https://reactrouter.com/web/example/basic"&gt;está aqui o link para o guia completo do React Training&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  E agora?
&lt;/h2&gt;

&lt;p&gt;Bem, agora é hora de treinar bastante o que já foi estudado até aqui. Vou deixar mais algumas dicas de projetos para serem desenvolvidos:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Um blog simples&lt;/li&gt;
&lt;li&gt;Um e-commerce&lt;/li&gt;
&lt;li&gt;Uma aplicação simples envolvendo um CRUD&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Em breve volto com a segunda parte, um pequeno guia para as features e livrarias do React.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>[EN-US] Creating a background-gradient with 3 lines of Pure-CSS</title>
      <dc:creator>Juliana Gaioso</dc:creator>
      <pubDate>Tue, 02 Jun 2020 21:49:39 +0000</pubDate>
      <link>https://dev.to/juligaioso/en-us-creating-a-background-gradient-with-3-lines-of-pure-css-5cl9</link>
      <guid>https://dev.to/juligaioso/en-us-creating-a-background-gradient-with-3-lines-of-pure-css-5cl9</guid>
      <description>&lt;p&gt;&lt;em&gt;para ler o artigo em português, [clique aqui]&lt;/em&gt;(&lt;a href="https://www.linkedin.com/pulse/criando-background-gradiente-com-3-linhas-de-pure-css-juliana-gaioso/?published=t" rel="noopener noreferrer"&gt;https://www.linkedin.com/pulse/criando-background-gradiente-com-3-linhas-de-pure-css-juliana-gaioso/?published=t&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;First, let's see the code, and then analyze it.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fs888e1magbxav66fhmkg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fs888e1magbxav66fhmkg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
The background-image property create a background element. Now, we have two problems: first, some browsers don't recognized the property linear-gradient. This is easily adjusted with the property background-color, that in this case show a solid color. Second: for definition, the gradient repeats until it occupies the entire screen if the area of ​​the element is larger than the area occupied by the content (in the gradient direction). Thats adjusted with the property background-repeat, this determines that the property is executed only once. In this case, the rest of the element area will display the color of the background-color, used in the second line, so it is important to use the same color in the background as the outermost region of the gradient.&lt;/p&gt;

&lt;p&gt;To see the code working, &lt;a href="https://codepen.io/unicorntech/pen/ExPYROv" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
