Table Of Links Mesa de la izquierda Abstracción 1 Introduction 1 Introducción 2 Background 2 Antecedentes 3 Privacy-Relevant Methods 3 Métodos relevantes para la privacidad 4 Identifying API Privacy-relevant Methods 4 Identificar los métodos de API relevantes para la privacidad 5 Labels for Personal Data Processing 5 Etiquetas para el tratamiento de datos personales 6 Process of Identifying Personal Data 6 Proceso de identificación de datos personales 7 Data-based Ranking of Privacy-relevant Methods 7 Clases basados en datos de métodos relevantes para la privacidad 8 Application to Privacy Code Review 8 Aplicación a la revisión del Código de Privacidad 9 Related Work 9 Trabajo relacionado Conclusion, Future Work, Acknowledgement And References Conclusión, trabajo futuro, reconocimiento y referencias Proceso de identificación de datos personales Antes de profundizar en el enfoque, es crucial diferenciar entre datos personales e información de identificación personal (PII). Si bien ambos son subconjuntos de información que se relacionan con un individuo, PII es una categoría de datos que identifica directamente a una persona. Ejemplos incluyen información de cuenta, datos de contacto, identificadores personales y ID nacionales. No todas las 10 categorías de datos personales que consideramos a continuación caen bajo PII. La exposición de PII es especialmente relevante ya que podría conducir a daños personales o psicológicos, como el robo de identidad. Nuestro objetivo principal es identificar el flujo de datos personales dentro de una base de código, centrándonos en sus implicaciones cruciales para la privacidad. Para lograr esto, utilizamos una técnica de ajuste de patrones inspirada en Tang et al. [?]. Esta técnica identifica de manera efectiva datos de 10 categorías, incluyendo Cuenta, Contacto, Identificación Personal, Ubicación y Identificación Nacional. Empleamos Semgrep, una herramienta adaptada para el ajuste de patrones en código, para facilitar este proceso. 6.1 Análisis estático para la identificación de datos personales La fase inicial de nuestro enfoque implica el uso de análisis estático para localizar fragmentos de código que contienen datos personales. Utilizamos Semgrep para esta tarea, dada su eficiencia y flexibilidad en el análisis de grandes bases de código. Contamos con el soporte de Semgrep para varios idiomas y sus capacidades para el análisis de flujo de datos local. 6.2 Defining Sources of Personal Data En el contexto de nuestro análisis, las fuentes se refieren a los casos en los que aparecen datos personales. Identificamos los datos personales de dos maneras: 1) como texto literal presente en el código fuente, y 2) como variables, basadas en sus identificadores de nombre.Nuestras reglas de identificación están diseñadas para soportar Java, JavaScript y TypeScript pero pueden extenderse a otros idiomas que admite Semgrep. 6.3 Rule Crafting for Identification Para identificar datos personales literales, utilizamos la combinación de expresiones regulares (regex). Esto entra en juego, por ejemplo, cuando se identifica el formato de los números de identificación nacional. Para fuentes variables, mantenemos una lista predeterminada de identificadores que corresponden a las 10 categorías de datos personales. Estos identificadores nos ayudan a formular las reglas de Semgrep. Para reducir los falsos positivos, imponemos condiciones específicas a estas reglas de regex. Por ejemplo, para capturar todos los nombres humanos en el código, utilizamos un patrón de regex que acomoda variaciones como los nombres primero, último y completo: (?i).(?:firstстаўgiven fagfulllast. Los autores: Feiyang Tang Bjarte M. Østvold Authors: Fue el Tang Bjarte M. Østvold Este artículo está disponible en archiv bajo la licencia CC BY-NC-SA 4.0. Este documento es bajo la licencia CC BY-NC-SA 4.0. Disponible en Archivo Disponible en Archivo